Wednesday, September 26, 2012

Sorcerer Changes

Recently Kyle has been investigating ways of reducing disk I/O in Sorcery.

I have been testing his changes, and breaking my Sorcerer box often.

For those who don't know, Sorcerer is a Linux distribution.
What sets it apart from the other distro's out there is not that it's source-based. There are a few other distrobutions out there that downloads sources directly from the software author's released source code.

Sorcerer has the unique ability to create patches to source code on the fly, and updates to software that is already installed comes in the form of a really tiny sdelta file that is compressed with xz, and it updates the local tarball to the latest released version.

However, not even that is it's most distinguishing feature. It's most distinguishing feature is it's rapid evolution. Looking back at when Lunar Linux and SourceMage forked and Sorcerer changed it's license, a recent Sorcerer install only bears a slight resemblance.

We have started using cgroups and cpu.shares to finely control Sorcerer's impact on user experience while updating software. Init-scripts were changed almost beyond recognition, and while technically still a System V type init, it's much improved, and more dynamic.

Git support was built into the grimoire recently, and Sorcerer now supports pulling git updates directly from git repositories. There is still some kinks in the system, but it already works.

So, back to the latest disk I/O focus.
Kyle wrote a utility to limit disk I/O, but I have it uninstalled as I run my disks flat out for a long time, and don't want it limited. Different strokes for different folks, I guess. Anyways, we have moved the compilation location from /usr/src/sorcery to /var/cache/sorcery. Ccache implementation has been broken and fixed a few times, and right now we are working the last kinks out of the brand new "familiar" feature.'s evolving, very quickly. Not many people like this type of fluidity, as weird things break all the time. Hence the Sorcerer community is tiny, and we don't do web updates all too often. Even documentation is neglected as whatever is written is out of date almost as soon as it was written. So, even though Sorcerer might appear dead to the world, it's actually quite active.

I learned more about Linux running Sorcery than any manual could ever teach.

Just to add a piccy, here is a recent screenshot of mine:

While this snapshot was taken on the 25th of September, and it's now only the 27th of September, it's out of date again, as the scry utility changed, and it's output now looks different. Which just underlines my point about the rapid evolution of Sorcerery.