February 3rd, 2007
Thought it was about time to write a bit of an update on what’s been happening with Mandriva lately.
Yesterday I went out and picked up a 1GB RAM module to upgrade my laptop to 1.5GB. (Took me ten minutes to convince the salesman that yes, I could use a 1GB module to upgrade my 512MB system, and no, I wouldn’t be back in an hour demanding a refund…sigh). This gives me enough headroom to go back to messing around with virtualisation stuff – 512MB just isn’t enough room to start running VMs alongside my regular desktop system.
Fortuitously, at around the same time, VirtualBox showed up in Cooker, having recently been open sourced by its writers. To be frank it’s a fairly close ripoff of VMware, but it is a little more elegant in some ways (doesn’t have that hacky vmware-config.pl to worry about – the host kernel module comes in a nice dkms package, at least on MDV – and the guest OS tools install rather more elegantly too). And, of course, it’s open source. After a few false starts (it doesn’t like reading a real DVD from the host system, or maybe my DVD is just damaged, but it’s fine with a .iso) I got a full install of 2007 Free up and running nicely inside it. I’ll start doing installs of the competition today. Good piece of software, worth checking out, especially if you’re looking for a free VMware alternative.
After that, I started in on an almost identical install in VMware, to create a Mandriva appliance we can get on the VMware website (something dbarth asked me to do months ago – sorry, David). I’m just finishing off that install now, then it’ll be available probably from the VMware site and also possibly from our public mirrors.
We’re working on the next release, Mandriva Linux 2007 Spring (the ‘formal’ name) / Mandriva Linux 2007.1 (the ‘technical’ name). We’re trying something a bit new – we’re back on a six month release cycle, but the base system for 2007.1 will be the same as 2007.0 (that basically means the kernel, glibc and a few other very low level bits). This should provide a basis of stability and continuity to build the rest of the distro on. Otherwise it’ll be very up to date – GNOME 2.18, KDE 3.5.6, OO.o 2.1 etc. It will include the Metisse accelerated desktop we previewed recently in One Metisse: drak3d will let you choose between AIGLX and Xgl as it did in 2007.0, but also between compiz, beryl and metisse. I’m happy that we’re still considerably ahead of the pack on 3D desktop stuff – the rest of the distro world seems to be just about catching up to 2007.0 now.
I’ve wound up being rather involved in the process of providing updates for 2007.0, as I’ve become the de facto maintainer of the Errata page. We introduced a new procedure for doing updates for 2007.0, alongside the new media structure which provided an /updates repository for contrib (which never had one before) along with /testing and /backports repositories for both contrib and main. To introduce an update to /main/updates , a packager identifies a specific bug or security issue that needs fixing, builds an update that should fix it, tests it himself, then uploads to /main/testing where it can be tested by users experiencing the problem. After this stage, the maintainer writes an advisory text for the update and provides a step-by-step procedure for reproducing the bug, and passes it on to the QA team, who verify that they can reproduce the bug and the fix and that the package causes no other problems. They then pass it on to the security team, who test it again, rebuild and resign it, and ship it out as an official update with the advisory text.
Despite seeming to be more complex than the old ‘procedure’ (which was never written down but basically consisted of bugging the security team, who had to do everything), this has resulted in far more updates being built, and those updates being of a higher quality. We used to do very well on security issues but not so well on bugfixes, with those bugs that were fixed taking a long time (remember the X.org issue with 2006) and some serious ones remaining unfixed. Now there’s a sensible procedure which splits the work up more or less equally and is unequivocally written down, everyone’s buying into it pretty well and bugfix updates are coming much faster and in greater numbers – just take a look at the resolved issues section of the Errata.
Having /contrib/updates has also been great as contrib packagers now have a good place to push bugfix and security updates when they do want to provide them, whereas previously they went to the community tree, which no-one knew about, to die. There have been almost as many updates for /contrib as there have been for /main, despite its officially unsupported status.
Another nice recent development to do with packaging has been the public /non-free section, which I’ve been pushing for a while. In Cooker there’s now a /non-free section on the public mirrors alongside /main and /contrib which contains the most important non-free packages – drivers and firmware like the NVIDIA and ATI drivers, the firmware for Intel Centrino wireless chipsets etc. This used to be provided only on commercial editions and to Club members through the Club Commercial repository. In the past this was an advantage for us as few others provided it at all, but these days it’s turned into a disadvantage as distros like Ubuntu and SUSE provide it on public mirrors. So I’m happy to see us move into doing that too. On a technical level, it also means that building non-free packages and updates works the same as free ones, which should increase the quality and transparency of that packaging and hopefully allow us to ship updates for non-free packages much better in future. The final benefit of this is that it’s just easier for users to access – even though Club members currently have access to this stuff, setting up the Club Commercial repository to get at it is kind of a pain.
We’re also planning in future to have the other non-free stuff provided the same way, except it won’t be accessible to all. It will be in a section named non-free-restricted which will be present on the public mirrors (or at least some of them), but only visible and accessible to Club members who log in to the servers using their Club email address and password. We have most of the technology available to do this, it’s just a question of pulling it all together and getting some of the mirror admins on board. If we can manage this, it will allow us to finally ditch the Club package server, which has always been more of a hack than the main mirror setup. It’s not going to be done for 2007.1 though.
So, yes, I know I don’t get time to update much about work, but rest assured, we’re still busy and improving on things all the time