IRC channel logs

2023-05-24.log

back to list of logs

<rekado>related: https://lists.gnu.org/archive/html/guix-devel/2023-05/msg00256.html
<rekado>bleh
<rekado>so printer discovery is broken, and I can’t add a new printer manually because authentication is also broken
<tschilp>jpoiret: thanks for the hint at 'rm /sys/firmware/efi/efivars/dump-*'
<tschilp>I think some autocleaner would be a nice feature though. The last few hours were extremely frustrating, at least I know own another working disk ;)
<tschilp>(that I can put the data from the one with the broken bootloader onto)
<tschilp>Yeah, and at the first reboot I even got the infamous blue-screen-shocker!
<tschilp>And a Gnome logout when attaching my second screen :P
<anemofilia>guyx
<sneek>anemofilia, you have 1 message!
<sneek>anemofilia, jpoiret says: Could you try removing the directories in ~/.cache/guix/checkouts/?
<anemofilia>Oh, yes, I will try it now
<anemofilia>jpoiret: Thank you so much! It works now
<anemofilia>Which criteria do you guys use for decide which packages should be part of the system definition?
<apteryx>rekado: I made the service use cups-minimal to avoid the pam stuff a couple weeks ago
<apteryx>but someone reported it breaks something else (muradm) and proposed a PAM fix
<apteryx>I'm blissfully PAM ignorant, so if you have an itch to scratch, I'd appreciate you taking a look at their proposed fix!
<apteryx>I guess if it resolved things for muradm, I'll just push it without a full understanding if nobody else tips in
<Kolev>GNOME Software now has per-user software installation. Time to integrate it with Guix?
<apteryx>you've mentioned this last year also, I think, or was it someone else? :-)
<apteryx>in any case, that'd be very useful for new users
<apteryx>for any users expecting graphical tools actually
<apteryx>rekado: cups pam fix pushed
<dcunit3d>does git-send-email have an environment variable I can use to send patches?
<dcunit3d>like to store the app-specific token?
<dcunit3d>i just reconfigured to use elogind with greetd, but all my terminals except the sway terminal are owned by root, so when i go to use emacsclient from another VTY, i get a permission denied.
<iyzsong>dcunit3d: how the 'emacs --daemon' was start, i think it should be started within a wayland session (under sway)
<dcunit3d>iyzsong: i started it in a tty, but they are owned by root now. i figured out my issue by the way: i had hastily merged in some bash functions that were hyphenated into my profile and they were preventing the server from ever getting to .xsession
<dcunit3d>i still have to move a lot of stuff over before i'll have a window manager unless i switch back to Z11
<dcunit3d>so if i'm using GNU screen, then one of its sessions can run the emacs daemon, and others can run the client, but on other tty's i get "permission denied"
<dcunit3d>i will likely just use emacs tabbing functionality and screen on other tty's.
<iyzsong>okay, i rarely use root nowadays
<dcunit3d>I use it a bit too often, but i'm not quite sure how things like reconfiguring my system will be evaluated if i just use `sudo -E`
<iyzsong>heh, i'm not quite sure about that too, it seems will use ~/.config/guix (for checkout cache / channels) from the user instead of root..
<dcunit3d>when i'm using a local checkout how do i install the packages into my system?
<dcunit3d>i think i can run `guix package -L $path -i $pkg` and i've looked at at the `guix shell -e '(@@ ... )` and '(list (@ ...))' syntax, but these invocations where selecting a different version of poetry than was being used in the build
<dcunit3d>and i guess i would prefer to pull some of these packages into a manifest
<dcunit3d>i mean pull them into a profile using a manifest
<spacecadet[m]>is there a way to build a derivation of a channel besides running guix pull?
<dcunit3d>spacecadet[m]: what have you tried so far?
<spacecadet[m]>I tried looking and the docs for guix build, you can specify a file but it only takes files with package definitions. I also tried messing with guix pull -L and --commit but neither worked for what I wanted
<dcunit3d>in this section, it shows doing `guix pull --url=$localCheckout --profile=/tmp/fdsa` https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches
<dcunit3d>i kinda wonder if you can just run 'guix build` on the channel checkout. i'm looking at ./guix/scripts/pull.scm to see how it interfaces with channels
<spacecadet[m]>the issue with --url is the same as --commit, it expects the guix channel, but I'm working on my own
<dcunit3d>yeh i'm close to dealing with some similar issues.
<dcunit3d>the define-command for guix pull is somewhat flat.
<dcunit3d>i'm trying to figure out whether building as a derivation would cause other problems
<spacecadet[m]>yeah I'm not sure, there is the --dry-run flag which is half of what I want. I was able to brute force through the problem I was having with the repl though
<dcunit3d>it creates a build handler, then creates instances of each channel, then iterates over those to prepare objects to pass to the build handler (via its syntax, if i'm getting this right)
<spacecadet[m]>hmm. Also --dry-run isn't what I want, it's "do NOT build derivations"...
<dcunit3d>so i think there's probably some way to call build on a channel as a derivation, which would get messy if your channel makes lots of references to others. it would seem that doing things like this the wrong way may screw up your /gnu/store
<spacecadet[m]>I see. Thanks for looking into it, guess I'll keep hacking with the repl.
<dcunit3d>what are you doing on the repl? spacecadet[m]
<dcunit3d>are you building the channel that way?
<spacecadet[m]>just iterating over all my modules with some greps and ",use"-ing them
<spacecadet[m]>although I'm seeing some different behavior running pull vs using the repl
<dcunit3d>i'm not sure how the modules are loaded
<dcunit3d>does the code in the repl always get recompiled?
<dcunit3d>and how does that differ when there are *.go compile cache artifacts in the path?
<dcunit3d>like emacs (require 'fdsa) won't even try to reload the code
<spacecadet[m]>it notes when a source file is newer than a compiled .go in the cache, more than that I can't say but so far it's pointed all the bugs out for me
<dcunit3d>also geiser doesn't seem to have a variable for guile's site-ccache
<dcunit3d>the guile passed to `guix pull` probably has a different load path than what's in geiser. depending on how your modules refer to other symbols this could result in different behavior.
<dcunit3d>what kind of problems are you having with the channel?
<spacecadet[m]>some dependency issues, but mostly basic syntax and logic errors
<dcunit3d>in the repl or when running a guix pull?
<spacecadet[m]>both, but some only show up running guix pull.
<dcunit3d>spacecadet[m]: are you using macros or set!
<dcunit3d>i'm not sure i can help much, but i still need to learn more about all this bc i'm moving a bunch of code to a channel and it's a mess at the moment. i understand it from a high level, but then i probably don't know what i don't know
<spacecadet[m]>I'm not sure, the question is greek to me, I'm still very new to guile. I was able to resolve most of the errors and deferred dealing with the rest, so the pull finishes now, but it is something that would be nice to find a solution for in the future.
<dcunit3d>macros and set! and other functions will mutate state, which itself can cause problems. this may help with the language, but i still have a lot to learn https://spritely.institute/static/papers/scheme-primer.html
<dcunit3d>i'm worried about the channel workflow. I
<dcunit3d>I've done some things locally, but putting it in a git forge with signed commits makes me a bit nervous. i guess i could check out a local branch
<dcunit3d>i'm using guix to save time, ostensibly lol
<spacecadet[m]>ah I'm not using either, most of my code is just lists and lambdas. my workflow is pretty simple right now, I only have a local repo and my channels.scm points to it via "file:///..."
<Guest2601>hello, guix :)
<rekado>apteryx thank you, I confirm that at least printer discovery works again. (I haven’t tested adding a new printer.)
<ngz>Hello Guix!
<mirai>o/
<Guest28> https://guix.gnu.org/manual/en/html_node/Virtualization-Services.html log output has a default value of 3:stderr, how would I read that output or do I need to reconfigure it to output it as a file?
<Guest28>ah found it, it is var log messages
<ngz>hmmm. It seems I cannot use "git send-email"
<ngz>"(header-cmd) failed to close pipe to 'etc/teams.scm cc-members-header-cmd'"
<_graywolf>ngz: I'm unsure if it will help, but do you have git:send-email installed?
<ngz>_graywolf: Yes, I do. The error seems to stem from the "etc/teams.scm" script.
<hrn>I just popped in to ask if there is a problem with the build farm at the moment. The worker status page says that only one job is running on the entire farm.
<civodul>ACTION dives into Hurd rumpdisk patches
<bdju>I get all these messages that I'm using deprecated service names in my system config but I just get a backtrace if I change any of them and reapply... sigh
<bdju>bejamin's workaround for swaylock (which he cruelly broke) is not working. I added the custom swaylock-pam-service-type. hmmm very unfortunate
<bdju>I don't have any other (define-public... stuff in my config so it's hard to tell if it's in the wrong spot, I just put the whole block in my services area
<bdju>here's my error on reconfigure: config.scm:90:16: error: (define swaylock-pam-service-type (service-type (name (quote swaylock)) (extensions (list (service-extension pam-root-service-type (const (list (pam-service (name "swaylock") (auth (list (pam-entry (control "include") (module "greetd")))))))))) (description "Swaylock pam configuration") (default-value (quote ())))): definition in expression context,
<bdju>where definitions are not allowed,
<bdju> http://ix.io/4wA1 here is my config.scm in case anyone can tell me what's wrong, the new part is the swaylock-pam-service-type
<bdju>should it go outside my services block even though it's for a service..?
<bdju>guess I'll completely kill sway and leave my computer at a logged out TTY since I can't lock my screen anymore and I'll check back later (IRC is running on another machine at least) in hopes of someone able to help, but things are looking rather grim so my hopes aren't high. this *really* should've been treated more seriously and rolled back. there's not much worse to break than a screenlocker, imo...
<cbaines>the guidance on what to do when things go wrong does not include name calling bdju
<bdju>I'm not sure you're using the term name-calliny in the usual way, I literally used someone's name
<bdju>s/iny/ing/
<cbaines>maybe I'm using the wrong term, but it's the "cruelly" bit I took issue with
<bdju>ah, right
<bdju>well I'm at 2 ruined days at this point and frankly feeling absolutely horrible *because of the swaylock issue*, believe me when I say I'm already using much restraint here
<bdju>I've saved the most colorful language for other channels
<cbaines>right, but lashing out at other people isn't helpful
<bdju>sure, I'll keep your thoughts in mind.
<cbaines>continuing to have a mindset of you against others is the unhelpful bit, whether you express that or not
<bdju>of course
<bdju>we're all in this together here at #guix, and in the free software community
<cbaines>are you able to switch back to Guix before the swaylock pam change bdju?
<bdju>I tried a rollback + sway restart last night, for some reason it didn't work. very odd.
<bdju>someono suggested using timemachine but never said how to do it
<bdju>I checked my generations for a change in swaylock, rolled back to the one before that, restarted swsy, same issue. haven't been able to even get a temporary solution
<cbaines>I'd double check that the swaylock in use is indeed the one without pam support
<bdju>I did try a `sudo pkill swaylock` in case it was still running
<bdju>the older one (newer one?)
<cbaines>I think you also might be able to define a swaylock/without-pam package in your system configuration and use that
<bdju>at this point I've gone back to my latest generation and tried to switch to PAM instead of setuid but couldn't quite figure that out
<cbaines>removing pam support looks quite easy and should work, so I'd try that first
<bdju>I haven't been one to use custom packages and the like before, I usually stick to the things in the main guix channel. I find packaging to be very difficult
<cbaines>well this is I think what's needed for the custom package https://paste.debian.net/plain/1281027
<cbaines>actually, not quite, one moment
<cbaines>bdju, right, this should actually remove pam https://paste.debian.net/plain/1281030
<bdju>I had swaylock in my user profile, should I remove it from there then?
<cbaines>do you use it from your users profile?
<bdju>I think so
<bdju>it isn't also in my config.scm
<bdju>I have sway itself in my system profile but stings like swaylock and grim and other bits were in my user's manifest/profile
<bdju>s/stings/things/
<cbaines>from the system configuration you posted, swaylock was setuid, so it is used in your system configuration
<bdju>hm okay. you'd know better than me I suppose
<cbaines>I'd add the bit I shared in to your system config, restore the setuid-programs (changing swaylock to swaylock/no-pam) and reconfigure to that
<bdju>should I have swaylock in my system package list then or will adding your new section take care of that? and does the block you pasted go in with my packages or elsewhere? I had issues earlier trying to add a new service in the services section with a similar define-public line
<cbaines>put the swaylock/no-pam definition just above (operating-system
<cbaines>so near the top of the file
<cbaines>you can also add swaylock/no-pam in to the system packages list, that might help
<jpoiret>bdju: I know this is a bit late, but I just saw this: regarding the (define ...) error, you need to put the define at the top level, above operating-system
<jpoiret>then you can use the newly defined service type in your confi
<bdju>thanks for the info jpoiret, I'll keep that in mind if this other method doesn't work
<bdju>cbaines: after a reconfigure I'm getting : config.scm:27:9: error: package: unbound variable
<bdju>hint: Did you forget `(use-modules (guix packages))'?
<bdju>line 27 being the `(package` line from the thing you pasted that I've just added
<cbaines>bdju, the hint is useful, so add that import
<bdju>just at the top in use-modules?
<cbaines>yep
<bdju>guix system: error: swaylock/no-pam: unknown package
<cbaines>are you trying to use specification->package with swaylock/no-pam ?
<cbaines>because I doubt that'll work
<bdju>yes it appears I am
<cbaines>the packages field of the operating system record is just a list of packages, so you can just add swaylock/no-pam to that list
<bdju>I must confess I don't know guile, nor why I had previously used this approach to the package list, but it had worked well for a long time
<cbaines>append can take 2 or more arguments, so you can add (list swaylock/no-pam) as a new argument to append
<bdju>okay, I think I put it in right, it's doing stuff now
<bdju>the keybind still doesn't work and running the command in a terminal gives the error from before that swaylock is setuid but compiled with the PAM backend... hmmm
<bdju>I haven't restarted sway yet, do you think that's all I need to do?
<cbaines>first I'd check if you're running the variant of swaylock you've defined
<bdju>I again did a `sudo pkill swaylock` but I'm not sure otherwise how I'd tell
<cbaines>does the storepath to the binary look like /gnu/store/5yyldkai5ihcbzb52gnf3zqh7dfrmahs-swaylock-no-pam-1.7.2/bin/swaylock ?
<cbaines>containing swaylock-no-pam ?
<bdju>hm no
<bdju>swaylock: /run/setuid-programs/swaylock /gnu/store/4n9iwgfvfa8325rjwpqwyam1v9s0v5ai-profile/bin/swaylock
<cbaines>right, so maybe remove swaylock from your users profile
<bdju>I actually did that a few minutes ago, or so I thought
<bdju>with `guix remove swaylock`
<bdju>running it again says it's not in my profile
<cbaines>I don't know how sway or swaylock are meant to work, but maybe starting them fresh will help
<cbaines>which you might be able to do via logging out then back in
<bdju>ended my session and did `whereis swaylock` from the tty and the output looks the same
<jpoiret>it's probably in the system's profile, so it's likely all good. you can use `readlink -f $(command -v swaylock)` to get the actual full path
<jpoiret>it should show you the swaylock-no-pam one
<cbaines>yeah, I've never used the whereis command before, so that's a bit confusing
<cbaines>in bash at least, type -p will show you where a binary is
<bdju>that appears to give the same basic output as `which` and not the store path, also starting sway again it definitely still doesn't work
<bdju>type -p also only shows the first /run whatever bit
<cbaines>you can then use readlink -f as jpoiret suggested to follow the symbolic link
<bdju>I tried his command and didn't get anything different, or was I not supposed to write it exactly as-is?
<cbaines>nope: type -p swaylock
<cbaines>then readlink -f on whatever that gives you
<bdju>everything is giving the exact same output
<bdju>and not a store path
<bdju> http://ix.io/4wAy
<cbaines>right, this is probably because of how the setuid programs work
<jpoiret>have you rebooted?
<bdju>no, I'd really rather not if possible... I have 105 days uptime
<bdju>also an uncomfortably large % of my reboots with guix system result in not being able to fully boot again.
<jpoiret>you probably don't need to though, but it's always the first thing i try
<bdju>I had to stop auto-mounting my secondary luks drive because it stopped me being able to boot my root drive at all and no one here was able to figure it out
<bdju>who knows what horrors await me next time
<bdju>is there some shepherd thing I should restart? I had some really bad TTY issues a few weeks ago where I had to restart some services
<jpoiret>probably not. Do you still have the same problem with swaylock?
<jpoiret>if so, I'd suggest using Benjamin's workaround still
<bdju>my swaylock is indeed not working at all in the exact same way, yes. I thought we were trying to troubleshoot that still
<bdju>2023-05-24 06:07:37 - [source/pam.c:17] swaylock is setuid, but was compiled with the PAM backend. Run 'chmod a-s swaylock' to fix. Aborting.
<bdju>how about that setuid line? could that be reinstalling the vanilla swaylock or something?
<cbaines>bdju, you need to figure out why the swaylock with pam is being used
<bdju>yep
<cbaines>how are you interacting with swaylock?
<bdju>bindsym $mod+Shift+x exec swaylock -f -c 000000
<bdju>I have this keybind in sway
<bdju>but also to see the error I'm just running `swaylock` in a terminal
<bdju>so the keybind currently does nothing and I get the previously noted error when ran from a shell
<jpoiret>tbh, the easiest solution would be to remove the screenlocker-service-type, remove your swaylock variant, and then define the swaylock-service-type that benjamin mentioned and finally use it in your services by adding (service swaylock-service-type)
<bdju>I don't see a screenlocker-service-type anywhere in my system config file
<bdju>and I use %base-services rather than %desktop-services due to some issues with GDM
<cbaines>bdju, did you change the setuid-program bit in your system configuration to use swaylock/no-pam ?
<cbaines>and did the reconfigure complete successfully after you did that?
<bdju>no I did not change that line aside from uncommenting it again
<cbaines>bdju, right, so you're still trying to use swaylock with pam
<bdju>is the bit after file-append what I should change?
<cbaines>yep
<bdju>oh my goodness. it works. it really works
<bdju>thank you very very much cbaines
<bdju>you've restored my smile
<cbaines>I'm glad you've got it working
<rebbar>hello, anyone using guix shell and node?
<dcunit3d>when guix or guix home do compose on fairly simple services, do these result in derivation objects being created? or would a set a bash aliases just compose into a script using string concatenation?
<rebbar>anyone using guix shell and direnv? I'm wondering how to setup a guix shell container for node.
<cbaines>guix environment/shell and direnv are easy to integrate
<rebbar>I'm using the guix shell --search-paths approach. But this way node does not run in a container, right?
<cbaines>yep, direnv is just about setting up the shell environment variables
<rebbar>the other approach I'm trying is using guix shell node -CNP -- npx gulp for example
<rebbar>but this way emacs is unable to access the environment. I was wondering if there was a way to have the best of both approaches. Or how other people use node in guix shell in general.
<cbaines>I use emacs-direnv for that purpose
<rebbar>I do too, with the --search-paths approach, but an .npm  directory is created in my home dir using this approach.
<rebbar>maybe this is not so bad, I'm not familiar with guix enough, but isn't this the same as installing node globally?
<jpoiret>rebbar: no, node is only available inside those environments
<jpoiret>but if you don't like the .npm directory being created in your home dir, there's probably no way around this
<rebbar>this is great, are you using the same approach? the --search-paths option?
<apteryx>rekado: re printing, phew!
<efraim>the u-boot documentation for the visionfive2 says to make the system partition vfat
<mirai>I wonder if it's doable to combine guile-fibers with the SRFI-64 tests
<mirai>to reduce the time taken to run the tests
<civodul>mirai: are you talking about the Guix test suite?
<civodul>i recommend "make check SCM_LOG_DRIVER_FLAGS=--show-duration=yes", first
<civodul>some tests take a lot of time, and we should focus on improving those
<mirai>civodul: I'm thinking with guix in mind, yes, though it could go beyond it if “its generalisable”
<civodul>(or the things they test)
<civodul>the Automake test harness support parallel tests, which mostly address the issue
<civodul>so this would be useful for projects not using Automake
<mirai>running tests in parallel is nice, though not perfect
<mirai>occasionally I get some strange OOMs or there's the fact that some tests simply take too long
<mirai>and being sequential, all other tests (in other files) might have finished already while a certain file X might still have N tests left to do
<mirai>the cores will sit unused there
<efraim>what filesystems can I declare in an OS image? just ext2/3/4 vfat and fat32?
<apteryx>civodul: I was wondering; should we should tweak the default SCM_LOG_DRIVER_FLAGS so that the output is more human friendly by default?
<apteryx>the environment variable-based interface is not exactly discoverable
<apteryx>I must always refer to 'info guix RET i test' :-)
<mirai>I'm having a brainfart, what's the proper way to describe a procedure like this? <https://paste.centos.org/view/636fb976>
<ieure>mirai, Describe what the values returned are. I can't tell you what that is, though, because the docstring doesn't say.
<ieure>"Returns values: first-value, a <whatever that is>; second-value, a <whatever that is>"
<mirai>it can be a IP + Port pair or a path + #f (in case it happens to be a unix socket or an abstract socket)
<ieure>"For a network connection, returns values for the host and port. For a local connection, returns values for socket path and #f."
<ieure>I think those two return values are semantically different enough that multiple values isn't really the right way to do this.
<ieure>Seems like you're using #f as a placeholder in the socket case. I'd suggest either: returning multival host+port, or single-value path; or returning some kind of structure which encapsulates that data and declares whether it's a local or remote connection.
<ieure>These are micro-suggestions, I have no idea what your macro context is like or if those are reasonable suggestions within them.
<mirai>ieure: I've thought on using a record-type with 3 fields: type, host (which doubles as path) and port
<mirai>though idk if it's worth it
<mirai>won't returning different amounts of multivals break srfi-71?
<mirai>i.e. (let ((x y (values 1) ...) ...)
<patched[m]>I have a package which puts c++ code in include. How do I make this accessible for gcc? It is in ~/.guix-profile/include, but if I add that path to CPLUS_INCLUDE_PATH I instead get issues with gcc finding other libs. Besides, I have a suspicion this is not the "correct" way to do it...
<patched[m]>s/finding other/not finding other/
<ieure>mirai, I don't really know Scheme well enough to answer that, I'm more of a CL hacker.
<ieure>In CL, you can do: (multiple-value-bind (x y) (values 1) y)
<ieure>And y is NIL.
<mirai>ieure: going through srfi-71, it says “The number of values delivered by the expression must match the number of values expected by the binding specification.”
<mirai>though there's another form (let ((values x . y) …) …), where 'values' is a syntactic keyword
<bdju>the guix issue webui thing isn't loading for me
<bdju>possibly down
<civodul>apteryx: same for me, i must always check the manual :-)
<civodul>what would you like to enable by default? individual test names?
<apteryx>civodul: I typically use: export SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1
<apteryx>because I want to see any errors output
<apteryx>without having to dive into the log file each and every time
<apteryx>we could even add --show-duration=yes, why not
<patched[m]>I think I found the solution to my issue under 9.8 Search Paths in the manual.
<cbaines>shall I try turning mumi off and on again?
<mirai>what's this guile-netlink thing that keeps coming up every now and then
<cbaines>I did herd restart mumi, and it seems to be back
<apteryx>cbaines: thanks!
<PotentialUser-79>hey. so, whenever I update my packages with "guix upgrade" I can't pass the login screen of guix. I just loop there, unable to access my stuf. I was able to rollback, but now I'm trying to see how to debug this. Anyone an idea how I could approach this? I was thinking of updating like the first half of my packages, then if it's stuck it would mean
<PotentialUser-79>the problem lies with one of those, and do this ad nauseam to spot the problematic package. but I don't know how to do this, and I don't know if there is a simpler way
<apteryx>PotentialUser-79: perhaps pam related?
<PotentialUser-79>apteryx what is pam?
<ieure>PotentialUser-79, https://en.wikipedia.org/wiki/Libpam
<apteryx>PotentialUser-79: what is your login manager? try to find where it logs to and see if there are any errors, e.g. via SSH
<Guest2601>afternoon, guix :)
<mirai>apteryx: do you have a fancy syslog configuration in place?
<mirai>unrelated, any updates to the VNC XDMP situation?
<minima>hi, i'm experiencing an extremely frustrating heisen-issue on my system (guix on a foreign distro); at times my browser won't load specific pages but works fine with others; after a couple of minutes it works fine again, on all pages
<minima>when that happens, i seem to have normal connectivity (e.g. I can ping the external world just fine)
<minima>(i can also ping that particular server that i'm not able to connect to via the browser)
<PotentialUser-79>apteryx thanks for the link. Hm I don't know. My desktop environment is xfce, otherwise no idea what my login manager is, I guess it's the default for guix?
<minima>honestly i'm not sure this has anything to do with guix (guix on a foreign distro on this machine)
<minima>it's frustrating because it's so hard to debug
<apteryx>PotentialUser-79: default is GDM (gnome desktop manager)
<apteryx>minima: perhaps a DNS caching problem? perhaps installing the nscd service could help
<apteryx>mirai: sorry, I haven't had the time to look at the VNC service yet
<apteryx>I suspect they must have added a new switch or similar (was the tigervnc package updated?)
<minima>apteryx: it very much "feels" like a caching problem, yeah, let me have a look at ncsd - thanks!!
<minima>*nscd
<apteryx>recently I used it manually and I had to use -I-KNOW-THIS-IS-INSECURE or something when using -SecurityTypes None
<apteryx>mirai: do you know if the lightdm system tests exercising its VNC options are similarly broken? if they aren't it could also be a change to GDM
<apteryx>lightdm uses the same tigervnc package as our xvnc service for its VNC capabilities
<minima>apteryx: sorry, i'm looking at https://guix.gnu.org/manual/en/html_node/Application-Setup.html (section 2.6.2) but it's immediately clear to me whether nscd should be installed as a user or as root (i suppose via guix)
<minima>i'm being lazy - i can actually try :)
<mirai>apteryx: no idea, I haven't used lightdm for quite a while
<mirai>but I don't recall any tests for XDMP
<mirai>oh, I can see that there's a VNC test
<minima>hm... i see i have nscd installed at the foreign distro level already - i restarted the service
<minima>hope i'm interpreting this correctly
<ngz>Whenever I try to push something, I get "Failed to autoload channel-build-system in (guix build-system channel) / no code for module (git)"… and "failed to load 'gnu/services.scm'". Maybe a make clean-go is in order.
<PotentialUser-79>apteryx thanks. that's probably what I have then.
<PotentialUser-79>actually, is there a way to make sure of this? of what I have?
<cbaines>ngz, I think I remember discussing pushing problems with you before
<cbaines>ngz, if (use-modules (git)) doesn't work in Guile, then make clean-go isn't going to help
<apteryx>mirai: 'make check-system TESTS=lightdm' should cover it
<lispmacs[work]>what is the trick again for closing a bug over e-mail?
<ngz>cbaines: I have encountered a couple pushing problems during the last weeks, indeed.
<ngz>cbaines: BTW, (use-modules (git)) doesn't work in Guile shell.
<cbaines>ngz, sounds like you're missing some development dependencies. (use-modules (git)) should work in guix environment guix for example
<ngz>cbaines: guix shell -D guix ; guix repl then ,use (git) works.
<cbaines>cool, does that help with pushing?
<cbaines>I push from Emacs/magit but use emacs-direnv to bring the effects of guix environment guix in to Emacs
<ngz>Apparently not, because I didn't change anything in my setup since I reported the error.
<ngz>Hmm; I am under the impression may pre-push hook is not the same as it used to be.
<ngz>cbaines: Could you remind me the incantation I should use before "exec make authenticate check-system". It should be something like "exec guix shell -D guix", except it's not "exec"…
<ngz>err check-channel-news, not check-system
<ngz>cbaines: (BTW, maybe you should add your emacs-direnv configuration to "The Perfect Setup")
<cbaines>ngz, found it https://logs.guix.gnu.org/guix/2023-05-03.log#133257
<cbaines>it's eval
<ngz>cbaines: Ah! Thank you. Now I need to find why my pre-push file was overwritten since the third of May.
<ngz>It's disturbing…
<mirai>apteryx: other than the ¿expected? XFAIL: can connect to TCP port 5900 on IPv6, the test passes
<apteryx>ah, that's a good sign
<apteryx>so likely something changed in GDM then
<mirai>I think I know what's the cause of that error
<mirai>it's binding to IPv4 first before IPv6
<mirai>(you can do this but you need to toggle a special setting in the kernel that decouples binding to [::] from 0.0.0.0)
<mirai>which by default is not set (and I don't think we should)
<mirai> <https://github.com/canonical/lightdm/blob/3a74062d2c137b78fa45ac61e1ffe07237060ff5/src/vnc-server.c#L123>
<apteryx>oh. Should we just yank the test then?
<mirai>it should be fixed upstream
<mirai>they're binding in the incorrect order
<mirai>the symptom is that of an incorrect order, though idk if it's a matter of reordering the lines there or if this is some race condition
<mirai>the test is (mostly) correct, IPv6 should really work
<degauss>Hi! Not really a Guix question, rather an Emacs one: since my last update (Guix commit 14c03807), emojis having the "VARIATION SELECTOR-16" (e.g. 🗒️) show with a very, very wide (some 17 chars) cursor under X, while the non-emoji version (e.g. 🗒) has normal cursor width. Does this also happen to any of you, or is it some bad setup of mine? (You can copy/paste the example characters to test.)
<mirai>I say mostly because I see inet-pton used instead of getaddrinfo (pet peeve of mine)
<mirai>apteryx: the changelog for GDM is https://gitlab.gnome.org/GNOME/gdm/-/blob/main/NEWS
<mirai>I only see a very informative “XDMCP fixes” line for v41.3
<mirai>perhaps <https://gitlab.gnome.org/GNOME/gdm/-/issues/704> ?
<apteryx>we were already on 41.3 I think
<apteryx>so hm... maybe not GDM then
<mirai>see the linked issue
<apteryx>mirai: ah! upstream (lightdm) happily merged fixes before
<mirai>oh? what was the issue then?
<apteryx>I forgot the details, but VNC was not working
<mirai> https://github.com/canonical/lightdm/commit/75bf8fb062e3f409d6252449dae631440aa95b72 ?
<apteryx>it passed obsolete options
<apteryx>this: https://github.com/canonical/lightdm/commit/ba7f6efc5c802aa87520b526ab5bc72b81669311
<apteryx>and the 2 commits before that one
<mirai>xvnc has color-depth 24 by default so that's unlikely to be the issue
<mirai>I think this is <https://gitlab.gnome.org/GNOME/gdm/-/issues/704>
<mirai>we are using meson to build gdm
<mirai>though I don't understand enough of how the whole thing is pieced together to properly confirm it
<neshamon[m]>Hey guys I was trying to add some services to base services, but I seem to consistently get the error, more than one target service of type 'some service type'
<neshamon[m]>I've read it's because of service extensions or something, but I'm not extending any services in my config, which leaves me a little confused
<davidl>I had a thought regarding a feature I have been thinking about: some projects provide a guix.scm file which, if they want to, can make sure themselves are updated with correct dependencies and guix build recipe. If there were a transformation option like --use-upstream-builder or similar, that would be cool as it could provide a quick way to solve build problems. Plenty of projects already provide a systemd service for example, why not provide
<davidl>them similar options but for guix?
<davidl>This: guix build hello --with-git-url --
<davidl>This is what I want to be able to run: guix build hello --with-git-url=hello=<someurl> --use-upstream-builder=hello
<degauss>neshamon[m]: I saw that error mentioned in https://issues.guix.gnu.org/55391#3 recently, along with the solution for a particular service (SLiM) which required duplicating some configuration, then ensuring that you "modify-services" to delete the existing service which causes the conflict.
<neshamon[m]>Ah I see, thanks
<Guest28>is it possible to automount nfs shares?
<davidl>Guest28: there is probably a way to put it in /etc/fstab loading on boot
<bjc>you can do it with autofs or some pam rules, as well
<apteryx>mirai: i'd gladly use lightdm if there wasn't the bug to select the session type that makes it pretty much useless for my use case (testing various sessions via VNC)
<Guest28>alright thanks
<vagrantc>so if someone acks a patch 10 days old ... is it ok to just push?
<vagrantc>a patch submitted 10 days ago ?
<apteryx>acks as reviews?
<vagrantc>e.g. LGTM from someone else
<vagrantc>specifically https://issues.guix.gnu.org/63503
<apteryx>if you've rewiewed it looks good too (with extra confidence provided by the other person's LGTM), then yes, it should be fine
<vagrantc>i remember some guix-devel threads discussing changing the process to discourage pushing directly
<apteryx>you could add the Reviewed-by: tag
<apteryx>not a a responsibility disclaimer but as a thank you to the reviewer :-)
<vagrantc>but i don't know where that ended up getting documented
<vagrantc>i like Reviewed-by
<apteryx>that's under the contributing section
<vagrantc>"commit policy"
<vagrantc>found it now ...
<vagrantc>reading raw .texi trickier to skim it over :)
<vagrantc>qa is basically down for the moment?
<vagrantc>i'll have to refreh my checkout and make sure nothing catches fire :)
<apteryx>make sure to run any tests that may cover the change
<apteryx>it's easy to forget these
<vagrantc>it's just a patch update with one thing that needs to be rebuilt
<vagrantc>i should also probably push the patch for https://issues.guix.gnu.org/60540
<vagrantc>arg. why does git cherry-pick require a signature?
<ieure>vagrantc, Because it's creating a new commit.
<ieure>cherry-pick is just a fancy way of doing `git show commit-ref | git apply && git add files-in-the-diff && git commit -m original-commit-message`
<vagrantc>it never used to
<vagrantc>seems there was a thread about this on guix-devel
<vagrantc>that seems like a brutal default
<ieure>Perhaps you never had commit.gpgSign enabled.
<ieure>Why is it brutal?
<vagrantc> https://lists.gnu.org/archive/html/guix-devel/2023-05/msg00219.html
<vagrantc>because the vast majority of my workflow involves cherry-picking and rebasing on a machine that does not have a signing key
<vagrantc>i only sign something i am actually willing to push to the archive
<vagrantc>actually NOT signing prevents me from accidentally pushing unfinished changes
<vagrantc>and apparently it is impossible to override?
<vagrantc>it neither respects my ~/.gitconfig not .git/config
<anemofilia>Are you guys able to install the nomad browser?
<anemofilia>The build of the nomad derivation fails here
<ieure>vagrantc, What does `git config --get commit.gpgSign` show?
<ieure>vagrantc, Or you can `git cherry-pick --no-gpg-sign ...`
<vagrantc>git config --get commit.gpgSign
<vagrantc>false
<vagrantc>so, WTF
<ieure>That is weird, I agree. Maybe the commits you're picking were signed, so it's trying to maintain the sig? I don't really know.
<vagrantc>so the only workaround is to always pass --no-gpg-sign on every commandline invocation?
<vagrantc>nope.
<ieure>I guess so!
<vagrantc>this is very broken.
<vagrantc>git commit --ammend ... also requires passing --no-gpg-sign
<TylerWolf[m]>Hello, I am having an issue as a binary that needs libsgtk-3.so.0 and libgdk-3.so.0 these are listed as not found and I cannot find where they should be. I have patched other libraries needed but can only find those for gtk4 on my system, not gtk3. Does anyone know where I can find these libraries path so I can add it to LD_LIBRARY_PATH? Thanks!
<vagrantc>well, with agressive use of --no-gpg-sign ... i was able to very and eventually sign and push a change...
<vagrantc>huh. it seems to respect unsigned commits on other repositories ...
<vagrantc>so somehow it is aware that i am working with a guix git repository?
<TylerWolf[m]><TylerWolf[m]> "Hello, I am having an issue as a..." <- I have been able to solve this using guix-profile.
<TheSkylarverncc[>hey, is there a plan to add mesa-amber to guix? a recent update removed the i915 driver
<civodul>vagrantc: there's a rule in Makefile.am now that installs .git/config
<civodul>so perhaps that's where you get gpgSign=true from?
<vagrantc>i wonder if it ran into some bizarre issue with git workspaces?
<lambdanil>is this IRC bridged to a Matrix chat?
<vagrantc>civodul: there's no obvious gpgSign=true in any .git/config i can find
<civodul>weird, go figure
<vagrantc>something somewhere has decided that guix directories require signing, no matter what is in my git configuration
<vagrantc>which *seemed* what that thread was about
<vagrantc>so adding [commit] gpgsign=false ... to the relevent .git/config seems to work maybe
<vagrantc>ok, so i was able to override it with .git/config (just that it was in a worktree so it was actually in a different path)
<vagrantc>but for some reason ~/.gitconfig is ignoreD?
<bjc>apteryx reverted the config line that required signing a weekish ago. have you pulled recently?
<vagrantc>probably more recently than anyone else ... i pushed the last commit :)
<bjc>weird. i'm not having issues anymore, and the offending line was in etc/git/gitconfig
<bjc>it shouldn't be there anymore
<vagrantc>wow, so uh ...
<vagrantc>my working tree doesn't have it ... but another tree did?
<bjc>need a rebase, maybe?
<vagrantc>and ... it was finding that?
<bjc>ohh i see
<bjc>i don't think the worktree in git contains much
<vagrantc>e.g. i have ~/src/guix/ and ~/src/guix-workspace (which is a git worktree of ~/src/guix)
<vagrantc>but ... why is it looking in ~/src/guix when i'm operating from ~/src/guix-workspace?
<bjc>almost all the relevant files that are used are from the main tree's .git directory, and stuff in worktrees is ignored
<vagrantc>ACTION does more testing ...
<bjc>because ‘git config --local’ sets up the config in ~/src/guix/.git, and that's what's being used in all worktrees
<bjc>at least, that's my assumption based on how other stuff in worktrees works
<vagrantc>wow. yup.
<vagrantc>confirmed. that. was. bizarre.
<bjc>worktrees are weird. i find a lot of their behavior surprising
<vagrantc>but i wouldn't expect it to use configuration from ... some other directory
<vagrantc>in a file named etc/guix/gitconfig ...
<vagrantc>what tells it to use etc/guix/gitconfig?
<bjc>there's a make rule for it
<vagrantc>like, if i did the ./bootstrap && ./configure ... && make ... ?
<bjc>yep
<vagrantc>where does it configure this?
<bjc>Makefile.am:1126
<vagrantc>[include] path = ../etc/git/gitconfig
<bjc>i guess it's because a relative path is added, and in this case it's relative to .git/config
<vagrantc>wow.
<bjc>and .git/config is in the main tree, not the worktree
<bjc>wild
<mirai>vagrantc: git config --local commit.gpgSign false
<vagrantc>that would have edited the appropriate file?
<vagrantc>this was certainly some non-obvious behavior
<mirai>it overrides something directly within the .git directory
<vagrantc>there was no .git directory, as it was a worktree
<vagrantc>.git was a file
<vagrantc>but "git config --local" would figure that out...
<mirai>apteryx: is 63403 a duplicate of 63402?