Rebuilding the archive with dash as /bin/sh

I rebuilt all Debian packages twice. The first time with bash as /bin/sh, and the second time with dash as /bin/sh.

About 120 packages built fine with bash, but failed to build with dash. I filed all the bugs that weren’t filed already.

Then I debdiff’d the resulting binary packages, and found about 40 packages that built fine with bash and dash, but produced different binary packages (mostly files missing/being added)!

All the bugs (including those that were already filed) have been usertagged. Most of those bugs are quite easy to reproduce and fix, so, if you are bored, send patches!

I was a bit surprised by the high number of problems I found, since Ubuntu has been using dash as /bin/sh for more than a year, even on their buildds. Some packages have been fixed in Ubuntu, but the Debian maintainers didn’t include the fix. But many packages were simply broken in Ubuntu.

Now I’ll try to find time to work on the Build Daemon From Hell idea, and on rebuilds inside qemu.

Some numbers about Debian’s history

There’s an interesting article on about Gentoo: Who made Gentoo Linux, and when? A commit analysis

I was wondering how Debian compared, so I made some stats using the debian-devel-changes archives.

First, the number of source uploads per quarter:

It’s interesting to note that, while the number of packages in Debian increased a lot, the number of uploads basically stayed the same since 2001.

Then, I wondered about the number of active developers in Debian. So I counted:

  • The number of different email addresses in Changed-by
  • The number of different keys used to sign uploads

  • The number of active devs has been slightly decreasing over the past years.
  • The difference between the number of different changed-bys and the number of different keys should be the number of sponsorees, if I understand everything correctly. It is increasing a lot, which probably means that we have a bandwidth problem at integrating new contributors. Hopefully the DM GR will help at reducing that gap.

I can provide the raw data on demand, if someone else want to work on this. There’s probably a lot of other interesting things to do!

Better to improve our sponsorship workflow?

I recently sponsored several uploads, and was asked to sponsor even more uploads, and that got me thinking about our sponsorship workflow. It’s a clear bottleneck in Debian, and discourages many new contributors, which obviously sucks.

It’s important to note that the same problems exist in Ubuntu (their equivalent to is named REVU).

The best way to improve the process would be to have packages of better quality when a DD first look at them. They would be more likely to be uploaded right away, which frees time for other packages. I think that there’s a lot of room for improvement in the current implementation. Here is a small list of features I would like to see.

  • Integration of some QA tests in mentors, as soon as the package is uploaded:
    • does the package build cleanly?
    • piuparts test?
    • lintian/linda checks?
  • Better list of packages awaiting sponsors, with info including:
    • does the package fixes bugs (number of bugs fixed per severity)?
    • is that package already in Debian?
    • is that package a new upstream version?
    • popcon score
    • how long has the package been waiting?

    This would allow potential sponsors to prioritize requests.

  • A commenting system, for each package, so comments for rejected packages are not lost, and the next potential sponsor can double-check
  • A way for sponsors to mark some sponsorees as “friends”, so it’s easy to find all the requests from people I “trust” (for some definitions of “trust” ;)
  • Maybe, a scoring system, where providing good comments on other’s packages would make you win “karma points”, and improve your classification, which could later be used by sponsors to choose what they are going to sponsor next.

The good thing with this whole list of features is that everybody can help. So, if you are looking for a sponsor and want to help solve this problem, start coding now ;) And if you need me to create, just ping me. There’s probably some code to steal from, so contacting its developers would be a good idea.

Re: Giving credit where due?

Christian Perrier is wondering why the official announcement about the Gutsy release does not even contain the word “Debian”.

It’s not new: Debian is virtually nonexistent in Ubuntu’s communication. It seems that the last Ubuntu release to acknowledge its Debian origins was Dapper (June 2006), maybe because that was the “Long Term Support” release.

The fact that there’s no “Ubuntu is based on Debian” paragraph on was raised during Debconf, and it was supposed to get fixed, but it seems that it didn’t happen for some reason (there was such a paragraph before the website redesign).

In other news, I’ve been trying to install Ubuntu Gutsy inside qemu, but it fails miserably while booting the installer. I removed the “quiet” and “splash” options from the kernel cmdline, and discovered that after trying to “mount the root filesystem”, I get dropped into busybox with no error message to google for. Feisty fails as well, but Dapper boots fine. So much for the Ubuntu is an ancient African word, meaning “I can’t install Debian” joke!

Selling Debian tasks

In a lot of talks or blog posts (like Sam’s talk at RMLL, or Raphaël’s blog posts – both in french), people have been talking about what people could do inside Debian, and how it would help Debian.

That doesn’t sound like the best approach to me. When describing tasks with the objective of getting potential contributors to pick them up, we should try to make them sexy, to tell users what is exciting about them, what they will learn doing those tasks, where satisfaction will come from. We really need to sell them better.

Of course, some Debian tasks are mainly grunt work. And for some of them, people just do them because someone has to do them. But I believe that most tasks inside Debian are actually more interesting than outsiders would expect. For example, I would be very interested in reading why an i18n expert (hint: Christian!) finds i18n sexy … and I should probably try to write about QA myself.

(As you might have noticed now, the subject of this blog post was misleading on purpose — chosen so that a lot of people would read the post :P)

ZFS as LVM killer … really?

From the ZFS FAQ:

Can devices be removed from a ZFS pool?

You can remove a device from a mirrored ZFS configuration by using the zpool detach command. Removal of a top-level vdev, such as an entire RAID-Z group or a disk in an unmirrored configuration, is not currently supported. This feature is planned for a future release.

buzz, buzz, buzz…

Compiz interest

From time to time, I try Compiz, to see if how it has evolved. The last time was yesterday (I also switched to the xserver-xorg-driver-ati from experimental).

But as usual, after using it for a few minutes, I can’t help switching back to metacity. I don’t think that Compiz’s visual effects bring anything on the usability POV, and I just find them annoying after the initial “WOW”. Of course, it’s nice to show off, but to do actual work? Are there people really using it all the time?

creating a “Distributions Developers Forum”: follow-up

After that blog post, I decided to write a mail asking a first set of questions. I sent it to developers’ mailing lists of Fedora, Gentoo, Mandriva, openSUSE, and of course Debian and Ubuntu. I got really interesting answers from everyone, except …. Debian and Ubuntu.

  • I want to wait some more before publishing the answers. If you are a Debian or an Ubuntu developer, and were interested in that initiative, please answer ASAP my mails sent to debian-devel@ and ubuntu-devel-discuss@ (respectively). Not having answers from Debian and Ubuntu people would really be a shame, since everyone else I contacted was really helpful and interested.
  • I plan to use a mailing list archiving software to publish the mails. Can you recommend a good mbox->html converter, that would work well in a “run once” use case, and that doesn’t take ages to set up?
  • Can you think of another distro I should have contacted? At first, I don’t want to include simple derivatives of the “big distros”. I also chose to limit myself to the Linux distros, so I didn’t contact the BSD or Nexenta folks. Both of this could change: my current plan for the future is to try to setup a mailing list+wiki, so everybody could join.

Better Debian RC bugs graphs

if you like to monitor the number of RC bugs, you are probably annoyed by the graph on The graph starts in 2003, making it impossible to read short-time changes. There’s a bug about that: #431299: RC bug status graph timescale is too long. And I provided a patch a few months ago, but it hasn’t been included yet.

So, in the meantime, you can use my private copy (generated daily):

Also, if you like graphs, Yves-Alexis Perez (aka Corsac) generates cool graphs about Debian:

And if you want to have all the interesting graphs on the same page, you can use this page.