summaryrefslogtreecommitdiff
path: root/internet-kiosk-management/sbin/ik_shell
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-09-03 22:52:18 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-09-03 22:52:18 +0200
commit7eddca9df36c65acf9ad27a59fde1fb8fa877b7e (patch)
treece5b380c2f4a33e20c82f76148f47cbc3be90a5e /internet-kiosk-management/sbin/ik_shell
parent40cf91104f4e51f3f4c527fc09e9f87b86026224 (diff)
downloadinternet-kiosk-7eddca9df36c65acf9ad27a59fde1fb8fa877b7e.tar.gz
internet-kiosk-7eddca9df36c65acf9ad27a59fde1fb8fa877b7e.tar.bz2
internet-kiosk-7eddca9df36c65acf9ad27a59fde1fb8fa877b7e.zip
Provide start-stop-daemon wrapper, allows machines to boot while system is in maintenance mode.
Diffstat (limited to 'internet-kiosk-management/sbin/ik_shell')
-rwxr-xr-xinternet-kiosk-management/sbin/ik_shell26
1 files changed, 18 insertions, 8 deletions
diff --git a/internet-kiosk-management/sbin/ik_shell b/internet-kiosk-management/sbin/ik_shell
index 49038ec..6485193 100755
--- a/internet-kiosk-management/sbin/ik_shell
+++ b/internet-kiosk-management/sbin/ik_shell
@@ -64,16 +64,26 @@ echo
echo 'Note: Service restarts have been disabled in the Internet Kiosk Terminal's chroot.'
echo
-# disable service restarts
-test -e /sbin/start-stop-daemon.keep || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.keep
-echo '#!/bin/sh' > /sbin/start-stop-daemon
-echo 'exit 0' >> /sbin/start-stop-daemon
-chmod +x /sbin/start-stop-daemon
+# migrate start-stop-daemon to wrapper & variable based start-stop-daemon execution
+if [ \$(stat --format '%s' /sbin/start-stop-daemon) -gt 200 ]; then
+ cp /sbin/start-stop-daemon /sbin/start-stop-daemon.real
+ echo '#!/bin/sh' > /sbin/start-stop-daemon
+ echo '#' >> /sbin/start-stop-daemon
+ echo '# Internet Kiosk Wrapper to avoid running daemons while performing maintenance.' >> /sbin/start-stop-daemon
+ echo '#' >> /sbin/start-stop-daemon
+ echo >> /sbin/start-stop-daemon
+ echo 'if [ "\$IK_HANDLE_DAEMONS" != "false" ]; then' >> /sbin/start-stop-daemon
+ echo ' /sbin/start-stop-daemon.real "\$@"' >> /sbin/start-stop-daemon
+ echo 'fi' >> /sbin/start-stop-daemon
+ chmod a+x /sbin/start-stop-daemon
+fi
-/bin/$IK_SHELL
+# make sure the /etc/hostname file is not presented in the chroot
+[ -e /etc/hostname ] && rm -f /etc/hostname
-# restore start-stop-daemon
-[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
+export IK_HANDLE_DAEMONS=false
+
+/bin/$IK_SHELL
echo
echo "Internet Kiosk Terminal Shell has exited."