IRC channel logs

2024-07-23.log

back to list of logs

<RavenJoad>It might be too long, I am not sure. I have never had to wait that long for the automated systems to reply to my emails.
<RavenJoad>How should a SystemD service that uses ExecStartPre be converted to a shepherd service? This is just a simple shell script to detect OS features, so nothing crazy.
<RavenJoad>I guest activation-service-type might be what I want.
<mirai>RavenJoad: only use activation if there's no dependencies on anything (e.g. filesystems, network, etc.)
<mirai>NetworkManager service does some "pre" tasks before starting the real thing
<RavenJoad>This script depends on /etc, /var, $PATH, and the ability to run processes, like awk.
<mirai>you can use that as a guiding example perhaps?
<RavenJoad>This is the script in question. https://github.com/xenserver/xe-guest-utilities/blob/master/mk/xe-linux-distribution
<mirai>safest would be to put it within the (start #~(…)) of the shepherd service imo
<RavenJoad>I agree, but I also need to run the actual daemon binary after that script.
<RavenJoad>I just wish the default system types were better documented. I cannot find them by index in the manual.
<adi-lb-phoenix>futurile correction : "Any idea on how to add extra parameter to cmake for i'm installing a package from guix installation script. Cmake build system is the one i'm using". Thanls for the input. Is the this valid https://paste.debian.net/1324015/ . Am I using the correct flags to give the path of python interpreter and python compiler?
<adi-lb-phoenix>futurile Thank you for the input!
<f1refly_>hello, is it possible yet to add a guix build slave that may or may not be available?
<f1refly>I'd like my laptop to use my computer for building when I'm at home but still be able to build when I'm not at home
<RavenJoad>f1refly: FWIW, I wanted to do the same, but was told it is tricky.
<mirai>RavenJoad: see NetworkManager service (start … ) section
<mirai>it does precisely this
<mirai>the nm-wait (?) is a small binary that is executed before the actual daemon
<weary-traveler>eikcaz: if, as i suspect, a human has to approve, a day doesn't seem too long and it could easily be a few days
<weary-traveler>*has to approve the first time
<weary-traveler>whether or not that's the case, i don't recall
<mirai>adi-lb-phoenix: see this example https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mpd.scm#n640
<adi-lb-phoenix>mirai interesting . any idea on why is there a "D" before every flag?
<mirai>that's how cmake variables get defined if I'm not mistaken
<adi-lb-phoenix>mirai got it. This is how I used it https://paste.debian.net/1324021/. I still get the error Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter)
<zeropoint>yumasi: did you get the most recent zig to build? I'd be interested in seeing the config if it's available...
<mirai>you're using a single string containing multiple -D flags
<mirai>does it make any difference if you separate them?
<mirai>also, that path looks odd. Is it really necessary to specify those variables? They should be automatically deduced when you add python to the package inputs
<mirai>anyways I have to run now, wish you luck in your endeavor o/
<adi-lb-phoenix>mirai haha! you too!
<eikcaz>weary-traveler: thanks, I'll wait another couple days then
<eikcaz>My patch is to add full Synaptics config serialization to fully configure Sy
<eikcaz>woops, didn't mean to press enter. Lets try that again
<eikcaz>My patch is to add full Syncthing config serialization to fully configure Syncthing from Guix
<dckc>`guix shell jupyter` is downloading all open source software ever written, I think
<dckc>texlive, samba, gdb
<dckc>qhull? wonder what that is
<bazarov>hi everyone! first time here
<x1t>after editing /etc/config.scm and adding (openssh-configuration (password-authentication? #f)) and then running > guix system reconfigure /etc/config.scm the sshd file is not updated
<x1t>even after reboot
<RavenJoad>mirai: Ahh. I see what you mean. That will work just fine too. Thanks for pointing that out!
<RavenJoad>x1t: Are you sure about that? Guix passes the configuration file to sshd from the store directly with the -f flag to sshd.
<x1t>yes
<x1t>RavenJoad: so what i did to solve this is i removed the ssh/openssh service from config.scm, then reconfigured and then added back.
<x1t>now its working
<RavenJoad>Strange that you needed that intermediate step, but good to hear!
<adi-lb-phoenix>How can I install the all the dependencies mentioned in https://paste.debian.net/1324031/ in a .scm installation script. I see examples such as https://paste.debian.net/1324033/ . But how do I mention the version of the package to be installed.
<RavenJoad>As far as I know, you cannot specify a version from Scheme unless it is a named <package>.
<adi-lb-phoenix>can I install in some other way like how conda does it "conda -f deps.yml" using guix. ?
<RavenJoad>You may be able to bring conda into your environment and then manually (or script with Bash) the conda setup stuff. I'm not a Python/conda person, so I don't know how well that would play with Guix. But that may be the answer here.
<adi-lb-phoenix>I dont want to bring conda . I shall go with (inputs`(("libssh2" ,libssh2)) in .scm file approach . Any idea on what is the difference between "libssh2" and libssh2 in (inputs`(("libssh2" ,libssh2)). Is the one to be installed "libssh2" ? seems like "libssh2" is to be installed and libssh2 to be some kind of a flag.
<RavenJoad>That is the old method of specifying packages. It allows for a package to be renamed inside the build environment. See here for what that is about: https://guix.gnu.org/en/blog/2021/the-big-change/. Short story, (inputs `("libssh2" ,libssh2)) and (inputs (list "libssh2")) should be equivalent.
<RavenJoad>If you are writing a package definition for inside a Guix package, you should use (inputs (list libssh2)) and import the relevant module though, FYI. Using (list "libssh2") requires you to call specification->package to lookup the actual package.
<bazarov>I'm trying to start an X server manually with sx rather than use a login manager. And it apparently works fine, but only when I'm logged in as root. As a user, it starts but I lose keyboard and mouse input. Any idea what I'm doing wrong? I have xorg-server-service-type declared in my system config, and the sx package declared there.  My user is in
<bazarov>the 'input' group and has the libinput display driver installed.
<RavenJoad>Perhaps the video group? I'm not sure.
<bazarov>I'm in users, netdev, audio, video, input and wheel...
<bazarov>huh. it works now. I ran "guix remove sx" (at some point I had installed it as a user). after a reboot it's working
<RavenJoad>That would do it. Try to avoid using "guix install <package-spec>" and "guix remove <package-spec>" if at all possible.
<bazarov>makes sense. so in the case of wanting to try out a package without necessarily adding it to a configuration, is guix shell the best way to go about it?
<RavenJoad>Yes.
<RavenJoad>guix shell has the added benefit of not cluttering your user's profile's generations too.
<bazarov>got it. thanks!
<civodul>Hello Guix!
<nikolar>Oi
<jonsger>salut civodul :) do you have a "tutorial" how to setup this GitLab "integration" with cuirass?
<civodul>jonsger: hi! in the Cuirass manual currently in ‘main’, there’s a “Interfacing Cuirass with a GitLab Server” section
<civodul>essentially, on the GitLab side, you need to add a webhook that talks to your Cuirass instance
<civodul>specifically /admin/gitlab/event
<civodul>typically you’ll want to set up nginx such that it lets that through if the right GitLab token is passed
<civodul>(that’s the tedious part)
<civodul>this part is documented here: https://gitlab.inria.fr/guix-hpc/guix-hpc/-/blob/master/doc/ci-setup.org?ref_type=heads
<jonsger>ah
<civodul>and the nginx thing: https://gitlab.inria.fr/guix-hpc/sysadmin/-/commit/7c1501119b4218a283244fa6d5818a1147e4b977
<civodul>i’m sure my colleague Romain would be happy to provide guidance if needed
<civodul>lemme know!
<jonsger>thanks, I'll have a look
<jonsger>civodul: I have also good news from the servers of my company. SATA SSD do work with its integrated HW RAID adapter. So buying SSDs would be comparable cheap :)
<nikolar>You should probably avoid hardware raid to be honest
<jonsger>If I'm allowed to use those servers is still not clear (it's the most difficult question to answer in this "project")
<civodul>jonsger: oh nice! let’s hope you can clear administrative hurdles :-)
<jonsger>nikolar: why?
<nikolar>Less flexible, less reliables
<nikolar>Harder to replace
<nikolar>Etc
<jonsger>probably, but not using them on those servers could be difficult. As we have to change cables et. al. in order to directly attach SSDs to the mainboard...
<nikolar>You can probably use the hardware raid cards in passthrough mode
<nikolar>So it's basically a sata card in that case or whatever you use
<nikolar>And the you can manage the raid I'm software
<jonsger>ah okay. HW raid could make Guix System installation easier, as then there is only a /dev/sda device or so
<nikolar>Sure, but having a more reliable setup is worth it compared to a harder one time setup
<nikolar>Also setting up raid is pretty simple in guix
<adi-lb-phoenix>@ravenjoad Thanks for the link.
<ennoausberlin>Hello. How can I include the cmake option when using pyproject or python build system. I want to turn off  this option when creating a torchaudio package definition. I could probably call substitute after the unpack phase but if there is a chance to configure it with flags for the build system I would prefer this.
<ennoausberlin> https://github.com/pytorch/audio/blob/main/CMakeLists.txt#L55
<dariqq>hi, trying to set up local mail for things like cron notifications. I keep getting errors when trying to send a test mail with 'mail'. Has anyone tried this before?
<ngz>Hello Guix!
<dariqq>At least i am not the only one with problems #59701
<dariqq>added exim as to suid programms and set up .mailrc to set sendmail to the suid exim. But still getting Permission denied when exim tries to write to the its logfile (even as euid 0, guid 0)
<sepeth>Hi Guix, there's a patch file I want to apply, and it applies fine with -p 0, but how can I say so in a package definition? I think it tries with 1 and it fails.
<dariqq>sepeth: there is a patch-flags field for an origin object
<sepeth>dariqq: yay that worked! thank you ^-^
<efraim>I think instrument is the right word? What Magic™ do I use to find out the syscalls(?) used when running a guix command so I can try to reduce RPCs or stat calls?
<graywolf>Is it acceptable to update package to a version that requires kernel newer than oldest packaged in guix? I have no idea what the project policy is here.
<civodul>efraim: i’d so “GUIX_PROFILING=rpc guix build whatever --no-grafts -d” for example
<civodul>graywolf: i guess there’s no policy; is it userland software?
<graywolf>Yeah. Podman 5.2 will require linux 5.2, but we still package (and therefore support?) 4.x.
<efraim>civodul: thanks. I'm still hacking away at the grafting code. I think guile-2.2 and guile-3.0 are just slower than guile-2.0, but I might be able to get some speed-ups from other bits to offset the slowdown
<civodul>graywolf: i’m curious why podman has this requirement, but regardless, i personally think it’s okay to upgrade, 5.2 is not so recent either (perhaps add a comment in the file about that requirement)
<graywolf>> Podman now requires the new kernel mount API, introducing a dependency on Linux Kernel v5.2 or higher.
<civodul>oh, i see
<civodul>the famous mount API…
<graywolf>kk, thanks, one the proper release is out (this is just rc2), I will send the patch, as usual.
<civodul>coolio
<civodul>BTW graywolf (totally unrelated), any thoughts on https://issues.guix.gnu.org/70826 ?
<civodul>it fell through the cracks
<jonsger>graywolf: the newest 4 kernels in Guix are higher then 5.2. I dought that there are many use case for the oldest 3 versions...
<jonsger>on a substitution server (well-known) I once did an analysis which kernels versions get downloaded. It's mostly latest + latest-lts...
<jonsger>graywolf: it's only one kernel below 5.2 :) got confused by the ordering of guix package -A :P
<graywolf>jonsger: :)
<dariqq>gave up on exim and am now trying to use opensmtpd with hopefully better luck
<graywolf>civodul: I wonder if the cleanest would not be to add `type' field to mapped-device-kind. Both luks-device-mapping and luks-device-mapping-with-options would return 'luks, raid-device-mapping 'raid and lvm-device-mapping 'lvm
<dariqq>argh: PID file '/var/run/smtpd.pid' did not show up. terminating
<graywolf>Is my understanding correct that the booting is broken only for people who use non-uuid in the luks-device-...?
<jonsger>graywolf: non 6.x kernels where this year only 0,5% of kernel downloads...
<graywolf>Yeah it sounds fine to upgrade :D
<RavenJoad>civodul: Have you had a chance to think about Guix not booting from the virtual disk in UEFI-booted Xen-hosted VMs at all?
<civodul>graywolf: not sure it has to do with UUIDs
<nikolar>Is there a guix install iso for arm
<civodul>RavenJoad: no, not at all
<civodul>i’m sure others can chime in though!
<graywolf>civodul: in that case I am not sure why I can boot just fine... :/
<graywolf>The mentioned commit is from May 21, I definitely reconfigured and rebooted few times since then.
<civodul>graywolf: weird; could you maybe join the thread and ask the original poster whether they’re using a UUID?
<graywolf>sure :) going afk right now, will do once I am back
<RavenJoad>No worries. It is not a blocker, because the BIOS option always works. I should go to the XCP-ng people to see if I can get logs from the machine while it is booting. That would help us narrow down the issue.
<nikolar>Also there are no aarch64 install instructions
<jonsger>nikolar: I think its a bit tricky to create an aarch64 installation iso which boots on all/many ARM devices. Yet there is a dedicated installation image for the Pinebook Pro: https://guix.gnu.org/de/download/latest/
<nikolar>Ah that's what I needed thanks :)
<nikolar>Ah this is a raw imagine
<nikolar>An install iso would've been preferable, oh well
<dckc>I'd like to install guix on machine J, but I'm not ready to wipe J's disk. I have another machine, B. I should be able to make a guix container on B, use it for a while, and then migrate it to a non-container on J in due course, yes?
<RavenJoad>dckc: Even better would be a virtual machine on B, but yes.
<dariqq>finally smtpd is running and i can send and receive local mail. First trying with exim but that didndt work , setting up /etc/mail.rc for mailutils and then trying to debug problems with my config for opensmtpd.
<dariqq>what a way to spend a day
<rekado>trying to deploy my aarch64 on core-updates. Fails early with: build of /gnu/store/sbaljviblcpybpwy3w2h7186fnzakbay-glibc-2.39.drv failed
<adi-lb-phoenix>Hi #guix . So I have dependencies for a repository to be installed and those dependencies are https://paste.debian.net/1324124/. How can i find which module they belong to so that I can include them here https://paste.debian.net/1324125/
<adi-lb-phoenix>RavenJoad I have been using the approach you suggested. 😀
<jonsger>dariqq: what was the problem exim? I failed in the past too with exim, but never tried smtpd...
<dariqq>jonsger: a lot of permission denied errors on exim directories. I also tried adding exim to setuid programs but that didnt help. Though seeing permission denied euid 0 ,egid 0 is kind of funny
<dariqq>i also found a guix bug report (maybe that was yours?) with essentially the same problem from a couple of years ago
<jonsger>dariqq: I reported it as https://issues.guix.gnu.org/36468 back then
<dariqq>yeah i had the same problem
<RavenJoad>adi-lb-phoenix: Easiest way to find them is a "guix search <package>" and look at the returned location file name. What are you trying to do here? Is this a manifest?
<dariqq>but openstmpd works like a charm now and has a way simpler config than exim
<adi-lb-phoenix>RavenJoad Trying to build a repository using guix and then create a channel https://paste.debian.net/1324127/
<dariqq>But i had to set up an /etc/mail.rc to set sendmail to the setuid sendmail such that mailutils work (seems to default to /usr/sbin/sendmail: https://issues.guix.gnu.org/59701)
<ieure>adi-lb-phoenix, What's your end goal? The things you're pasting don't match what you're saying.
<adi-lb-phoenix>ieure Currently I want to build unified runtime using guix installation from a file method and successfully run the program in my personal system.
<adi-lb-phoenix>this would be my first task.
<adi-lb-phoenix>RavenJoad "guix search <package>" did work 👏
<dariqq>is the pam extension mechanism documented anywhere? or do i need to deduce it from examples?
<dckc>RavenJoad, do tell... how would a VM be better?
<dckc>looks like `guix system vm` is what I want
<dariqq>nvm i think i figured it out. Thankfully wasnt too dificult :)
<futurile>Q: is there a way to see the guile load-path? I can't find a switch to guile or `guix repl`
<simendsjo>Any Clojure developers here? I'm trying to build a clojure project, but I get an error. First ClassNotFound for org.eclipse.jetty.util.Attributes, and after adding org.eclipse.jetty/jetty-util to deps.edn, UnsupportedClassVersionError (compiled with 61, we support 52). Any idea?
<dariqq>and it works, nice
<RavenJoad>dckc: Yep, that will work well. That will generate a VM script you can run out of a config.
<dckc>trying it... losing: config.scm:14:1[0m: [1;31merror: [0m(bootloader-configuration (bootloader grub-efi-bootloader) (targets (quote ("/boot/efi")))): invalid field specifier
<dckc>I'm running `guix system ...` from make inside emacs...
<dckc>something seems to be trying to make colors but just makes goop
<dckc>ok... I was missing (bootloader ...) around it
<ieure>simendsjo, UnsupportedClassVersionError means that the .class file was compiled with a newer JDK than the JRE you're running it under. Use a newer JVM or older version of that dep.
<freakingpenguin`>futurile: Evaluate %load-path or %load-compiled-path variables?
<dckc>cool... vm started.
<simendsjo>ieure: Thanks. I guess the problem is that I referenced clojure-build-system, which referenced icedtea 8, and .. is an old java version?
<ieure>simendsjo, I'm not sure; I haven't gotten deep into clojure-build-system, and haven't really understood the build-system code I have been using. I do know that the state of Clojure support in Guix is very bad at the moment.
<simendsjo>Hmm, I see. This might explain all errors I'm seeing. As I have zero experience with both Java and Clojure, it's a bit difficult for me to debug.
<civodul>cbaines: i have posted a working patch for ‘nss’ based on the idea i submitted earlier today in https://issues.guix.gnu.org/72239
<civodul>if that’s fine with you, maybe we can go for it
<civodul>(also: depending on the rebasing situation)