summaryrefslogtreecommitdiff
path: root/internet-kiosk-management/sbin/ik_shell
diff options
context:
space:
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."