Welcome to the 26th installation of This Week in Solus. Out a bit later than usual but hey, better late than never, right?
We have begun shrinking the size of our system.base component to give us more flexibility and provide a more minimal image. So far the following have been demoted likely more to come:
We now ship locales for Firefox and Thunderbird. This makes it easier to switch to the language you desire / need without having to jump through the hoop of installing addons.
As discussed in last week’s This Week in Solus, some great strides have been made in improving how packaging is accomplished under Solus. Ikey has done some absolutely incredible work on the new version of ypkg, which is a tool we use to convert a build process into a packaging operation (package.yml -> Instructions and package info -> butterflies and rainbows).
Honestly, the list shown below is merely the tip of the iceberg, and if you have spare time on your hands, read the commit logs.
Massive optimizations took place to ensure we only provide direct binary dependencies. As Ikey put it, frankly better than I can:
“Solus uses the equivalent of
-Wl,-as-needed but at the toolchain level, these changes to eopkg now make it respect that. Net benefit? As you can see here each package has drastically fewer dependencies, allowing more flexibility, and much,
much faster repo operations (upgrade, install, search, etc.)”
Terminal output is much more colorful. We provide coloring to help you notice when there are warnings or errors, and you can differentiate between the two.
ypkg2 now automatically creates -dbginfo packages (including for 32-bit) automatically, which means things like valgrind will work.
We now export the git log for tagged releases into built packages, meaning you see the actual history exactly as it is in git.
It isn’t a mystery that sometimes it takes multiple tries to get a package built (seriously guys, I’m still working on monodevelop, halp!). Having our build tool give you the necessary information to assess the issues you’re dealing with and help you address them quickly is obviously pretty important.
Error reporting has been greatly improved in ypkg2. If we failed to parse your package.yml file, we let you know why and what keys have the issues.
KRC and I also banded together to protect the warning string when your filename isn’t package.yml. It was a noble sacrifice, I know.
We have now integrated performance guided optimizations directly into our build process. What does this mean? A more powerful, flexible, leaner and meaner Solus. This work was inspired by the work done by the Clear Linux* Project for Intel® Architecture.
Here are some performance metrics / benchmarks for libxml2:
Below is a list of updates done to packages (excluding the ones updated for the system.base migrations or rebuilt for dbginfo):