[X2go-Commits] x2gothinclient.git - master (branch) updated: 1.0.1.8-16-ge2759c3
X2Go dev team
git-admin at x2go.org
Sun Sep 2 21:17:28 CEST 2012
The branch, master has been updated
via e2759c3216ada716ddfbdc6af6c4cc9a59481d84 (commit)
via d6fe083e37c89ef060244c8f959e8b7a68279e6a (commit)
from 9f416ebe9cf60c6fdd4d3e273b0c60c974e2ac3c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e2759c3216ada716ddfbdc6af6c4cc9a59481d84
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sun Sep 2 21:17:24 2012 +0200
Allow thin client management (x2gothinclient_shell, x2gothinclient_upgrade) while thin clients are in use.
commit d6fe083e37c89ef060244c8f959e8b7a68279e6a
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sun Sep 2 20:28:45 2012 +0200
Cleanly unmount --bind mounts in case there are more than one.
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 3 ++
.../sbin/x2gothinclient_create | 25 ++++++++++-----
x2gothinclientmanagement/sbin/x2gothinclient_shell | 32 ++++++++++++-------
.../sbin/x2gothinclient_upgrade | 29 ++++++++++++-----
4 files changed, 59 insertions(+), 30 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 7e21578..2a2239d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,9 @@ x2gothinclient (1.0.99.1-0~x2go1) UNRELEASED; urgency=low
got relocated to /run).
- /etc/network/interfaces in wheezy already contains a loopback device
entry.
+ - Cleanly unmount --bind mounts in case there are more than one.
+ - Allow thin client management (x2gothinclient_shell, x2gothinclient_upgrade)
+ while thin clients are in use.
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Fri, 10 Aug 2012 14:13:49 +0200
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_create b/x2gothinclientmanagement/sbin/x2gothinclient_create
index bda5a73..be10ab9 100755
--- a/x2gothinclientmanagement/sbin/x2gothinclient_create
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_create
@@ -129,11 +129,19 @@ mkdir -p /etc/network
ln -sf /dev/shm /etc/network/run
# 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
+test -e /sbin/start-stop-daemon.real || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.real
+echo '#!/bin/sh' > /sbin/start-stop-daemon
+echo '#' >> /sbin/start-stop-daemon
+echo '# X2Go Wrapper to avoid running daemons while performing maintenance.' >> /sbin/start-stop-daemon
+echo '#' >> /sbin/start-stop-daemon
+echo >> /sbin/start-stop-daemon
+echo 'if [ "\$X2GO_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 +x /sbin/start-stop-daemon
+export X2GO_HANDLE_DAEMONS=false
+
[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && echo "$TC_X2GO_DEBURL" > /etc/apt/sources.list.d/x2go.list
[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && apt-get update
[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && apt-get install x2go-keyring -y --force-yes
@@ -178,9 +186,6 @@ chmod +x /sbin/start-stop-daemon
# tweak plymouth
[ \$? -eq 0 ] && test -e /etc/os-release && sed -e 's/PRETTY_NAME=.*/PRETTY_NAME=$TC_PRETTY_NAME/' -i /etc/os-release || echo "PRETTY_NAME=$TC_PRETTY_NAME" >> /etc/os-release
-# restore start-stop-daemon
-[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
-
EOF
chmod u+x $TC_CHROOT/x2go_tce_install.sh
@@ -191,9 +196,11 @@ mount --bind /sys $TC_CHROOT/sys
chroot $TC_CHROOT /x2go_tce_install.sh
-umount $TC_CHROOT/proc
-umount $TC_CHROOT/dev
-umount $TC_CHROOT/sys
+for mountpoint in proc dev sys; do
+ while 1; do
+ cat /proc/mounts | grep $TC_CHROOT/$mountpoint && umount $TC_CHROOT/$mountpoint || break
+ done
+done
rm -f $TC_CHROOT/etc/udev/rules.d/*-persistent-*.rules
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_shell b/x2gothinclientmanagement/sbin/x2gothinclient_shell
index 67a8203..18e4755 100755
--- a/x2gothinclientmanagement/sbin/x2gothinclient_shell
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_shell
@@ -66,16 +66,23 @@ echo
echo 'Note: Service restarts have been disabled in X2Go TCE 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 '# X2Go Wrapper to avoid running daemons while performing maintenance.' >> /sbin/start-stop-daemon
+ echo '#' >> /sbin/start-stop-daemon
+ echo >> /sbin/start-stop-daemon
+ echo 'if [ "\$X2GO_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/$TC_SHELL
+export X2GO_HANDLE_DAEMONS=false
-# restore start-stop-daemon
-[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
+/bin/$TC_SHELL
echo
echo "X2go Thin Client Shell has exited."
@@ -90,7 +97,8 @@ mount --bind /sys $TC_CHROOT/sys
chroot "$TC_CHROOT" /x2go_tce_shell.sh
-umount $TC_CHROOT/proc
-umount $TC_CHROOT/dev
-umount $TC_CHROOT/sys
-
+for mountpoint in proc dev sys; do
+ while 1; do
+ cat /proc/mounts | grep $TC_CHROOT/$mountpoint && umount $TC_CHROOT/$mountpoint || break
+ done
+done
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_upgrade b/x2gothinclientmanagement/sbin/x2gothinclient_upgrade
index 8f8c61e..52fd92a 100755
--- a/x2gothinclientmanagement/sbin/x2gothinclient_upgrade
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_upgrade
@@ -54,11 +54,21 @@ export http_proxy=$TC_HTTP_PROXY
export https_proxy=$TC_HTTPS_PROXY
export ftp_proxy=$TC_FTP_PROXY
-# 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 '# X2Go Wrapper to avoid running daemons while performing maintenance.' >> /sbin/start-stop-daemon
+ echo '#' >> /sbin/start-stop-daemon
+ echo >> /sbin/start-stop-daemon
+ echo 'if [ "\$X2GO_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
+
+export X2GO_HANDLE_DAEMONS=false
[ \$? -eq 0 ] && apt-get update
[ \$? -eq 0 ] && apt-get upgrade
@@ -88,7 +98,8 @@ mount --bind /sys $TC_CHROOT/sys
chroot "$TC_CHROOT" /x2go_tce_upgrade.sh
-umount $TC_CHROOT/proc
-umount $TC_CHROOT/dev
-umount $TC_CHROOT/sys
-
+for mountpoint in proc dev sys; do
+ while 1; do
+ cat /proc/mounts | grep $TC_CHROOT/$mountpoint && umount $TC_CHROOT/$mountpoint || break
+ done
+done
hooks/post-receive
--
x2gothinclient.git (X2Go Thin Client Environment)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2gothinclient.git" (X2Go Thin Client Environment).
More information about the x2go-commits
mailing list