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

