home of the madduck/ blog/
Why I don't work on Ubuntu (or at least one reason)

Yesterday, the Debian package tracking system notified me of a new patch Ubuntu applied to mdadm:

diff -pruN 2.4.1-6/debian/mdadm.init 2.4.1-6ubuntu4/debian/mdadm.init
--- 2.4.1-6/debian/mdadm.init 2006-09-21 21:13:04.000000000 +0100
+++ 2.4.1-6ubuntu4/debian/mdadm.init  2006-09-21 21:10:08.000000000 +0100
@@ -1,4 +1,4 @@
-#!/bin/sh -eu
+#!/bin/sh -e
# Start the RAID monitor daemon for all active md arrays if desired.

The changelog entry goes out of its way to reason the change:

Do not invoke init scripts with -u. Fixes dist upgrade from dapper to edgy mostlikely caused by /bin/sh pointing to dash.

Of course, it's debateable whether set -u is applicable to an init.d script — it causes the shell to barf when uninitialised variables are used, just like Perl's use strict;. I think set -u is good practice and I use it everywhere. My /bin/sh also points to /bin/dash, and I cannot say that I've never run into problems. However, the fixes are usually quite trivial.

I consider Ubuntu's change a hack fixing symptoms, not causes. Due to the immense time pressure under which the core team is maintaining the main parts of the distribution, I can imagine such hacks to be quite common. I'd hate for that to be my job as a maintainer.

NP: Explosions in the Sky / How Strange, Innocence