IRC channel logs

2024-11-09.log

back to list of logs

<PuercoPop>Is the preference to send style changes in a separate commit or should I bundle it with the 'feature'. ej. I just sent a patch to update entr. As part of doing so I ran guix lint and guix style. Guix style reformarted things and guix lint suggested to use bash-minimal. Replacing the input should be a separate commit, but style changes?
<Kolev>Does everyone use the organization scheme used here? https://systemcrafters.net/craft-your-system-with-guix/how-to-organize-your-config/
<Kolev>Oops.
<PuercoPop>Kolev: I use a conf folder in my personal. And I've learned that I should use src to able to add the code and the tests to the load path separately. I haven't gotten around to figuring out how to write the test runner though
<ekaitz>PuercoPop: try to git log and search
<ekaitz>PuercoPop: look at ce320d27d8 for example
<ekaitz>PuercoPop: I think it's ok to separate i they are separate things
<PuercoPop>ekaitz: Thanks. I'll send them as follow ups then
<ekaitz>PuercoPop: qué paquete estás mejorando?
<PuercoPop>ekaitz: entr https://issues.guix.gnu.org/74271
<PuercoPop>Basically when I install a package I check if there is a new version and if there is I send a patch
<ekaitz>oh this is very good I didn't know it!
<ekaitz>i'll try to stay tuned and review the patches
<ekaitz>maybe tomorrow or so ping me and I'll try to review it
<ekaitz>if you don't i'll probably forget
<PuercoPop>ekaitz: Thanks, will do. Btw if you have some time there is an issue I would like some 👀 on. As it helps another guix user, not me (I sent a patch when I saw it in forgotten issues). https://issues.guix.gnu.org/73155#2
<ekaitz>that looks good to me
<ekaitz>but it's late and I already screwed up a couple of things today so i'll leave it for tomorrow
<ekaitz>ping me with both and i'll try to take a look
<ekaitz>you can find my email in the guix codebase
<ekaitz>PuercoPop: ping me with both (and a couple more if you like) and I'll try to help
<ekaitz>PuercoPop: gracias por enviar parches
<ekaitz>ACTION runs away
<KE0VVT>Why can't I put $(hostname) in a Makefile?
<PuercoPop>KE0VVT: What do you mean you can't? It does something different than bash's process substitution iirc but you can
<clarkf>yeah, it's different than bash. iirc you either need to use backticks or $(eval ...)
<KE0VVT>PuercoPop: https://dpaste.org/hfkkz
<clarkf>try $(eval hostname)
<clarkf>I think the more idomatic way would be "HOSTNAME ?= `hostname`" at the top then ${HOSTNAME} in the recipe
<KE0VVT>clarkf: Makefile:4: *** missing separator. Stop.
<clarkf>Yeah.... make is a bit arcane
<KE0VVT>clarkf: https://dpaste.org/15AEJ
<clarkf>ugh. if you remove the question mark it works. i can never remember make syntax, sorry
<clarkf>oh wait, no, it works with the question mark. are you sure you're using gnu make?
<clarkf>other makes have different eccentricities
<KE0VVT>clarkf: GNU Make 4.4.1
<clarkf>yeah, it seems like it works. it looks like you have a syntax error in bender.scm
<KE0VVT>clarkf: I can't get it to work. This is irritating me. https://dpaste.org/K9wht
<clarkf>You're missing a closing parenthesis in bender.scm
<clarkf>Presumably somewhere around line 82, but that could be wrong
<KE0VVT>clarkf: I'm lost in the (()).... https://paste.debian.net/1334969/
<jakef>since upgrading the libre kernel from 6.11.5 to 6.11.6, i can't login to a graphical session (GDM -> XFCE); it just sends me back to the display manager
<KE0VVT>clarkf: Got it to build.
<clarkf>It looks good to me, at first blush
<KE0VVT>clarkf: I kind of hate (()).
<clarkf>...emacs :D
<KE0VVT>Emacs helps, but not always.
<clarkf>`electric-pair-mode' gets me most of the way, personally
<Gooberpatrol66>what depends on u-boot-tools? it tries to build on one of my computers but not the others
<Gooberpatrol66>guix graph reverse-bag shows nothing that is installed
<clarkf>Gooberpatrol66: could be different HEADs on the two machines, and a missing substitute
<KE0VVT>How do I automount stuff as my user?
<clarkf>KE0VVT: what kind of stuff? Doesn't mounting typically require root?
<KE0VVT>clarkf: GNOME doesn't require root somehow.
<KE0VVT>And mount points are automatically created.
<KE0VVT>No manual `mkdir /mnt/foo; sudo mount /dev/sdc1 /mnt/foo` etc.
<KE0VVT>Also, when I do `sudo mount`, the `/mnt/` directory is owned by root, so I can't edit files there.
<clarkf>But you're mounting physical disks? NFS volumes?
<clarkf>As far as I'm aware, the only supported means of mounting anything automatically is the `file-systems' form in your config
<clarkf>A quick search suggests that Gnome uses gvfs under the gui: https://wiki.gnome.org/Projects/gvfs
<clarkf>And there is a gvfs package, as well as a service type
<robin>gnome does it via udisksd iirc, dunno if that's configurable at all
<robin>(with some kind of gvfs integration, i see both udisksd and gvfs-udisks2-volume-monitor processes running)
<KE0VVT>clarkf: robin - Maybe udiskie?
<clarkf>are we talking about removable media specifically?
<clarkf>udiskie seems like a good candidate
<KE0VVT>clarkf: Yes, removable media. Normally Sway desktops use udiskie.
<clarkf>Sounds like the right answer, then
<KE0VVT>Is there a way to restart all the services without rebooting?
<KE0VVT>Rebooting on my GNU Boot X200 is *slow*.
<KE0VVT>Is there a way to get a password prompt for my LUKS password, when it asks for it the second time?
<bdju>KE0VVT: I do this to mount flash drives so they're readable/writable as my user: sudo mount /dev/sdc1 /mnt/usb -o umask=0000
<lilyp>apteryx: didn't you have patches for gnome-team?
<krascovict> https://lists.debian.org/debian-security-announce/2024/msg00220.html
<krascovict>[SECURITY] [DSA 5806-1] libarchive security update
<krascovict>CVE-2024-20696
<krascovict>Windows libarchive Remote Code Execution Vulnerability
<apteryx>lilyp: yes; not sure where I was heading to, but I should check
<lilyp>I believe you had a fix for glib-with-documentation, which would be nice to push
<lilyp>some packages relying on gobject-introspection for glib also broke; we need to fix those to get webkit to build (which iirc is a dependency of nautilus through some weird edges)
<olafes>is anybody using bcachefs on rootfs with guix?
<h4>I try to use an AppImage and it's like always, quite the trip. It gives into the container : [pid 6] mount("ZenBrowser.AppImage", "/tmp/.mount_ZenBroKLgiIf", "fuse.ZenBrowser.AppImage", MS_RDONLY|MS_NOSUID|MS_NODEV, "fd=5,rootmode=40000,user_id=1000,group_id=1000") = -1 EPERM (Operation not permitted) [pid 7] mount("ZenBrowser.AppImage", ".", "fuse.ZenBrowser.AppImage", MS_RDONLY|MS_NOSUID|MS_NODEV, "fd
<h4>=6,rootmode=40000,user_id=1000,group_id=1000") = -1 EPERM (Operation not permitted) [pid 8] mount("/dev/fuse", ".", "fuse", MS_RDONLY|MS_NOSUID|MS_NODEV, "fd=6,rootmode=40000,user_id=1000,group_id=1000") = -1 EPERM (Operation not permitted)
<h4>I'm in the fuse group. Can't figure out why the mount don't work
<apteryx>I guess the fuse thing requires the ability to spawn a container?
<apteryx>I investigated this recently and saw it called to 'clone' in strace; I suppose to start a container
<apteryx>probably we can't spawn containers in the already containerized 'guix shell -C' ?
<h4>Can't really tell, like a firejail? The problem is for now that fusermount try to mount to different paths and it's denied all the way down
<h4>I have no failed "clone" calls at all in strace here
<apteryx>let me try again
<h4>But maybe the software you use or the flags you use implies a container creation? In my case no such failed call
<apteryx>this is what I had tried: guix shell -C --emulate-fhs zlib fuse@2 --expose=/etc/mtab --share=/tmp -- ./SpeedDreams-Experimental-20230930-r9158.AppImage
<h4>Maybe I haven't shared/exposed the paths that it tries to access to?
<h4>You seem to share /tmp here
<apteryx>I do
<apteryx>this was a cheap attempt at resolving the errors seen in strace
<apteryx>lilyp: I have a new nautilus on my branch so I must have solved those
<apteryx>I guess this is a good enough destination for a review (nautilus and required deps)
<apteryx>h4: hm, don't have that large appimage laying around anymore... can't test, sorry
<apteryx>if you find the solution, I'm curious to know!
<h4>I tried to share everything that strace complains about, it's the same result. That don't resolve Invalid argument as the problem seem to be the argument rather than access to the path. Don't resolve No such file or directory because it seems to not create what it seeks after, so there is nothing to pick here, even with said sharing, mounting still seems not permitted, can't figure out if it's paths or
<h4>the binary in itself. And many relative paths are used, I have difficulty as to know how to share those
<h4>A large AppImage, what do you mean? Lightweight AppImage don't cause problems? If you want one, you can try Zen Browser AppImage available on their website. That's the one I'm strugguling with right now
<h4>I seem to have a pretty "basic" problem as all AppImages would want to mount with Fuse to be used, and it doesn't work on my part
<h4>So it should be reproducible for all appimages
<h4>Would be so simple if someone were to adapt IceCat/LibreWolf package definition to Zen Browser so we could get rid of that AppImage
<Rutherther>h4: why are you using a container? - did you try setting LD_LIBRARY_PATH instead?
<h4>I use a container because the Guix article about AppImages ask to. When I don't use the container it say "fuse: failed to exec fusermount: Permission denied". Strace reveal that it ENOENT a lot of binaries into /usr/bin and the same EPERM with mount
<h4>It tries to find fusermount or mount in /usr/bin but don't find anything because there is only /usr/bin/env, and ends by default trying to execute /usr/bin itself as a placeholder for fusermount. That obviously don't work and lead to EACCES
<h4>How it's supposed to find mount and fusermount in Guix if it's in /run/setuid-programs/ rather than in /usr/bin?
<h4>Or even in /gnu/store/*-fuse-*/bin/ or /gnu/store/*-profile/bin/ /run/setuid-programs/, but definitely not in /usr/bin
<h4>Or maybe we could do something like `--expose=/run/setuid-programs/fusermount3=/usr/bin/fusermount3`. But on my part that doesn't work at all. Nothing appears over there
<Rutherther>h4: I don't think you can share file, I think you have to share a folder
<h4>But even if I share /run/setuid-programs, I need them to be into /usr/bin for fuse to find them
<h4>And I don't know how to overlay/mount/bind/whatever /run/setuid-programs into /usr/bin
<Rutherther>you can't
<dariqq>hi, is there something like rottlog that works for the log files of shepherd home-services?
<Rutherther>guix shell is just not meant for usage like that, it's very basic
<h4>So how to help fuse finding /usr/bin/fusermount3?
<Rutherther>h4: I don't know
<h4>More generally, how Guix manage software that seeks binaries into /usr/bin? Because Guix don't put anything over there
<Rutherther>h4: it doesn't. It compiles it in a way to not have any references to /usr/bin
<h4>I see. So why my `fuse` retreived from Guix servers seeks over there fusemount3?
<Rutherther>h4: is that fuse or the appimage?
<h4>Can't tell, I can only see from my terminal that fuse process seeks fusermount3 over there, but I don't know on which orders it does that
<h4>In the logic of things, fuse interacting with fusermount3 is fuse business. AppImage would only ask to be fused
<h4>I'm lost, are we sure that https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/linux.scm#n4047 has been defined right to not seek after /usr/bin?
<h4>" ;; This hack leads libfuse to search for 'fusermount' in ;; $PATH, where it may find a setuid-root binary, instead of ;; trying solely $out/sbin/fusermount and failing because ;; it's not setuid."
<civodul>h4: at least it was right at the time of writing :-)
<h4>I fail to totally understand the package definition. Where does he tried to seek fusermount3 back in time? Because now it ask it in /usr/bin
<civodul>i don’t know the details; maybe this hack worked in the past and now needs to be adjusted?
<h4>Who made it? I don't understand enough scheme to understand what has been done here
<civodul>it’s not about Scheme: it changes the -DFUSERMOUNT_DIR=… cpp flag
<h4>Okay then it's about knowing how the compilation happens and what it touched, but the author of that submission should know what is touched in the compilation code. To know what path it puts for Guix, because resulting binary seeks under /usr/bin for now
<h4>I think it should apply to that file https://github.com/libfuse/libfuse/blob/master/lib/meson.build
<h4>He implemented the workaround https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/linux.scm?id=bd6639026bc04c9461545d199253ca64e1cb3467 and he modified it https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/linux.scm?id=4f4477a77e699142ea30162fd96519579ec9e12b
<h4>civodul: ...c'est toi :(
<h4>And nckx tinkered it
<dariqq>i guess I found the solution the in the log-rotation service of the devel shepherd. It is working as expected and i love that shepherd already knows all of the logfiles
<clarkf>When working with the guix source, how does one 'populate' geiser's xref, or whatever? If I `M-x geiser' on a source file, then `M-.' on a symbol, it never works unless it's local
<clarkf>Do I need to eval something?
<ekaitz>PuercoPop: reviewed your issue
<ekaitz>PuercoPop: i mean #74271
<ekaitz>where is peanuts? :(
<civodul>dariqq: the solution to what?
<dariqq>civodul: solution to having log rotation for user logs
<civodul>ah yes
<civodul>i’ve also enabled it for Guix Home in my config
<dariqq>my only slight issue is #74082 , i.e. that logfiles are split beetween .local/state/log and .local/state/shepherd
<dariqq>and actually using the new and improved 'herd status' output makes me want to switch the pid1 shepherd as well
<ekaitz>any commiter that can commit: https://issues.guix.gnu.org/74271 ?
<ekaitz>the patches are not captured very well by the QA, but I just reviewed and looks good
<ekaitz>still the issue appears grey in the QA :(
<civodul>dariqq: yeah, not sure what’s up with state/log vs. state/shepherd
<civodul>i’m planning to publish 1.0.0rc1 BTW!
<civodul>to get more people to try it out so we can finally tag 1.0.0
<h4>If I understand right, fuse set the paths at compilation time, and seeks the binaries under bindir path, and bindir is actually defined in the compilation command as second argument https://github.com/libfuse/libfuse/blob/8a3746fe0efb7485bf521dff89dd7dfc735b6879/util/install_helper.sh#L10
<dariqq>Sounds great
<h4>Maybe it was too complicated to catch that, or it wasn't like that back then, so civodul rather has altered DFUSERMOUNT_DIR as a way to alter said path after the compilation command has been run
<civodul>h4: could you report your findings to bug-guix? (or a patch to guix-patches)
<civodul>IRC is volatile
<dariqq>civodul: in the issue above it was mentioned that state/log is what is used on rde for logs , but many home-services since then use shepherds %user-log-dir
<h4>But it's difficult to say as the GitHub mirror of libfuse is really messy before 2017. Maybe it was that file in 2014 https://github.com/libfuse/libfuse/commit/1c3ce3dc6a7e7b605a3c8620d6febcf1a8e8b27c
<h4>civodul: I could try!
<jakef>hi dariqq, i just saw your bug report about the kernel config; did you see that message with 6.11.6?
<civodul>h4: even a reproducer or a way to test it would be nice
<dariqq>jakef: yes, 6.11.6 (i think i forgot to mention that)
<jakef>i can't login to a graphical session after that kernel upgrade, so hoping this is related
<dariqq>(was looking through logs because the laptop randomly rebooted)
<PuercoPop>ekaitz: Thanks!
<ekaitz>civodul: you got mail :)
<ekaitz>civodul: it was time
<olafes>I am building guix from source, finally made it build in guix shell --container. How do I replace guix running on the host with guix that i've just built in container?
<olafes>Does make install do exactly that?
<raghavgururajan>jakef: Would you able to see whether you're facing same issue when you system reconfigure with `(kernel linux-libre-lts)` in your config?
<divya>Is emacs-next supposed to be the latest master? What version exactly is it following?
<ekaitz>divya: it's this commit: 9a1c76bf7ff49d886cc8e1a3f360d71e62544802
<divya>ekaitz: I meant, what is the package usually targetting? Does it target to be the latest master or one version ahead of stable?
<ekaitz>oh that idk, but maybe the package description should mention what it targets
<ekaitz>once we figure out we should add it to the description
<divya>Unforunately it doesn't have a description: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/emacs.scm#n594
<ekaitz>yeah...
<divya>I think there should be a package that builds from the latest master.
<divya>I thought emacs-next ws supposed to be that.
<divya>glj
<ekaitz>i think that should be, but i'm not sure
<ekaitz>that's why it's selecting a commit and not a tag
<ekaitz>we do the same with guile and so on
<divya>I'm not sure if anyone from emacs-team is here.
<divya>There's a proposal for `emacs-nextnext` to have emacs-next limited to 30 until it gets a stable release and emacs-nextnext for 31. https://issues.guix.gnu.org/73281
<ekaitz>nextnextnextnextnextnext
<ekaitz>:)
<divya>lol
<divya>Also, I packaged my first application for Guix :D
<divya> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74251
<divya>Anyone has an idea how long acceptance of the patch takes usually?
<ekaitz>divya: it depends on how easy you made the patch
<ekaitz>divya: i'll review it right now, will you stay around just in case?
<divya>It was mostly a 68 line patch adding a package.
<divya>And sure I'm hre.
<divya>here*
<ekaitz>okay divya you need to follow the commit message format
<ekaitz> https://guix.gnu.org/manual/devel/en/guix.html#Submitting-Patches <-- the Changelog format
<divya>ah
<divya>Okay, let me change it. Anything else? ekaitz
<ekaitz>yep, wait a second
<ekaitz>i'm rebuilding
<divya>Sure
<Ironsmith>heya guix! what's the best way to test a tweak in my local guix system with a change to the current profile's gnu/system/linux-initrd.scm for example?
<Ironsmith>tried to change it with `sudo chmod +w` and `sudo nano` but it's not letting me write changes
<divya>Hey ekaitz I might have to shut down my computer, would you mind sending your review in the mailing list itself or just mail it to me (divya@subvertising)?
<ekaitz>divya: yeah, don't worry I will
<divya>Many thanks.
<PuercoPop>What do we do when the CMakeLists.txt file is shelling out to download a 3rd party dep? afaict there is no argument to pass to specify where to get the dependency https://github.com/Mudlet/Mudlet/blob/ad3b26409c29c87adc3311f1e563c430f28a2db3/CMakeLists.txt#L175
<PuercoPop>I'm trying to package Mudlet, have a edbee-lib package working, but not I'm stuck in how to specify as a dependency. Should I work with upstream to provide a way to specify the path to the depency?
<Kolev>Something I'd like packaged is the GNOME app Shortwave.
<futurile>PuercoPop: you're going to have to pull the library out. You could mess with the CmakeList file; or work with upstream. I'd at least package it for yourself first to check if it's 'doable' and then revise your package from there
<l00py>how fast can someone new to guix get a server up and running?
<l00py>like a basic webserver with a firewall and admin over ssh
<ekaitz>l00py: https://karl.hallsby.com/running-your-website-using-guix-system.html
<ekaitz>maybe that helps
<l00py>ekaitz ya that's perfect tyvm. do you know if i can use guix to get a system up to a certain point, then install stuff and do whatever imperatively as admin?
<ekaitz>l00py: many things in guix are in the store, so you can't edit them directly
<l00py>what if i wanna run a server that isn't integrated into guix yet?
<l00py>like just some binary
<ekaitz>l00py: you can run those with the shepherd
<l00py>ok so as long as the code runs on 'linux' i can make it run on guix without knowing lots about guix or doing a bunch of work?
<l00py>not lazy i just know my limits
<ekaitz>l00py: guix is going to make you think a little bit, though
<ekaitz>you are going to learn a lot
<ekaitz>but if your config is not crazy you will be able to do it
<ekaitz>and in guix you have many people interested on system administration (because guix is really cool for that!)
<ekaitz>(i just happen not to be one of them :) )
<l00py>ya basically i need an OS that starts and a user account i can ssh into and sudo with, and make sure a daemon is running always
<l00py>and store logs from daemon i guess
<ekaitz>l00py: that's easy to do in guix, yeah
<l00py>oh and also configuring a firewall?
<l00py>like only allow in on this and that port
<ekaitz>i think so, i never did that
<l00py>do you know if guix uses netfilter under the hood for firewall or another?
<ekaitz>l00py: you can use iptables, nftables...
<ekaitz>l00py: https://guix.gnu.org/manual/devel/en/guix.html read networking services
<ekaitz>all those services are already integrated very well in guix, so you only need to describe some configuration in your operating-system declaration
<l00py>doesn't seem like a firewall is built in
<ekaitz>i don't like sysadmin stuff but you have iptables and nftables
<ekaitz>l00py: for iptables you just need to add a (service iptables-service-type ...) for your operating system configuration and it will just work
<ekaitz>what do you mean by built-in if it's not that?
<l00py>isn't that just a frontend for netfilter?
<ekaitz>i'm probably missing in the terminology here, what do you call a built-in firewall?
<l00py>dunno
<l00py>does guix have qemu support?
<l00py>so i can configure vms i want it to make
<rekado>you can build VMs with "guix system". If this doesn't answer the question, please elaborate what you mean by "qemu support".
<Rutherther>l00py: yes, guix has qemu packaged and services to run it
<l00py>amazing
<l00py>Rutherther what's best path to configuring firewall on guix server?
<Rutherther>l00py: I would think iptables or nftables service types
<ekaitz>l00py: you can also configure binfmt in guix very easily
<lfam>I'm bisecting the u-boot-tools test failure in guix.git