[X2go-Commits] x2goserver.git - master (branch) updated: 3.0.99-2-176-g366ef9d

X2go dev team git-admin at x2go.org
Tue Aug 2 10:37:28 CEST 2011


The branch, master has been updated
       via  366ef9d7526fd4739bbd368bc964f9acfb504e7d (commit)
      from  053886c2661f76f196f090c99aefee993c6a6f6c (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 366ef9d7526fd4739bbd368bc964f9acfb504e7d
Author: Reinhard Tartler <siretart at tauware.de>
Date:   Tue Aug 2 10:26:53 2011 +0200

    Do proper error checking in maintainer scripts
    
    Maintainer scripts need to be correct as they have the potential to
    corrupt the whole system. Never ever ignore error conditions but handle
    them gracefully. Moreover, don't ignore failures of scripts. If they
    fail, we definitly want to investigate why they fail and handle these
    conditions additionally.

-----------------------------------------------------------------------

Summary of changes:
 debian/x2goserver.postinst |   43 +++++++++++++++++++++++++++++++------------
 debian/x2goserver.postrm   |    4 +++-
 debian/x2goserver.preinst  |    8 +++++---
 3 files changed, 39 insertions(+), 16 deletions(-)

The diff of changes is:
diff --git a/debian/x2goserver.postinst b/debian/x2goserver.postinst
index 4df63dd..227fbe4 100755
--- a/debian/x2goserver.postinst
+++ b/debian/x2goserver.postinst
@@ -20,9 +20,10 @@ set -e
 
 case "$1" in
 	configure)
-		chmod 700 /etc/x2go/x2gosql/passwords || true
-		touch /etc/x2go/x2gosql/passwords/pgadmin || true
-		chmod 600 /etc/x2go/x2gosql/passwords/pgadmin || true
+		mkdir -p  /etc/x2go/x2gosql/passwords
+		chmod 700 /etc/x2go/x2gosql/passwords
+		touch     /etc/x2go/x2gosql/passwords/pgadmin
+		chmod 600 /etc/x2go/x2gosql/passwords/pgadmin
 
 		# setup x2gouser and group
 		if ! getent group x2gouser >/dev/null; then
@@ -39,29 +40,47 @@ case "$1" in
 		else
 			echo "User x2gouser already exists." >&2
 			# make sure all settings are appropriate
-			id -g --name "x2gouser" | grep "x2gousers" >/dev/null && usermod --gid x2gouser x2gouser
-			usermod --home /var/lib/x2go x2gouser
-			usermod --shell /bin/false x2gouser
+			if [ "`id -gn x2gouser`" != "x2gouser" ]; then
+				usermod --gid x2gouser x2gouser
+			fi
+			if [ "`ls -1d ~x2gouser`" != "/var/lib/x2go" ]; then
+				usermod --move-home --home /var/lib/x2go x2gouser
+			fi
+			# leave user shell alone. we have never set this wrongly
+			# and we need to respect the administrator's choices
 		fi
 
 		if [ ! -f /var/lib/x2go/x2go_sessions ]; then
 			x2godbadmin --createdb
 		else
 			# make sure db permissions are set correctly
-			chown root:x2gouser /var/lib/x2go -Rf
+			chown -R root:x2gouser /var/lib/x2go
 			# egid x2gouser needs write access to the db dir (for temporary db journal file)
 			chmod 0770 /var/lib/x2go
 			# ... and to the db file itself, of course
 			chmod 0660 /var/lib/x2go/x2go_sessions
 		fi
 
-		# we may be upgrading versions of x2goserver that had /usr/lib/x2go/x2gosqlitewrapper.pl set to setuid x2gouser.
-		dpkg-statoverride --remove /usr/lib/x2go/x2gosqlitewrapper.pl 2>/dev/null && chown root:root /usr/lib/x2go/x2gosqlitewrapper.pl 2>/dev/null && chmod 0755 /usr/lib/x2go/x2gosqlitewrapper.pl 2>/dev/null || true
-		# we may be upgrading versions of x2goserver that had /usr/bin/x2gosqlitewrapper set to setuid or setgid x2gouser.
-		dpkg-statoverride --remove /usr/bin/x2gosqlitewrapper 2>/dev/null && chown root:root /usr/bin/x2gosqlitewrapper 2>/dev/null && chmod 0755 /usr/bin/x2gosqlitewrapper 2>/dev/null || true
+		# we may be upgrading versions of x2goserver that had
+		# /usr/lib/x2go/x2gosqlitewrapper.pl set to setuid x2gouser.
+		if dpkg-statoverride --list /usr/lib/x2go/x2gosqlitewrapper.pl >/dev/null; then
+			dpkg-statoverride --remove /usr/lib/x2go/x2gosqlitewrapper.pl
+			chown root:root /usr/lib/x2go/x2gosqlitewrapper.pl
+			chmod 0755 /usr/lib/x2go/x2gosqlitewrapper.pl
+		fi
+
+		# we may be upgrading versions of x2goserver that had
+		# /usr/bin/x2gosqlitewrapper set to setuid or setgid x2gouser.
+		if dpkg-statoverride --list /usr/bin/x2gosqlitewrapper >/dev/null; then
+			dpkg-statoverride --remove /usr/bin/x2gosqlitewrapper
+			chown root:root /usr/bin/x2gosqlitewrapper
+			chmod 0755 /usr/bin/x2gosqlitewrapper
+		fi
 
 		# the sqlite db has to be accessed as uid x2gouser
-		dpkg-statoverride --add --update root x2gouser 2755 /usr/lib/x2go/x2gosqlitewrapper || true
+		if ! dpkg-statoverride --list /usr/lib/x2go/x2gosqlitewrapper >/dev/null; then
+		    dpkg-statoverride --add --update root x2gouser 2755 /usr/lib/x2go/x2gosqlitewrapper
+		fi
 		;;
 
 	abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/x2goserver.postrm b/debian/x2goserver.postrm
index 3833d5d..a5cdf21 100755
--- a/debian/x2goserver.postrm
+++ b/debian/x2goserver.postrm
@@ -18,7 +18,9 @@ set -e
 
 case "$1" in
 	purge)
-		dpkg-statoverride --remove /usr/lib/x2go/x2gosqlitewrapper || true
+		if dpkg-statoverride --list /usr/lib/x2go/x2gosqlitewrapper >/dev/null; then
+			dpkg-statoverride --remove /usr/lib/x2go/x2gosqlitewrapper
+		fi
 		echo "Removing x2go session database" >&2
 		rm -vf /var/lib/x2go/x2go_sessions
 		rm -vf /etc/x2go/x2gosql/passwords/pgadmin
diff --git a/debian/x2goserver.preinst b/debian/x2goserver.preinst
index a0422ed..117bb2c 100755
--- a/debian/x2goserver.preinst
+++ b/debian/x2goserver.preinst
@@ -21,9 +21,11 @@ set -e
 case "$1" in
 	install|upgrade)
 		# cleanup old x2goserver installations
-		test -f /var/db/x2go/x2go_sessions && rm /var/db/x2go/x2go_sessions
-		test -d /var/db/x2go && rm -Rfv /var/db/x2go/
-		getent group x2gousers >/dev/null && { echo; echo "*** WARNING: found obsolete group ,,x2gousers'', please remove manually!!!"; echo; }
+		rm -Rfv /var/db/x2go/
+		if getent group x2gousers >/dev/null; then 
+			echo "The ,,x2gousers'' is no longer used by x2go and can be"
+			echo "removed as soon as no users are members of this group"
+		fi
 		;;
 	abort-upgrade)
 		;;


hooks/post-receive
-- 
x2goserver.git (X2go Server)

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 "x2goserver.git" (X2go Server).




More information about the x2go-commits mailing list