The Ur Project

Documenting the craft of stacking things so they remain stacked. For a very long time.

Post-launch reflection

We've had our official launch. Let's talk about what's going on this week and what's being planned for the near future.

Fixing little bugs here and there

We thankfully had a significant number of people give testing feedback and try out most of our images. This yielded some minor bugs and things that could have been a little smoother, but all in all I'm pretty happy with the result. Most people got to try things out and managed to install. The ISO, WSL image and the live image drew the most attention.

Most people bumped into little problems with things like cpio missing from the ISO images, which caused dracut to fail during TUI install mode. This missing dependency edge is like 3 packages in. We fixed it already for the live image, but we missed it on the ISO. That is now fixed as well.

All images except for the bare-bones container image now have the full +console set included. And that set contains gawk, sed, grep and a few other shell things that are just practically mandatory on any reasonable image. The cost: images grew by just about 5-10MiB, so no big deal there.

New Images are being released regularly

As we're fixing significant bugs, I will be releasing new images as needed. To make this easy, I've worked a little bit on making these image releases smooth, fast, and easy to find. This means that there's a new Download page which has all the images on it, without all the user guide stuff that was on the page before. The per-image how to use this image has been moved to the Images section on the docs site. Hopefully this is easier for users: Pick an image, then open the docs for that image on how to use or install with it.

On top of that, there's an Image archive page that shows all the images we've ever published, and it has filters, so you can find historical releases and checksums in that, even after we drop the download from the site.

Speaking of new images

These are newly released after the official release. Most of these were published today, the wsl-base update was from earlier this week.

Feature work

Aside from bug fixes, which are always ongoing, we're going to start looking forward to doing some feature work and chip away at the giant list of things that are not yet done, but were major things. Some of these items are so big that I hated not including them on the required-for-release list.

We're nowhere near what a serious distribution should sit at when it comes to compiler hardening flags. Ouch. I've made sure that we at least launched with _FORTIFY_SOURCE=3 and a few basic things, but that's really the bare minimum. So work is now ongoing to try and push this a little harder and enable some of the more pushy stack hardening code. Things we're talking about here: PIE, IBT/SHSTK, RELR, gnu-hash, and stack-protector/clash.

Big ticket items are LTO, PGO, and hwcaps. These are medium to big ticket items. Especially PGO is a big ticket item because of our reproducible build requirements. It might mean that we effectively compile every package 3 times instead of the 2 we do right now. That's because we first have to build the package once to generate the profile that we use for the second and third compile (that then are compared, and must be identical). It also means that a verification build has to download the profile asset from our provenance CaS store. All of the parts to do this are in place, it just all needs to be thoroughly tested and it can't break anything.

Content is an ever evolving and unplannable field. What is planned is to do a GNOME-51 update soon. Because of the inclusion of rust in GNOME, this was something I had put off in the last 2 weeks. glycin was a little too complex to include just before the release. But we should be in good shape to swap to GNOME-51 next week or so.

As for the rest, I'm pushing out updates as they come in. The one thing I will take in batches is LLVM + Rust itself, because it's always a full distro-wide rebuild for all rust-based packages, and that currently means a wave of about 700 packages would need rebuilding.

Feedback and contributing

One of my promises is to make it easy to contribute back to the project, and the distro. This requires infrastructure and guidance. So there has to be some steering. To do this, I will add some stuff about how to contribute back to the website (a top level navigation item) that directs people on how to contribute back.

On our discord (Invite) there's a Support channel where you can post support questions, bugs, suggestions or anything. While not an official support channel (yet), I highly encourage everyone to use this so that your issues can be resolved and active community members can help out.

Our Forgejo instance hosts git repositories that have split out content (registries) from code. This is an ideal place to file per-recipe/package issues, or per code project. Each git repository has issues enabled.

Either the discord or issue tracker will work well!

You can OAuth register with your github/gitlab/codeberg account and fork any of the projects. All code contributions are welcome. While I haven't posted an AI/LLM usage policy yet, consider it to be the same as the Linux kernel for the time being - it's allowed, but, you are responsible for all your code submissions.

--sofar (aka Auke)