X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dsa-metapackages.git;a=blobdiff_plain;f=buildd-reboot;h=dc45094b71ad242a4bca922882536f60d283e76f;hp=c454a400b69fe31fc6799c313e245d96ee3b7a5c;hb=b6cee345c8eedfda7c4001fd71f4de7b4a729bd2;hpb=1684171aa0aa7237b64573691b6dcd459b15adb8 diff --git a/buildd-reboot b/buildd-reboot index c454a40..dc45094 100755 --- a/buildd-reboot +++ b/buildd-reboot @@ -79,6 +79,9 @@ buildd_wait_and_reboot() { echo fi + if grep 'waiting-for-clean-shutdown' ~buildd/NO-DAEMON-PLEASE > /dev/null; then + sudo -u buildd sh -c 'echo delete-on-boot > ~buildd/NO-DAEMON-PLEASE' + fi if [ "$halt" = 1 ]; then /sbin/shutdown -h 15 "$reason" else @@ -100,13 +103,21 @@ if ! [ -d ~buildd ]; then fi if ! test -e ~buildd/NO-DAEMON-PLEASE; then - echo "Touching ~buildd/NO-DAEMON-PLEASE ~buildd/EXIT-DAEMON-PLEASE" - sudo -u buildd touch ~buildd/NO-DAEMON-PLEASE ~buildd/EXIT-DAEMON-PLEASE - sudo -u buildd sh -c 'echo delete-on-boot > ~buildd/NO-DAEMON-PLEASE' - sudo chgrp -v adm ~buildd/NO-DAEMON-PLEASE - - echo "Sending HUP to buildd" - sudo -u buildd kill -HUP `sudo cat ~buildd/build/buildd.pid` + if [ -e ~buildd/build/buildd.pid ] ; then + echo "Touching ~buildd/NO-DAEMON-PLEASE ~buildd/EXIT-DAEMON-PLEASE" + sudo -u buildd touch ~buildd/NO-DAEMON-PLEASE ~buildd/EXIT-DAEMON-PLEASE + sudo -u buildd sh -c 'echo waiting-for-clean-shutdown > ~buildd/NO-DAEMON-PLEASE' + sudo chgrp -v adm ~buildd/NO-DAEMON-PLEASE + + echo "Sending HUP to buildd" + sudo -u buildd kill -HUP `sudo cat ~buildd/build/buildd.pid` + else + echo "no-daemon-please does not exist, but there is no buildd.pid file either" + if pgrep -u buildd -x buildd ; then + echo "But there is a buildd running. Bad?" + exit 3 + fi + fi else echo "no-daemon-please already exists" fi