The exact same code exists in sysvinit-2.86.ds1 src/shutdown.c, stopit() and shutdown():
unlink(NOLOGIN);
The nologin file is then recreated in rcS.d/S55bootmisc.sh:
case "$DELAYLOGIN" in
Y*|y*) echo "System bootup in progress - please wait" > /var/lib/initscripts/nologin
;;
esac
and removed in rc[1-5].d/S99rmnlogin:
case "$DELAYLOGIN" in
Y*|y*)
rm -f /var/lib/initscripts/nologin
;;
esac
Depending on the value of $DELAYLOGIN.
Are you sure that Upstart is behaving differently to sysvinit, and are you sure that Ubuntu is behaving differently to Debian?
I'm more than happy to accept the bug that shutdown should not unconditionally remove /etc/nologin as it does - however the description as it stands implies that this is a regression, when this is not backed up by the sysvinit/Debian code which appears identical.
The exact same code exists in sysvinit-2.86.ds1 src/shutdown.c, stopit() and shutdown():
The nologin file is then recreated in rcS.d/S55bootmi sc.sh:
case "$DELAYLOGIN" in
echo "System bootup in progress - please wait" > /var/lib/ initscripts/ nologin
Y*|y*)
;;
esac
and removed in rc[1-5] .d/S99rmnlogin:
case "$DELAYLOGIN" in initscripts/ nologin
Y*|y*)
rm -f /var/lib/
;;
esac
Depending on the value of $DELAYLOGIN.
Are you sure that Upstart is behaving differently to sysvinit, and are you sure that Ubuntu is behaving differently to Debian?
I'm more than happy to accept the bug that shutdown should not unconditionally remove /etc/nologin as it does - however the description as it stands implies that this is a regression, when this is not backed up by the sysvinit/Debian code which appears identical.