[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