Over a year ago, the Guix Build Coordinator was building lots of things for substitutes https://octodon.social/@cbaines/104297876310550244
It's taken a while, but now it should be benefiting general users of #guix
I thought I was having a good day with computers, but after upgrading a #Guix system, I now can't login through the GDM, and hours of debugging has left me none the wiser.
Something is broken, and it seems there's very little to help work out what.
Reinstalling the OS shouldn't be necessary to fix this kind of issue, but that's what I might have to do...
I forget exactly when I had a proof of concept for using the Guix Build Coordinator to build things for substitutes.
It seems like I had a working setup for x86-64-linux around a year ago (a year ago exactly in ~3 weeks).
Real world events are getting in the way of my concentration, it probably doesn't help that I studied the conflicts involving #Israel in school.
There's so much to the conflict though, I think I only learned recently of the engagement involving the USS Liberty https://en.wikipedia.org/wiki/USS_Liberty_incident an attack by the Israeli air force and navy on a US intelligence ship.
This is an account of the attack by a survivor https://www.youtube.com/watch?v=eUU08xnVaGM
Lots of good stuff in there: usability improvements, performance improvements, #POWER9 support, and more!
“Building derivations, how complicated can it be?”
I did another round of Guix Build Coordinator database improvements, and the results are pretty good.
The graph here shows the 95th percentile time for a few database operations. The blue one (allocating builds to agents) has gone from taking up to a second most of the time to barely registering (5ms or less).
I think fitting in WAL checkpoints between allocations, prompting SQLite to "optimize" and not caching query plans forever are the main changes which helped bring this about.
I've had this hardware (i5-2500k with a capable cooler) for ages now, and I haven't been using it for many years.
It still works though, and I've managed to overclock the processor to 5Ghz.
I haven't got around to measuring the single core performance, though at some point I want to see how it compares to my i7-8700K.
armhf-linux builds are now happening at pace for https://guix.cbaines.net/ 🎉
There were some problematic derivations, and I had to unblock those manually. There could have been some Guix Build Coordinator bugs involved too though.
I'm excited to see how well this works, mixing native aarch64 hardware and QEMU emulation for aarch64-linux seems to have worked well. For armhf-linux, I'm using a mixture of compatible aarch64 hardware and QEMU on x86_64.
I did it! I merged #Guix code that includes 4- and 6-year old commits, no less, and that have been rebased a number of times.
It's about using G-expressions all the way down, including for packages. Finishing a transition started 6 years ago, yay!
#Guix Build Coordinator progress, I made some database schema changes, and the size of the guix.cbaines.net database dropped from ~43GB to ~11.5GB!
When I started writing it, I used natural keys, UUID's for the builds, and /gnu/store/... names to identify derivations. This was fine at small scale, but with lots of builds and derivations, it made for a much bigger database, and slower queries.
This morning on actual things #Guile expects you to read:
WARNING: WARNING: (guix-build-coordinator coordinator): imp(guix-build-coordinator datastore sqlite)orte::d imopdurlee d module (fibers) overrides core booivndrinig e`s core binding `'
Whoo, it's pretty rough around the edges, but this is probably the first #Guix Build Coordinator agent build on the GNU Hurd!
Guix has made it into Debian Unstable! This means Debian users can use Guix as a "userspace" package manager now! https://tracker.debian.org/pkg/guix
This is really wonderful! Debian and Guix both care deeply about reproducibility.
This could be a big win for user freedom on both (cotd ...)
Living in London
Interested in Free Software, Badminton, Bouldering and cats.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!