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

X2Go dev team git-admin at x2go.org
Fri Jan 3 20:53:36 CET 2014


The branch, build-baikal 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 -----------------------------------------------------------------
-----------------------------------------------------------------------

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