Following on from the last post on blitting, last week tarkah added the ability to blit very quickly to a new root from the moss store shared with the host system, meaning that standing up a build container is virtually instantaneous, as long as the container root is composed of packages which have already been staged to the local system.
Tarkah and Ikey also landed the ability for moss-rs to distinguish between explicitly installed and implicitly installed packages. This is important for being able to traverse the install digraph for packages that are no longer used after a moss sync
.
"Wait, what is moss sync
?" you might ask? Well, as moss-rs uses atomic transactions, we started thinking about how useful it would be to be able to sync against the current state of the configured and active repos (a bit like you would git pull
from an origin), as a way to reset the installed system state to a predefined system-model
for e.g. a GNOME spin etc.
So instead of the usual update
and upgrade
operations, the primary operation for getting the newest version of the packages in any given repo is now moss sync
. This has a bunch of interesting properties, but more on that in a future update.
As an aside, Ikey plumbed in the ability to update repositories, which is useful in case of typos or wanting to switch the install order of local and remote repos for testing. While he was at it, he also fixed a few small niggles regarding symlinks, which enabled him to successfully chroot
into moss-rs managed root filesystems.
This week, tarkah started adding the ability for moss-rs to write moss-format v1 .stones, which means moss-rs will soon support the moss index
command.
This is important, because it implies that, for all intents and purposes, moss-rs will become drop-in compatible with the existing moss-d code base, while even surpassing it on a couple of fronts.
In turn, all of the above opens up the door for work to begin in earnest on bringing the Serpent base system up to scratch again, after a lot of work and effort has gone into stabilising Solus for the past six months. In particular, it allows the existing boulder-d code base to begin using moss-rs to install roots for use when building packages.
In short, the future prospects for Serpent just got a whole lot brighter.
Bring it on!