[X2Go-Commits] x2goserver.git - master (branch) updated: 3.1.1.3-288-gbb6c22d

X2Go dev team git-admin at x2go.org
Tue Dec 10 09:51:29 CET 2013


The branch, master has been updated
       via  bb6c22da7518d9042f1b6eab78645bf092ce82e5 (commit)
      from  92d6900e290f24d15201b03d581156d1b21d9825 (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 bb6c22da7518d9042f1b6eab78645bf092ce82e5
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Dec 10 09:50:39 2013 +0100

    X2Go session DB creation revisited...
    
      * debian/x2goserver.postinst, debian/libx2go-server-db-perl:
        + Handle X2Go session DB creation in x2goserver _and_
          perl-X2Go-Server-DB on postinst.
      * x2goclient.spec:
        + Handle X2Go session DB creation in x2goserver _and_
          perl-X2Go-Server-DB on postinst.

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

Summary of changes:
 debian/changelog                       |    7 +++++--
 debian/libx2go-server-db-perl.postinst |   21 +++++++++++++++++++++
 debian/x2goserver.postinst             |    7 ++++++-
 x2goserver.spec                        |   22 +++++++++++++++-------
 4 files changed, 47 insertions(+), 10 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 3b70829..f347917 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -44,8 +44,9 @@ x2goserver (4.1.0.0-0x2go1) UNRELEASED; urgency=low
       x2goserver.conf in new x2goserver-common package.
     + Move several x2goserver-* package to x2goserver's Recommends field.
     + Add Reinhard Tartler to Uploaders.
-  * debian/x2goserver.postinst:
-    + Make sure x2godbadmin is evoked from package x2goserver.
+  * debian/x2goserver.postinst, debian/libx2go-server-db-perl:
+    + Handle X2Go session DB creation in x2goserver _and_
+      perl-X2Go-Server-DB on postinst.
   * debian/x2goserver.init:
     + Rely on $PATH when invoking x2gocleansessions.
   * Move code in pre/post+inst/rm scripts around (from x2goserver package
@@ -53,6 +54,8 @@ x2goserver (4.1.0.0-0x2go1) UNRELEASED; urgency=low
   * x2goclient.spec:
     + Bring debian/control and x2goclient.spec in sync.
     + Make sure x2godbadmin is evoked from package x2goserver.
+    + Handle X2Go session DB creation in x2goserver _and_
+      perl-X2Go-Server-DB on postinst.
 
   [ Guangzhou Nianguan Electronics Technology Co.Ltd. ]
   * New upstream version (4.1.0.0):
diff --git a/debian/libx2go-server-db-perl.postinst b/debian/libx2go-server-db-perl.postinst
index 239d5c9..f90d226 100755
--- a/debian/libx2go-server-db-perl.postinst
+++ b/debian/libx2go-server-db-perl.postinst
@@ -29,6 +29,27 @@ case "$1" in
 		if ! dpkg-statoverride --list /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper >/dev/null; then
 		    dpkg-statoverride --add --update root x2gouser 2755 /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
 		fi
+
+		# setup up SQLite3 database, do nothing if PostgeSQL is already configured
+		#
+		# Note: The below code exists in x2goserver.postinst and libx2go-server-db.postinst
+		# It will only succeed if both packages are installed. As we cannot influence the
+		# installation order, we handle the session DB creation in both packages. One of
+		# then should succeed.
+		if [ -x /usr/sbin/x2godbadmin ] && [ -f /etc/x2go/x2gosql/sql ] && egrep "^backend=sqlite.*" /etc/x2go/x2gosql/sql 1>/dev/null; then
+			if [ ! -f /var/lib/x2go/x2go_sessions ]; then
+				x2godbadmin --createdb
+			else
+				# make sure db permissions are set correctly
+				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
+		else
+			echo "X2Go is configured to use a non-SQLite DB backend, leaving the database alone."
+		fi
 		;;
 
 	abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/x2goserver.postinst b/debian/x2goserver.postinst
index 2772bcb..684eff4 100755
--- a/debian/x2goserver.postinst
+++ b/debian/x2goserver.postinst
@@ -57,7 +57,12 @@ case "$1" in
 			ln -s /usr/share/applications /etc/x2go/applications
 		fi
 
-		# setup up SQLite3 database, do nothing if PostgeSQL is already configured
+		# Setup up SQLite3 database, do nothing if PostgeSQL is already configured
+		#
+		# Note: The below code exists in x2goserver.postinst and libx2go-server-db.postinst
+		# It will only succeed if both packages are installed. As we cannot influence the
+		# installation order, we handle the session DB creation in both packages. One of
+		# then should succeed.
 		if [ -f /etc/x2go/x2gosql/sql ] && egrep "^backend=sqlite.*" /etc/x2go/x2gosql/sql >/dev/null; then
 			if [ ! -f /var/lib/x2go/x2go_sessions ]; then
 				x2godbadmin --createdb
diff --git a/x2goserver.spec b/x2goserver.spec
index 5b0d91b..240a1e2 100644
--- a/x2goserver.spec
+++ b/x2goserver.spec
@@ -262,10 +262,6 @@ make install DESTDIR=%{buildroot} PREFIX=%{_prefix} XSESSIONDIR=/etc/X11/xinit/X
 # Make sure the .packlist file is removed from %{perl_vendorarch}...
 rm -f %{buildroot}%{perl_vendorarch}/auto/x2goserver/.packlist
 
-# Make symbolic link relative
-rm %{buildroot}%{_sysconfdir}/x2go/Xresources
-ln -s ../X11/Xresources %{buildroot}%{_sysconfdir}/x2go/
-
 # Remove placeholder files
 rm %{buildroot}%{_libdir}/x2go/extensions/*.d/.placeholder
 
@@ -287,6 +283,7 @@ mkdir -p %{buildroot}%{_initddir}
 install -pm0755 %SOURCE2 %{buildroot}%{_initddir}/x2goserver
 %endif
 
+
 %pre common
 getent group x2gouser >/dev/null || groupadd -r x2gouser
 getent passwd x2gouser >/dev/null || \
@@ -294,27 +291,32 @@ getent passwd x2gouser >/dev/null || \
     -c "x2go" x2gouser
 exit 0
 
+
 %post
-# Initialize the session database
+# Initialize the session database (first attempt, may fail if perl-X2Go-Server-DB is not yet installed
 [ ! -f %{_sharedstatedir}/x2go/x2go_sessions ] &&
-  %{_sbindir}/x2godbadmin --createdb || :
+  %{_sbindir}/x2godbadmin --createdb 1>/dev/null 2>/dev/null || :
 
 %if 0%{?fedora}
 %systemd_post x2goserver.service
 
+
 %preun
 %systemd_preun x2goserver.service
 
+
 %postun
 %systemd_postun x2goserver.service
 %else
 /sbin/chkconfig --add x2goserver
 
+
 %postun
 if [ "$1" -ge "1" ] ; then
     /sbin/service x2goserver condrestart >/dev/null 2>&1 || :
 fi
 
+
 %preun
 if [ "$1" = 0 ]; then
         /sbin/service x2goserver stop >/dev/null 2>&1
@@ -322,6 +324,13 @@ if [ "$1" = 0 ]; then
 fi
 %endif
 
+
+%post -n perl-X2Go-Server-DB
+# Initialize the session database (second attempt, may fail if x2goserver is not yet installed
+[ ! -f %{_sharedstatedir}/x2go/x2go_sessions ] &&
+  %{_sbindir}/x2godbadmin --createdb 1>/dev/null 2>/dev/null || :
+
+
 %pre printing
 getent group x2goprint >/dev/null || groupadd -r x2goprint
 getent passwd x2goprint >/dev/null || \
@@ -329,7 +338,6 @@ getent passwd x2goprint >/dev/null || \
     -c "x2go" x2goprint
 exit 0
 
-
 %files
 %doc debian/copyright
 %doc debian/changelog


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