Project Status Update - week 7
We've been fully launched for a week now. Let's go over what changed in the first week, now that people have played with the distro a bit.
This week's image releases
We released 5 images at launch, and 6 more afterwards:
- 1 extra generic-cloud image
- 3 extra generic-iso images
- 1 extra live-usb image
- 1 extra wsl-base image
These extra images fix missing basic content, and address a gap in the installer on the ISO version where dracut would fail to generate an initramfs at the end of the install. All images that have the installer (text-based or GUI) therefore got the update. They're all on the Download page, and every earlier one is in the Image archive.
This week's content releases (packages)
- GNOME-51 (updated from 48), and many related GNOME changes:
- dark style is now the default
- many new GNOME Circle apps were added, including: Decibels, Showtime, Paper Clip, Junction, Wike, Commit, Blanket, Emblem. More to come.
- Plasma-6.8.0 (updated from 6.7.5)
- The media stack was improved to make sure that we can integrate all the default media applications. Many fixes to e.g. pipewire, gstreamer, ffmpeg.
- Linux-kernel-stable 7.2.11
- Old crypto is being disabled or removed. Many of these algorithms aren't secure anymore, and other distros have all but disabled or removed them too. Only some very old protocols will be affected.
- Intel microcode early loading. This just affects Intel platforms.
This week's bugs and issues
- hwdb is back. We fixed this 12+ years ago already but the problem still exists. We're patching hwdb smarter this time to not stall boot for 30+ seconds on a USB stick causing the ISO not to boot. Now hwdb is prerendered onto /var/cache instead of into /usr, where it does not belong.
- Browser was fixed to address e.g. Netflix playback (cause: bad UA string)
Reproducibility audit
We have identified 4 packages that failed to build reproducibly in the last week. Still open:
- syntax-highlighting-6.31.0-2: investigating, as this just happened this morning
And cleared this week:
- syslinux-6.04-pre1-2: fixed by changing a sorting algorithm to be deterministic
- espeak-ng-1.52.0-4:
make -jcaused a dict collector to see nondeterministic ordering. Fix applied. - rust-loupe-48: cleared by upgrading to rust-loupe-51, which replaced a nondeterministic hashmap with a btree in rust-glib, thus removing the entire root of the divergence.
The reproducibility audit runs 24/7 and continues to rebuild existing packages over and over to validate our reproducible builds promise. Due to the nature of these failures, it's possible you'll find one that we haven't found yet - please let us know if you spot one.
This week's dispatch changes (the builder and pkg)
- We're doing some optimization work on how
pkgfetches repository metadata at startup and fetches package manifests. This should make it a little quicker to respond and eliminate round-trip latency effects. pkggained support for downloading through a proxy (see pkg.toml(5))- Fixed a bug where
pkg repairwould delete admin-modified config files in/etc pkgerrors now show the version of the program used- dispatch can now generate images from closures, and test runners can fetch and report back to them. This allows complex changes to be fully validated before merging to the registry, a major win for validation.
- dispatch-tui can now perform a full rollback of a bad package release, including reverting the registry commit and un-publishing the payloads, making the old package version reclaim the
pin. - dispatch-tui can now restart all services in one command
Where has the work gone this week
Aside from the list above (heh), I've taken the time to do some overhauling of the website and how we communicate. The website is, I don't want to say fully rewritten, but changed significantly. It's still a fully static HTML website that is pre-rendered by scripts. But now the site has a sitemap, and posts and other content are fully pre-rendered to HTML. This will be both fast and allow search engines to dig through and help users find our pages.
The front page now serves more than posts. Only the last few posts are shown to begin with, and all posts are on Posts, where you can navigate them in order (links at the bottom). The front page also has an intro for new users and explains what we're trying to do, and what Sandcastle is.
I've set up a few social media accounts and linked them (at the bottom of every page) so I can reach a slightly bigger audience, hopefully. This means I have a single place where I can post from and reach all of them, which will save me some time and allow me to keep up the comms, so people can learn about all the cool stuff that's going on.
I've also written a few more guides and documentation pages, like Creating images and Air-gapped system upgrades. Did some reshuffling, and in general spent a lot of time doing little quality fixes to the website, adding better navigation, improving the header and footer, and a ton of little changes under the hood.
What's next
I'm still going to push further on our promise to make it easy to make changes and collaborate. This means even more emphasis on the contribution side of the documentation. But also putting in project goals as tickets in our Forgejo issue tracker where I can, for things that I know will take some significant time.
At the same time, content! More packages are coming. The GNOME Circle work isn't done yet. Regular package updates will be flowing in at a normal pace. I think we're doing plenty of builds per day. Testing images is still pretty flaky, so that needs work. I'm further looking at making our validation side even more featured so that testing is fun and easy.
Last, and this is important: tell me what you think. I'd love to hear from everyone. Even if it's just a little thing you found or a trivial question. The Discord is the easiest place for that.
--sofar (aka Auke)