IRC channel logs

2020-06-13.log

back to list of logs

<janneke>rekado_: oh nice...and look, a working hurd-vm service, almost ready: http://issues.guix.gnu.org/41785
<janneke>we may want to wait for mothacehe's disk-catalog stuff, dunno
<civodul>janneke: yay, well done!
<rekado_>janneke: excellent!
<civodul>rekado_: the commit-log script looks nice!
<civodul>that reminds me of sexp-diff
<janneke>civodul: ty, yeah -- i wonder when we can start using xatrr though...it may take a while before it's in a mainline kernel
<civodul>i vaguely remember porting that from Racket
<civodul>janneke: yeah
<civodul>we'll have to think about the security implications, too
<civodul>GNU tar can extract tarballs that contain xattrs
<anadon> Can someone else try to get `(ice-9 readline` to work in guile via `guix environment --pure guile guile-readline -- guile`? I'm having issues getting readline to work in the repl as per the guile manual and I think this distills the problem.
<civodul>(not by default tho)
<anadon>pardon the parens
<janneke>rekado_: ty -- is there something else that needs to be done if we want to have a herd of hurd-vms hooked up to cuirass?
<janneke>i'm not sure how that would work
<civodul>i suppose you could then patch the build machine configs in maintenance.git
<civodul>we need to make sure these VMs have stable host keys though
<civodul>there are details like this to sort out probably
*janneke is feeling so excited :-)
<civodul>:-)
<rekado_>can we have more than one Childhurd per host?
<janneke>soon we'll be able to start debugging real mundane and terribly difficult hurd bugs
<rekado_>since a build node has way more memory than the Hurd can currently use I’d like to run more than one VM per node.
<janneke>i suppose so...i didn't think of that yet
<janneke>you'd have to override the sshd port and port forwarding, but that should work
<rekado_>I guess it would be fine to have one per build node first.
<rekado_>it’s amazing to see this dream come to reality so soon
<civodul>One Childhurd Per Laptop
<janneke>*lol*
<janneke>yeah, otoh it's also amazing that it took so long
<janneke>what i mean is, until now i didn't do real difficult/hard core stuff
<civodul>it had never been done before!
<janneke>most was already done, "just" bringing it together
<civodul>yeah, "just" that :-)
<civodul>the whole system + entirely cross-compiled
<civodul>no cheating
<janneke>and this lovely community we have here
<civodul>:-)
<janneke>yeah, some bugs here and there
<janneke>anyway comrades, time for me to
*janneke -> zZzzz
<vagrantc>a community of bugs! :)
<civodul>heheh
<anadon>Checked in on repology.org -- the number of problems is really dropping quickly :)
<ryanprior>What kind of problems, anadon?
<bdju>hello, why can I not use torify?
<ryanprior>I was about to create something like Repology until I found that existed. Seems like pretty neat software.
<bdju>it says no longer supported for security reasons, but a friend on another distro was just using it
<ryanprior>bdju: the Tor project has deprecated a lot of the once-suggested ways of using Tor, because they're tricky to configure properly and a lot of people were de-anonymized because of improper usage.
<ryanprior>so if you're a crypto badass and immune to making operational mistakes go ahead and use torify. if you're a mere mortal like me, use Tor Browser or Tails, which are the recommended ways to use Tor
<bdju>I wanted to use mpv to open an image in an onion url
<bdju>I saw someone use 'torify wget" so thought it may work with mpv
<ryanprior>if you're not actually concerned about anonymity and just want to browse onion URLs, that's another valid use case for torify
<rekado_>anadon: well, there are a lot of new ones, which are almost all invalid (the CPE problems)
<bdju>and I'm definitely a mere mortal, the only way I've gotten on to tor sites is via the tor browser button on icecat (which I'm told is not exactly secure, but I use it very rarely)
<bdju>okay, torsocks did what I wanted
<bdju>`torsocks mpv 'urlhere'`
<bdju>I'd like to get properly into tor someday, but for now it seems too complicated to get a proper setup going, so for now I'm probably not using it securely, but it is just to open stuff other people link occasionally
<bdju>(too complicated on guix system anyway)
<ryanprior>bdju: Tails is a really solid option. It doesn't require any installation, in fact it's not installable at all. You put it on a thumb drive and it boots a fresh copy of Tails every time you want to compute anonymously.
<anadon>ryanprior: CPE related it looks. I haven't dug in much yet.
<anadon>rekado_: Why are they invalid?
<bdju>yeah, tails seems sorta simple, just can't imagine a big use-case for that. I'm pretty comfy with all my keybinds and shell configs and whatnot. it's not often I want to boot up a blank slate
<bdju>if I could get tor browser on guix system I would probably use it sometimes
<rekado_>anadon: see the discussion here: http://logs.guix.gnu.org/guix/2020-06-11.log#165813
<anadon>Oh, just yesterday. I missed it.
***terpri_ is now known as terpri
<romulas>What is the License for the microkernel Fuchsia uses? https://en.wikipedia.org/wiki/Google_Fuchsia#Zircon
<mange>Looks like there are a few relevant licenses: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/zircon/LICENSE
<romulas>So SD, MIT, or Zlib
<romulas>So BSD, MIT, or Zlib
<romulas>Thanks.
<anadon>rekado: Sounds like a valid change request on our side. Not all too dissimilar to my thoughts on tracking package names from other distributions.
***dingenskirchen1 is now known as dingenskirchen
***apteryx_ is now known as apteryx
***dingenskirchen1 is now known as dingenskirchen
***reza[m] is now known as ramajd[m]
<leoprikler>Is there a way in GWL to assume some output has not changed even if the package did?
<bhartrihari>Hello, I'm getting the following error while trying to install a package from ci.guix.gnu.org : `guix substitute: error: connect: Connection refused`
<leoprikler>e.g. my build depends on "bash", but bash only had a minor release, which doesn't affect this tiny little script
<leoprikler>(similar to make -t)
<rekado>leoprikler: I don’t think so.
<rekado>anadon: I don’t think it would be a good idea for every package to have a cpe-name property when we already use the package name for that.
<rekado>anadon: that would be a reincarnation of the classic case of writing ugly code to appease the linter.
<janneke>hmm, anyone else seeing this: statement already finalized #<<sqlite-stmt> pointer: #<pointer 0x481918> live?: #f reset?: #t cached?: #f>
*janneke reverts the guile-sqlite update
<janneke>(locally!)
<janneke>yeah, that "fixes" it
<janneke>hmm
*janneke files bug
<wdkrnls>Is it possible to parameterize xorg-wrapper (in /gnu/services/xorg.scm) to use mesa-opencl instead of mesa or would this need a patch?
<raghavgururajan>Hello Guix!
<raghavgururajan>During bootstrap phase, I get "error: possibly undefined macro: AC_MSG_ERROR".
<raghavgururajan>What is that mean and how to fix it?
<NieDzejkob>raghavgururajan: is that in a `guix environment guix'?
<raghavgururajan>NieDzejkob: No! It was during building a package from git source.
<raghavgururajan>Here is the verbose log: https://paste.debian.net/1151889/
<roptat>hi guix!
<janneke>mothacehe: sent my mail a bit fast, maybe...
<janneke>it would be great if you pushed the target-in-image patch; i can update hurd-vm-service with your suggestion and push that (i have some minor changes since v3)
<mothacehe> ok let's proceed this way :)
<mothacehe>I'm having a look to the guile-sqlite3 issue
<mothacehe>But the related notabug repository is down
<mothacehe>I also had to revert to test the 'target' patch
<janneke>oh, thanks!
<mothacehe>pushed!
<janneke>great, thanks!
<janneke>disk-image and hurd are a beautiful explosive mixture
<mothacehe>hehe, totally agree :)
<mothacehe>I'm adding Hurd disk image to the CI
<janneke>thank you :)
<mothacehe>Fed up re-building the cross stuff :D
<janneke>yeah, primary reason i'm working to get the childhurd service up
<nergal[m]1>greetings. I am installing to a Lenovo Thinkpad T410. Medium initialization for installation errors with messages like "ima: Error Communicating to TPM chip" "RAMDISK: EOF while reading compressed data" "uncompression error" "Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)" How may I pass this hurdle?
<rekado>mothacehe: just FYI: I might turn off ci.guix.gnu.org today and move the disks to a new server.
<rekado>I’ll let you know in advance, of course
<rekado>just want to let you know now so that you don’t start anything big or something that can’t be resumed after reboot.
<rekado>sometimes I’m a real dummy
<rekado>I thought about installing the berlin config on the new node and synchronizing the two head nodes before turning one off and the other one on
<rekado>…but I could simply take out the disks from the current head node and plug them into the new one
<rekado>so if everything goes well today I’ll do that tonight.
<mothacehe>rekado: he no issue, I can test on my local Cuirass server :) But thanks for the heads-up!
<rekado>generating Python code: https://www.youtube.com/watch?v=fZSFNUT6iY8
<rekado>so… since there isn’t as much Scheme code on Github I guess we’re safe.
<janneke>my thoughts exactly
<janneke>i'm wondering what the implications for copyright law will be
<rekado>looks like we’re on track to see the BloodDrone operating system soon: https://xkcd.com/1508/ Meanwhile Hurd work is chucking along nicely, undisturbed.
<janneke>"look, executable ascii bits, you only have to find and check the important bits"
<janneke>rekado: hehe
<janneke>mothacehe: grmbl...something broke, can't start the hurd disk image
<janneke>=> start ext2fs: ext2fs: device:hd0s1: panic: get_hypermetadata: bad magic number 0 (should be 0xef53)
<reepca>gah. bug #41835 is what happens when I don't double-check stuff myself. Turns out directly converting that 'when' to an 'if' didn't quite work because it needs to actually be possible to call sqlite-finalize multiple times on a statement, and sqlite-reset checks to make sure the statement in question is live.
<mothacehe>janneke: oh :( With the image produced with "guix system" or the one of your service?
<janneke>with the service ... looking at guix system disk-image right now...
<mbakke>rekado: it looks like the 'node' package no longer contains the 'node' executable, which breaks icecat, ungoogled-chromium and some others
<janneke>s/at/into
<cbaines>Does anyone have thoughts about Cuirass and indexes? https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00117.html
<cbaines>I might push that patch today if no one objects, I'm excited to see if it makes the queue endpoint quicker
<janneke>mothacehe: system disk-image is fine
<janneke>phew!
<mothacehe>mmh, probably an issue with my recent patch then?
<janneke>i don't know -- could be anything :-)
<janneke>it looked "obviously correct"
<mothacehe>cbaines: you'll probably have to rebase on top of a recent patch of mine on Cuirass. Otherwise seems fine :)
<cbaines>mothacehe, great, I'll look at testing it again locally now, and then push if it works :)
<janneke>mothacehe: i'm puzzled -- reverted your image+target patch...still the same problem
<janneke>hmm, everything worked so nicely...what happened?
<rekado>mbakke: ah, terrible
<rekado>I only added “--shared”, which produced the library. Didn’t expect it to also remove the executable.
<rekado>I’ll try to fix this.
<mothacehe>janneke: maybe you can compare the two disk-images, as we did to debug the wip-hurd-vm vs wip-hurd-disk?
<mbakke>rekado: great, see also https://issues.guix.gnu.org/issue/41833
<rekado>mbakke: I’ll add a package libnode and revert the commit
<rekado>sorry about that!
<mbakke>rekado: right, looks like it's not possible to combine --shared with the regular node application: https://github.com/nodejs/node/blob/master/configure.py#L610
<mbakke>rekado: np, I did not pull it yet ;-)
<janneke>mothacehe: eh.../dev/loop0p1 contains a vfat file system labelled 'GNU-ESP'
<janneke>we built something EFI?
<mothacehe>janneke: no we shouldn't! let me see
<rekado>mbakke: pushed the revert
<rekado>haven’t tested the libnode package yet, but I thought I’d better not wait for a local build.
<janneke>mothacehe: i'm a prawn!
<janneke>in trying to bisect, i had (in hurd-vm-image) => (base-image (find-image "ext2" (%current-target-system)))
<janneke>well, we're not cross-building...so yeah => EFI
<mbakke>rekado: great :-) I'll go ahead and merge 'staging' shortly then
<mothacehe>janneke: ok! So using the snippet I sent should fix it right?
<janneke>mothacehe: i hope so -- i intended to only test it with your snippet and in fact already amended my commit with it...but possibly i goofed somewhere
*reepca wonders whether it was a coincidence or dannym actually read the issue for guile-sqlite3, wrote a fix, and pushed it within 10 minutes
<reepca>impressive response time, if so
<mothacehe>janneke: you can check if you have another "find-image" lurking somewhere
<janneke>reepca: a fix for guile-sqlite... -- where?
<reepca>in the upstream repository, tagged as v0.1.2
<janneke>mothacehe: hah, that would be silly -- git magic leaving a stale .go file or so
<janneke>the silliest bugs are often the hardest to find
<mroh>very often
<janneke>reepca: amazing, what's taking someone so long to create a package ;-)
*janneke ducks
<reepca>well... it's been out for 15 minutes, so I don't know about "so long"...
<janneke>reepca: ah...i reported the issue 3.5h ago
<reepca>ah, I was unclear, "the issue" I referred to above was https://notabug.org/guile-sqlite3/guile-sqlite3/issues/14
<reepca>which was basically just a diagnosis of what you reported
<janneke>reepca: right...even better -- this is truly amazing!
<reepca>looks like danny updated the package 3 minutes ago
<janneke>dannym: \o/
<dannym>janneke: Yeah :)
<sneek>dannym, you have 1 message!
<sneek>dannym, pkill9 says: I get the issue with `guix gc` failing to complete, and I've sent an email with debug information to the bug report for it that you replied to, but I don't know if I sent it right, this is the email:https://www.mail-archive.com/bug-guix@gnu.org/msg12304.html
<pkill9>wow that was ages ago
<dannym>pkill9: (I'm not on IRC that much--sorry about that)
<pkill9>no worries, i reinstalled guix to 'fix' that issue
<dannym>janneke: I've at least added a test to trigger the problem in guile-sqlite3, and fixed it a little. I hope it's better now, although I don't think it's the whole answer...
<janneke>dannym: great -- testing right now if it fixes my problem
<reepca>dannym: fwiw I think it should fix the problem entirely.
<dannym>reepca: Oh okay. I thought about inlining sqlite_reset C call without the liveness check into slqite-finalize. But if it's good like it is now, let's keep it like this.
<janneke>oh, crap samplet was here -- we could have had a quick chat about the blog post
<wdkrnls>Hello, Guix
<wdkrnls>I'd like to setup a static ip for my desktop.
<wdkrnls>I think this involves adding a line like the following to my operating-system definition: (static-networking-service "enp0s25" "192.168.1.120").
<wdkrnls>However, it's not clear to me whether I need to specify the gateway or name-servers. I really don't know what these are. I think gateway might be a synonym for the local ip address of my router, but again I really don't know.
<civodul>hi wdkrnls
<sneek>civodul, you have 2 messages!
<sneek>civodul, wingo says: i don't thing the conclusion about scm_call_n is right fwiw, or that it applies to anything beyond the case you are considering
<sneek>civodul, wingo says: important to avoid jumping to conclusions imo to avoid effort misfocussing
<civodul>wdkrnls: yes, gateway is the IP of your router
<civodul>the nameservers are likely to be hosted by your router as well
<wdkrnls>thanks, civodul. I'm using openWrt on my router. Looking at the status page I see a gateway listed, but no nameserver.
<wdkrnls>I will look and see if I can find a reference to it in their docs.
<civodul>ok
<wdkrnls>No luck finding anything about it from their docs, but I'm asking on #networking. On the Guix side, will this conflict with having a network-manager configuration?
<civodul>ah yes, it's one or the other
<wdkrnls>Thanks! That means (I think) I need to drop the network-manager-service from %desktop-services, then.
<wdkrnls>Does "nameserver" correspond to DNS?
<nckx>wdkrnls: ‘nameserver’ is the IP address of the DNS name server.
<nckx>Morning all.
<wdkrnls>thanks, nckx!
<wdkrnls>hmm... before I go off and try and replace network-manager on my desktop which is running GNOME, is there a way to configure network-manager to use a static ip?
<nckx>wdkrnls: Per ‘connection’, I think, yes.
<wdkrnls>(I also think the answer is yes from looking through the NM GUI, but not sure how that should propagate into my /etc/config.scm)
<nckx>It's something you can set in any NM GUI (nmtui etc.) but I haven't ever played with it.
<nckx>wdkrnls: It won't.
<nckx>It's 100% state managed by NM in /etc/NetworkManager, just like your saved connections/keys/&c.
<wdkrnls>That sounds good enough to me for now I suppose.
<nckx>Those /etc files are just text files, so eventually you can add a simple etc service to your configuration to make things more declarative, then later abstract that back into the network-manager service if you want. Lots of stepping stones t'wards the ideal while keeping your system working on the way.
<guix-vits>"cat: unrecognized option '--meow'" # if one ever said "meow" to some cat, you know how do they look at one who did.
<sneek>Welcome back guix-vits, you have 1 message!
<sneek>guix-vits, anadon says: What do you mean? (re: (W.A.) geiser in emacs?)
<wdkrnls>nckx: that sounds like a great idea to me :)
*guix-vits and those Network Manager configs are pretty readable.
<guix-vits>wdkrnls: idk, but if you're newbie: https://paste.opensuse.org/46731152
*guix-vits *like me
<wdkrnls>thanks for sharing :)
<wdkrnls>How does that relate to the install-file function I see used in a lot of guix packages?
*nckx returns, confused, reads backlog, still confused
<nckx>I don't think it does.
<nckx>install-file is a convenience function that does mkdir-p + copy-file to a directory, keeping the name.
<nckx>(install-file "foo" "/bar") = (mkdir-p "/bar") (copy-file "foo" "/bar/foo"), IIRC.
<guix-vits>wdkrnls: that about Network Manager, and /etc.
<cbaines>Maybe it's just me reading it incorrectly, but authorized-key? in the (guix pki) module looks like it just considers the first entry in the ACL: http://git.savannah.gnu.org/cgit/guix.git/tree/guix/pki.scm#n118
<wdkrnls>guix-vits shared some scheme code in that pastebin which looks like it takes a file and prints it into another file.
<wdkrnls>I thought maybe that was the same functionality as install-file - which I thought maybe I would want to use in writing the simple etc service.
<guix-vits>wdkrnls: no, it's just gives a variable with the file's contents.
<nckx>wdkrnls: guix-vits's my-cat loads a text file's contents into a string.
<guix-vits>^^^ better
<nckx>You can bind it to a variable but you don't have to.
<nckx>It's a minor point.
<guix-vits>those names for anons: https://paste.opensuse.org/lists :)
<nckx>The fact that some animal names are (deliberately? I guess?) mis-spelled and others are not bugs me more than it has any right to.
<wdkrnls>:)
<nckx>mbakke: I can't {in,repro}duce any armhf build failures on either Russian. A link and/or log would be dandy.
<nckx>Or even just a package name.
<mbakke>nckx: did you try from berlin? 100% of the builds I tried failed, but I don't remember which ones.
<nckx>No, how do I specify a machine on the command line?
<mbakke>nckx: not possible AFAIK, but you can increase its priority and/or comment out others
<nckx>mbakke: Every 141.* and their mother can build for armhf, but I'll raise the speed, good idea.
<mbakke>nckx: the x86 machines have the lowest priority, and will only be selected if no other machines are available
<nckx>Well, they were.
<mbakke>I guess Cuirass is rather busy.
<nckx>Good! 🙂
***familia_ is now known as familia
***terpri_ is now known as terpri
<janneke>hmm, where the hurd-vm service "just worked" after passing the initial hurdle, i haven't been able to get the cleaned-up patches to produce something working today yet
<janneke>it feels like sometimes we jump, then we crawl...weird
<janneke>i'm sure that with a little bit of patience and love it will work again, just crazy this
<mbakke>heheh "hurd-le"
<nckx>mbakke: 🤷… Dmitri's happily building vim via berlin. I had to comment out all other ARM machines *and* change SYSTEM to armhf-linux to even get a lock on dmitri, but still… It build fine. I'm closing this bug ~in my mind~ until further notice.
<nckx>*built
<mbakke>nckx: great, I'll let you know if I see the issue again
<nckx>Feel free to reopen with a specific log/error/package.
<nckx>OK!
<nckx>It might blow up as soon as I close my window, we'll see.
<janneke>mbakke: :-P
<janneke>*lol*, actually
*civodul is really happy the bug triage work Royce Strange has been doing
<cbaines>I'd missed that, but yeah, it's good to see :)
<cbaines>In other news, I merged the Cuirass change to make some things faster, including /api/queue
<cbaines>It's deployed on Bayfront, so this now often works https://bayfront.guix.gnu.org/api/queue?nr=1000 (rather than never)
<rekado>cbaines: let’s deploy it on ci.guix.gnu.org as well then!
<cbaines>Yeah, that'll make zimon happy I think :)
<cbaines>I have a reasonable idea of how to actually use SQLite now, as well as how to find out why queries perform poorly, so hopefully I'll be able to help with other performance issues when they arise
*mbakke merges staging \o/
<kkebreau>Is "make authenticate" working for anyone else?
<kkebreau>I get the following error:
<kkebreau>"Git error: cannot locate remote-tracking branch 'keyring'"
<NieDzejkob>I solved this by creating a keyring branch that tracks origin/keyring
<NieDzejkob>git checkout origin/keyring && git checkout -b keyring
<NieDzejkob>and then check back to master
<NieDzejkob>if you have many compiled .go files then you can use a separate git worktree so that they don't become stale
<kkebreau>I'm trying this now...
<kkebreau>NieDzejkob: it works! Thank you.
<Bryophyllum>z
<marusich>I understand what this make syntax means (it's a "substitution reference", see: (make) Substitution Refs): http://git.savannah.gnu.org/cgit/guix.git/tree/doc/local.mk?id=88f85494491a0cd4d4262c97860f01e99c2bc313#n46
<marusich>However, what is this syntax? "pdf-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.pdf)" http://git.savannah.gnu.org/cgit/guix.git/tree/doc/local.mk?id=88f85494491a0cd4d4262c97860f01e99c2bc313#n165
<marusich>It is similar, but unlike the substitution reference, it lacks a colon (":").
<mbakke>any haskellers around who knows how I can get this code to not reset PYTHONPATH completely, but instead append to the run-time PYTHONPATH? https://github.com/ganeti/ganeti/blob/master/src/Ganeti/Query/Exec.hs#L102
<marusich>For context, I'm trying to understand what the purpose of this rule is.
<mbakke>I tried a naive 'pythonPathEnv <- AC.pythondir ++ ":" ++ getEnv "PYTHONPATH"', but in addition to a type mismatch, it attempts to embed the compile-time PYTHONPATH...
<rekado>mbakke: instead of M.insert you probably want to use M.update
<rekado>M here is Data.Map
<rekado>or perhaps insertWith
<rekado>see https://hackage.haskell.org/package/containers-0.6.2.1/docs/Data-Map-Strict.html#v:insertWith
<mbakke>rekado: ooh, thanks. I'm trying another approach now, since I think the 'liftM getEnvironment' line means it does inherit the environment, so I'm instead removing 'M.insert PYTHONPATH' to prevent it from resetting it (PYTHONPATH is already correct at run-time due to wrapping)
<rekado>the liftM promotes the previous function to a monad, probably the IO monad of getEnvironment
<rekado>that whole parenthetical expression before the liftM is a function composition
<rekado>“f . g” is (compose f g)
<rekado>and the insert is from Data.Map; it replaces an existing key in a map (or otherwise inserts it)
<rekado>removing it should be fine; I assume that AC.versionedsharedir is a configured directory.
<mbakke>rekado: thanks, now I know who to bother with future haskell woes ;-)
<mbakke>the versionedsharedir variable is pretty funny, Ganeti does a roundabout symlink dance to allow multiple versions installed in parallel; I've already patched it to work like a normal package, so locally it uses 'AC.pythondir'
<mbakke>mainly because the symlink dance relies on /etc/ganeti/{lib,share}, which is just silly, and prevents the compress-documentation and validate-runpath phases from working
<mbakke>removing the PYTHONPATH override worked! I now have a shepherd-managed ganeti cluster on my laptop.
<mbakke>now I just need to package https://github.com/mbakke/ganeti-instance-guix to actually test the thing
<mbakke>I also need more computers to test things like live migration, hmm