I just saw the same problem upgrading to sarge. I had a look around and it looks like the script simply wasn't written to be run under set -e.
When a script uses $? liberally to explicitly test success/failure of commands, you can't just enable -e and expect it to work. You have to carefully inspect it to make sure that all failure cases are handled so that they don't cause the script to bomb out when it shouldn't. I made an attempt to do this here. No guarantees that this catches all the problems but it does let me finish configuring the package. -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--- autofs.old 2005-03-25 14:09:01.000000000 +1100 +++ autofs 2005-03-25 14:18:43.000000000 +1100 @@ -448,11 +448,11 @@ echo "" echo -n $"Unmounting loopback filesystem $match: " loopdev=`LC_ALL=C grep $l /proc/mounts | awk '{print $1}'` - umount -d $match - if [ $? -eq 0 ]; then + if umount -d $match; then echo "done" else echo "failed ($?)" + exit 1 fi fi done @@ -470,11 +470,11 @@ if [ -n "$match" ]; then echo "" echo -n $"Unmounting loopback filesystem $match: " - umount -d $match - if [ $? -eq 0 ]; then + if umount -d $match; then echo "done" else echo "failed ($?)" + exit 1 fi fi done @@ -629,13 +629,12 @@ mnt=`echo $rest | sed 's/^.* \(\/[^ ]*\) [A-Za-z].*$/\1/'` pidfile=/var/run/autofs/`echo $mnt | sed 's,/,_,g'`.pid - start-stop-daemon --start --pidfile $pidfile --quiet \ + if ! start-stop-daemon --start --pidfile $pidfile --quiet \ --exec $DAEMON -- --pid-file=$pidfile $rest - - if [ $? -ne 0 ] then echo echo " failed to start automount point $mnt" + exit 1 fi done @@ -658,8 +657,8 @@ start-stop-daemon --stop --quiet \ --retry USR2/$DAEMON_EXIT_WAIT \ - --pidfile $file --exec $DAEMON - ret=$? + --pidfile $file --exec $DAEMON || + ret=$? case $ret in 0) @@ -675,7 +674,7 @@ ;; *) echo -n -e \ - "\n Strange start-stop-daemon exit status: $?" + "\n Strange start-stop-daemon exit status: $ret" ;; esac fi @@ -718,12 +717,12 @@ mnt=`echo $rest | sed 's/^.* \(\/[^ ]*\) [A-Za-z].*$/\1/'` pidfile=/var/run/autofs/`echo $mnt | sed 's,/,_,g'`.pid - start-stop-daemon --start --pidfile $pidfile --quiet \ + if ! start-stop-daemon --start --pidfile $pidfile --quiet \ --exec $DAEMON -- --pid-file=$pidfile $rest - - if [ $? -ne 0 ]; then + then echo echo " failed to start automount point $mnt" + exit 1 else echo "Started automounter: $mnt" fi