July 23rd, 2006


The /usr/doc transition

Quote from Joey Hess: In 1999, Debian began moving /usr/doc to /usr/share/doc to comply with the FHS. Due to unfortunate dpkg issues at the time, we couldn’t simply move the directory and be done with it, but decided to move things peicemeil by updating all packages. Due to some silly concerns about users having to look in two places during the transition, we decided to start by making /usr/doc/ -> /usr/share/doc/ symlinks.

In 2001, putting any documentation in /usr/doc became a serious policy violation. The symlinks were still allowed.

In 2002, we completed the first stage of the transition, released woody with complete /usr/share/doc and /usr/doc directories, and policy was changed to not require the /usr/doc symlinks. debhelper was changed to stop adding postinst and postrm fragments to manage the links, and so most packages only needed a recompile to finish the transition.

As a result, More than 250 bugs were filed, blockers of #322762. Most of these bugs, rot in peace in the BTS for years, some maintainers fixed them themselves, some other maintainers NMUed and others did QA uploads to deal with this issue. But it was not enough.

It looks like at a certain point I decided we would not ship Etch with a transition from 2002 still in progress, so I did approximately 114 NMUs between the 11th and the 18th of July, fixing 152 bugs, 46 of which were not related to the /usr/doc transition. I also closed the ones affecting packages not in testing or unstable, unblocked the ones for packages that would not ship with etch (as exim3, that will be replaced by exim4), and updated the MIA info for several of the maintainers. At the same time, I revamped packaging a bit if I felt inspired to do so.

Sure, things went wrong at bits and places, which I later fixed the best I could, but inmense love was poured in these NMUs. Several maintainers thanked me and the most NMU-unfriendly people didn't even complain.

Lars Wirzenius pointed me to other related bugs, found by upgrading from testing to unstable with piuparts, and added blocking relationships with #322762 where needed.

At this stage, less than 5 open bugs remain. I suspect that more packages once created this link and don’t remove it on upgrade. I would need some help to find them.

All this NMU fever happened while Joey was away on holidays, and when he returned, he confirmed my fears, I had DoSed his email and bandwidth: <joeyh> amaya: did you have to fix all the /usr/doc bugs while I was on vacation?
* joeyh watches his inbox and BW groan at the seams :-)

There is still several important and minor issues that we should deal with before Etch is released, Release Goals or not, just because we are Debian, and just because we care about this sort of things:

Some of you will argue that these might not be transitions per se, just mass-bugfilings. I don’t really care how you’d rather call it. If you are looking for easy ways to help Debian, or to fill your lazy summer afternoons with, provide a patch today and CC: me. I intend to group these bugs either using user-tags or blocking bugs in the BTS. Help locating them and grouping them will also be appreciated.

[Updated entry to reflect more accurate NMU and bug totals]


Resistance is futile

I had a nice talk with ender on the phone, and he introduced me to ccache. I quickly found a way to take advantage of it using pbuilder. Next step would be to hook that into distcc. Has anyone successfully done this?

My bux fixing power will increase, as most of the time, while looking at packaging bugs, the code is seldom changed and rebuilds take for ever, helping me get distracted by Cute Overload or similar procrastination tools.

So resistance is futile, these bugs will go away :)