This Week in Solus -- Install #26

This Week in Solus -- Install #26

April 12, 2016·Joshua Strobl
Joshua Strobl

Welcome to the 26th installation of This Week in Solus. Out a bit later than usual but hey, better late than never, right?

All about that system.base

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:

Locales

relimg

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.

Packaging Improvements – ypkg2

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.

All I want for Christmas, is direct dependencies

relimg

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.)”

Color

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.

Dbginfo Packages

ypkg2 now automatically creates -dbginfo packages (including for 32-bit) automatically, which means things like valgrind will work.

Git outta here!

relimg

We now export the git log for tagged releases into built packages, meaning you see the actual history exactly as it is in git.

Not for the first timers

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.

relimg

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.

relimg

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.

Performance Guided Optimizations

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:

relimg

Package Updates

Below is a list of updates done to packages (excluding the ones updated for the system.base migrations or rebuilt for dbginfo):

New:

Updated: