Loops involving virtual facilities ignored?

Petter Reinholdtsen pere at hungry.com
Sat Nov 7 15:31:21 UTC 2009


Hi, Werner.  I just got a report about a init.d script dependency loop
in Debian which apparenly is only a problem some times with insserv.

Check out <URL:http://bugs.debian.org/554905> for the details.

I've tried to reproduce the problem with this testsuite fragment, with
a loop between mdadm -> mountall -> hibernate-cleanup -> mdadm.  Why
do insserv not fail to accept this configuration?

test_undetected_loop() {
set +C
cat <<'EOF' > $insconf
$local_fs       mountall
EOF
set -C

insertscript hibernate <<EOF
### BEGIN INIT INFO
# Provides:          hibernate-cleanup
# Default-Start:     S
# Default-Stop:
# Required-Start:
# Required-Stop:
# Should-Start:      udev devfsd raid2 mdadm lvm evms cryptdisks
# X-Start-Before:    mountall
### END INIT INFO
EOF

insertscript mountall.sh <<EOF
### BEGIN INIT INFO
# Provides:          mountall
# Required-Start:
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Mount all filesystems.
### END INIT INFO
EOF

insertscript mdadm <<EOF
### BEGIN INIT INFO
# Provides:          mdadm
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     S 2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO
EOF

echo $insconf
cat $insconf
list_rclinks
}

Happy hacking,
-- 
Petter Reinholdtsen



More information about the initscripts-ng-devel mailing list