I'm a very bad Debian maintainer these days. I didn't pay enough attention to the packages I maintain since too long.

Most of these packages are not very important, such as the NWS one that I think I would remove from Debian if I could. I should make official that I'm not maintaining some other packages anymore (such as po4a and shadow, which live very well without me thanks to Nekral). I guess I could orphan widelands since I'm not very interested in that anymore, and don't master C++ enough to be useful to that project. I guess I should upload a package of SimGrid to Debian. It's always better to maintain package you are deeply interested in. That's planned, for sure. Since about 6 years now I guess.

But I also happen to be the official maintainer of the quilt package. I guess that this is because I spotted the potential of this tool before others, or at least packaged it first, back in the ages. I needed it to maintain my local changes on top of NWS during my PhD thesis. The thing is that this package is now rather crucial to the whole Debian infrastructure: the new source format use it natively, and more than 2500 packages of the archive do build-depend on it...

So, maintaining this package becomes a rather big responsibility, and I'm ashamed I devote so little time to this. Thanks to Raphael Hertzog, which sent me about 20 mails on that topic, I took some time to work on improving the quilt package this morning. The version in Debian is 0.46-8 where there is a 0.48 version upstream since a while. The problem is that we have about 20 patches on top of the upstream tarball, and some of them are not trivial at all.

For example, upstream uses a binary to backup the files when applying a patch (the rest of the package is implemented as a set of shell scripts). In Debian, having the package Arch:any was difficult because of the amount of packages build-depending on it. It made quilt a porter nightmare, even more when you know that quilt itself build-depend on hevea, lynx and perl... So, vorlon made a shell script to provide the functionalities of this little binary, so that the package can be changed to Arch:all and removed from the porters scanners.

In other world, the Debian version of quilt uses a completely different approach to implement one of the core mechanism. I tried once to get this change included upstream, but I didn't got a great feedback there. I was told that it was easy to improve the performance of the script replacing the C binary, but not given any hints of how to do so. This disappointed me and I never tried again (shame on me).

So, to make it short, I updated the Debian patches to 0.48 this morning and pushed the result here. Quilt comes with a rather extensive test suite, which is good given the potential impact a bug there could have. But that's also an additional load to packagers: my changes of this morning induce some test failures, and I still have to investigate why it fails: is the fault in the code or in the test?

PS: Sorry to have so long blog posts. I guess I'm not used to blogging yet. Moreover, I cannot link to previous posts for context yet. It's like having a lot of catching up to do...