IRC channel logs
IRC channel logs
2023-05-28.log
back to list of logs
hi sorry, how do you restart shepherd on a foreign distro?
i don't know what step 2 is, but step 1 is ‘herd stop root’
step 2 is however you normally start it
oh ok, thanks bjc
oh... apparently that's handled automatically by guix home? i think? anyway, a guix home reconfigure seems to have fixed my problem
minima: i didn't know you could run shepherd on a foreign distro. how are you doing that?
you can run shepherd as regular user
if you mean as init, though, that'd probably be trickier
hi, I'm looking at migrating my guix SD over to cgroups v2, from what I can tell, I'll need to modify %control-groups so all of the tmpfs cgroups v1 mount points are replaced with a single cgroup v2 mount at /sys/fs/cgroups (except for elogind which I think can remain at the current mount point).
What would be the best way of modifying the control groups definition ? Pretty new to guile, etc
does making a team imply commit access or having a savannah account?
strictly speaking, probably not.
there's quite a few packages I'm interested in tweaking but coincidentally happen to have no team at all
so idk what to do about them (other than start prefixing them as mirai-orphanage)
are they not well maintained? are they logically grouped together?
you don't need to have a team for a package either
e.g. anyone can submit patches to update, fix, modify, etc. packages ...
some are outdated, some could be refactored. logically independent
if you're not careful and you submit lots of good fixes you might be recommended to get commit access :)
some of the packages will cause 1000-3000+ rebuilds though
what to do with big rebuilds is currently in flux, with the attempt to deprecate the staging and core-updates branches...
but historically, that would have gone to staging (or maybe core updates if it was really large)
i think the documentation still suggests that ...
these might be good questions to pose on the guix-devel@gnu.org mailing list
I have a trivial patch for avahi (that simply stops shipping some obsolete/irrelevant docs) that's been sitting on my local checkout for months
and I was just taking a look at getting flac bumped up
until I noticed the torrent of rebuilds it would bring
you can also submit patches and include in the submission a mention of the number of expected rebuilds ... i usually do that if it is above the old thresholds
(there's already a few CVEs on our flac)
if it is security issues, it might be possible to fix with grafts and whatnot
i am not too familiar with those, but have a rough idea of what they are :)
mirai: many of the folks aren't likely to be on irc at this hour, which is why i suggest taking it to the mailing list
right, makes sense
you also get the broadest pool of expertise :)
I've been affixing some “core-updates warning” for some of the more complete patch-series (like #63081)
though I don't know how “visible” they are
is there a good way to modify the file-system list _after_ things like elogind have brought in it's own? I want to replace the %control-groups with a cgroup2 version I made
mirai: those warnings are a little anachronistic with the teams workflow
okay, so I got rootless podman working by creating a new elogind service type that throws away the old %control-groups mounts in preference for the unified mount
(https://github.com/alam0rt/guix-config/blob/main/system/config.scm#L12-L91),
my question to the channel is, how can I modify the existing service type (monkey patching?) without feeling like i've committed a war crime? the code is heinous... but
works
hey guix
o/
o/
\o
janneke: I looked at the hurd thread the other day, you got netdde working?
jpoiret: yes!
incredible!
janneke just sent mail about /dev/urandom sillyness btw
then we should get rid of the in-kernel drivers then
i have been quite busy these past few days but i'll have a look at all of this today or tomorrow i hope
yes, we must even, otherwise it doesn't run
need to catch up on my mails first :(
hehe, fwiw: i've been using your patchset with much success, except for maybe this /dev/urandom thingy
i've booted Guix/Hurd on my x60, with networking, but a second boot currently still hangs
janneke thinks they're almost there, though ...
the urandom thingy is totally unnecessary, i was just copying debian's translators
well, at least I think it is
that's what i thought when i looked at your patch ;)
janneke: i'll just remove that first patch when pushing tbh, doesn't bring anything significant to the table
i'll also try to update everything to latest
i'm wondering if it's a good idea to pin all the header packages so that updating hurd/gnumach doen't cause a world rebuild
depends on whether the header changes are backwards-compatible most of the time or not
yeah, most of the time they aren't
maybe just keep your versions where they are right now, (except maybe mig)
jpoiret: there's all kinds of potentially destabilizing 64bit work going on
we can update to the new tags though
ah sure
if that's not too much work for you
maybe if you update in a month (or two?), we have 64bit
yeah, that's mostly what I'm worried about with the headers, I can't see the 64-bit work not creating some problems down the line
still have to fix the native compilation (how long have i been saying this)
jpoiret: i do have a fix for that, but untested:
jpoiret:
(eh, for the first problem i found, that is)
gcc-boot0 is used in other places though (and doesn't the above comment mention that the bootstrap guix can't possibly do it either?)
bootstrap guile*
i'll try this out, the comment made me rty other things
ah, right
great
Welcome back civodul!
janneke: it seems from a cursory reading of bug-hurd that 64bit userland is working as well
jpoiret: yeah, samuel is starting to create binaries
i thought they don't reach login yet?
we need to time our next blog post on the hurd carefully ;)
janneke is hoping jpoiret would take the lead in this
yes, I'm thinking we can wait for 64-bit Hurd for that?
that's a big announcement, and it would be great if we get it at the same time as debian
that would be amazing
do you have your netdde changes anywhere?
talkin' serious business here!
first time using the etc/teams script, not as scary as I thought it would be
not sent yet, but at
janneke was "waiting" for jpoiret's and janneke's patch sets to land first
ah, I was thinking of doing all of them at the same time
but I guess we don't really *need* netdde
no, all patch sets have merit on their own
in fact, i'd like to keep patch sets as small possible
(or maybe: rather smaller, than larger)
if we need time to get a patch set to work, such as native compilation, or 64bit support (second boot support?) we could always re-start a wip-hurd at savannah
so for 64bit we'd need HEAD for everything (glibc included). Should we try to go for itL
i would really like to get all my current patches in, including support for native builds and a second-boot fix
since we'd basically need to wait for a new glibc release, it would be a while before we do get it
oh no sure, I was talking about after that
but after that, hell yeah!
wdym by second-boot fix?
upon boot, boot-hurd-system just assumes / is pristine, no /servers, no /dev and creates those
I think we should be doing this yes, and not try to use xattrs and persistance
booting again on a filesystem that boot-hurd-system has visited (a second boot), it hangs
it seems more in line with the Guix way
janneke has been prying into this for the past two days
(unless you mean it just chokes on the dir /servers existing)
(yeah, there's also that inconsistancy between creating a qemu image and doing system install, wrt /servers and /dev)
inconsistency where?
i've tried many things, removing /servers and /dev, removing parts of them, checking for them and doing nothing,
i guess you're the first to try a guix install on bare metal right?
quite possibly, but you never know
do you have any error messages, or know what's going wrong exactly?
guix system init does not run make-hurd-device-nodes
jpoiret: not really, booting just hangs if
* /hurd exists
or /dev/urandom exists, and you do (file-exists? "/dev/null)
but do we need them persistently is the question
huh? that's funny behavior
we do not need them persistently
then I guess we can just `rm /servers /hurd` on each boot, right
i'm removing /hurd now:
for my x60, i have a script that cleans the /hurd mount from gnu/linux, removing /hurd, /dev, and /servers, and does an initial /servers setup
that works nicely
i didn't find the courage yet to write a delete-file-recursively C and add that to startup.c, but possibly that's the smart move right now
*in C
ah, do you mean we need to do that before the hand off to the Guile startup?
yes!
e.g., see
i'm wondering if we should just start all translators actively
the startup process already creates stuff in /dev
so that they don't have any persistence
if we try to remove them from guile, it gets pretty tricksy
wait, that's a possibility?
janneke is such a Hurd noob...
yes, you can just ask Hurd to start a translator without using xattrs
well at least i think so
oh yes, by all means, let's not embed translators in the file system, civodul ?
embedding doesn't work so well i guess with the declarative model
i guess your patch should also be fine though
yeah, once i get it to work!
janneke goes to look into glibc's ftw/ntfw
although you mention that startup creates some stuff in /dev that we shouldn't delete in Guile, maybe we can identify all of them and keep only those?
yeah maybe, but i tried that; writing a delete-file-recursively* with a #:keep? option
but i gave up on that for now
i have finally identified --- wait for it -- /dev/urandom to be the last problem i cannot get around
removing it makes nothing hang, but we get
Fatal glibc error: cannot get entropy for arc4random
yeah, glibc needs random/urandom for its startup
re-adding it, either in boot-hurd-system or in runsystem, either as a symlink or translator, makes (file-exists? "/dev/null") (any 'stat'?) hang again
when does the glibc error happen/
when running ssh-keygen
but that doesn't happen on first boot, right?
the hang on /dev/null
no, first boot is fine
I don't really know how translators are handled in Hurd, ie. if (file-exists? "/dev/null") would start the translator
so that's why doing rm -rf /dev in startup.c seems so attractive...
can you try to use kdb and see if there's a task for /dev/null?
janneke: yes, i think passive translators are sort of the antithesis of declarative config management
janneke: right, but then it wouldn't be compatible with Debian's Hurd
I'm going to look into starting the essential translators actively
sounds good
great!
if they're essential, they should just be started instantly, otherwise we can defer them to shepherd later
plus, they're a security issue: passive translator settings are just a string, without context as to how to interpret that string
i'll keep the kdb in mind, working on a rm -rf /dev right now
janneke: do you know if startup sets up those translators passively as well?
just like we have make-inetd-constructor, we could have make-translator-constructor :-)
jpoiret: dunno
i'll look at that
now I'm updating everything to the latest tags
since you were talking about that in the patchset janneke
Hi, does anyone know if GNU Guix (the distro) packages and allows installing a non-libre linux kernel?
civodul: wdyt of having everything on HEAD (glibc/hurd included) to try out 64bit later on?
Debian has it working, with userspace packages as well. My untangling of our build process oddities (setting i586-pc-gnu everywhere manually) should help us try it out without too much effort now
jpoiret: sure, i wouldn't want to block anyone's enthusiasm! :-)
it's truly exciting
while doing it, we should invite fellow Hurd folks to tag/release things and help document the set of versions that work together
+1
one thing that's a bit worrying though is that we'd need to update the tarballs again
that quite a lot of work (and an additional one for glibc/hurd)
aninternettroll: no, the GNU Guix distro itself only has linux-libre packaged. Other channels are free to add whatever software they want though
jpoiret: like i said, i'm fine with only updating mach for now and do another update fo 64bit
*only updating mig
jpoiret: Thanks!
oh, right
(mig is one commit behind a tag)
right! and seems that updating mach to the latest tag already requires glibc head, so I won't bother with that for now
ah, right
jonsger lost track what Guix + Hurd do now. There is just to much going on nowadays, which is nice :)
well, it do boot for now, which is already pretty nice
basically Hurd was broken by core-updates, and that was fixed recently, now we're trying to catch up to debian
and already 64bit or still 32bit?
32bit, and only in a vm
so, essentially the childhurd service was resurrected, but with pretty up-to-date sources
jonsger: lots of stuff to come real soon now, tho
the 64bit work is going on over at bug-hurd, you can follow it almost in real time these days:
crazy, that thing gained traction :)
***
breavyn_ is now known as breavyn
jonsger: still need some cleanup and tweaking, but my crude rm_r ("/dev") works
janneke has the first successful second-boot after ~2 days of straight hacking
(the active translator setup might be preferrable but it's always nice to have working code we can improve on)
oops, /me meant to mention jpoiret, of course ;)
nice!
i guess the best would be to have native compilation working so that we can just iterate on the system instead of creating new images each time
yeah
i'm also thinking that with qcow2 since you can layer images we might be able to lower the barrier
guix xbuild is so damn slow, i wonder if it's the same for other archs
maybe it's because of the i386/x86_64 arch peculiarities
hmpf, calling shell scripts from mcron jobs feels tricky. At least the script returns a different value then when I call it from the shell myself :(
civodul: wdyt about using (gnu packages cross-base) from (... hurd) when the latter already uses the former? I wasn't very fond of adding an unnecessary cycle, but I can see why having to use resolve-interface all the time is annoying
janneke: did you mistakenly remove --target=i586-pc-gnu from the comment at the top of bare-hurd.tmpl?
cross-building guix is literally longer than building gcc
jpoiret: no, that's implicit when using --image-type=hurd*
oh, I didn't know that
i'll move your hurd patches to hurd and not hurd-headers, but apart from that the patches look great
just realized I won't be able to commit though as we'll need to switch away from git-fetch to permit bootstrap
or we include git in the Hurd bootstrap
hmm
Hello!
jpoiret: what do you mean by "commit?"
that the native build won't work with your current patch set becaues of git versions?
(or is it a future 64bit concern?)
How do I upgrade from guix 1.3 to 1.4? Is it just a matter of specifying a new Channel?
cassio: as guix uses rolling releases, you can always upgrade to latest by doing a "guix pull" and then "guix package --upgrade" and "guix system reconfigure"
if you *really* don't want to go past 1.4, you could do "guix pull --branch=version-1.4.0" instread
well, I have done `guix pull` and `guix reconfigure` and I still remain on 1.3. Here's the output of `guix describe`:
jpoiret: of course, we can always generate and host our own tarballs if ufpstream doesn't want to provide them
guix b96b82b
URL do repositório:
ramo: master
commit: b96b82bcd4bc24529941ff74a91432481f1a71b5
this commit is version 1.3
ah, i see. git describe says v1.3.0-38771-gb96b82bcd4
so not sure what happened with the tags, or how that works (guix does not maintain a linear history)
what I want is the latest stable version. Is there a `channels` declaration that fetches always the latest stable
but you're definitely beyond 1.4
am I?
cassio: guix does not provide stable versions
yes, you're only a handful of commits behind bleeding edge
how can I tell that?
if you don't have a guix git checkout, you could look at
and
jpoiret: savannah supports tarball downloads from tags, right?
mig:
we can worry about latest-greatest glibc later?
Hi, anyone have a guix distro guide? Something non-official, I couldn't really understand those docs :/
cassio: =>
janneke: yes, but they would require autotools, right?
it's for the current patchset that I posted some time ago
last time civodul had to create do dist tarballs and host them on the gnu ftp iirc
jpoiret: quite possibly autotools, but not git
right, that's one less. I wonder if we can make that work then
US