[X2Go-Commits] x2goserver.git - build-baikal (branch) updated: 3.0.99.7-3-gaaf29c0

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


The branch, build-baikal has been updated
       via  aaf29c0565aee2f6e46d25e33dfc53c05b674646 (commit)
      from  e8d2037ab25e6cf0d137cbe99c1859ded58ddea0 (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:
 Makefile                                           |    6 ++
 debian/changelog                                   |    2 +
 debian/control                                     |   27 ++++-
 x2goserver-xsession/Makefile                       |   95 ++++++++++++++++
 .../VERSION.x2goserver-xsession                    |    0
 x2goserver-xsession/doc/README.Xsession-x2go       |   15 +++
 x2goserver-xsession/etc/Xresources                 |    1 +
 x2goserver-xsession/etc/Xsession                   |  113 ++++++++++++++++++++
 x2goserver-xsession/etc/Xsession.d                 |    1 +
 x2goserver-xsession/etc/Xsession.options           |    1 +
 .../x2gofeature.d/x2goserver-xsession.features     |    3 +-
 x2goserver/bin/x2gostartagent                      |    3 +
 12 files changed, 265 insertions(+), 2 deletions(-)
 create mode 100755 x2goserver-xsession/Makefile
 copy x2goserver-compat/VERSION.x2goserver-compat => x2goserver-xsession/VERSION.x2goserver-xsession (100%)
 create mode 100644 x2goserver-xsession/doc/README.Xsession-x2go
 create mode 120000 x2goserver-xsession/etc/Xresources
 create mode 100755 x2goserver-xsession/etc/Xsession
 create mode 120000 x2goserver-xsession/etc/Xsession.d
 create mode 120000 x2goserver-xsession/etc/Xsession.options
 copy x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features => x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features (96%)

The diff of changes is:
diff --git a/Makefile b/Makefile
index f3111d0..657dcfc 100755
--- a/Makefile
+++ b/Makefile
@@ -10,35 +10,41 @@ build_man2html:
 	cd x2goserver-printing && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-extensions && make $@
+	cd x2goserver-xsession && make $@
 
 clean:
 	cd x2goserver && make $@
 	cd x2goserver-printing && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-extensions && make $@
+	cd x2goserver-xsession && make $@
 
 build-arch:
 	cd x2goserver && make $@
 	cd x2goserver-printing && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-extensions && make $@
+	cd x2goserver-xsession && make $@
 
 build-indep:
 	cd x2goserver && make $@
 	cd x2goserver-printing && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-extensions && make $@
+	cd x2goserver-xsession && make $@
 
 install:
 	cd x2goserver && make $@
 	cd x2goserver-printing && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-extensions && make $@
+	cd x2goserver-xsession && make $@
 
 uninstall:
 	cd x2goserver-extensions && make $@
 	cd x2goserver-compat && make $@
 	cd x2goserver-printing && make $@
 	cd x2goserver && make $@
+	cd x2goserver-xsession && make $@
 
 
diff --git a/debian/changelog b/debian/changelog
index 0a78ac4..179f5fa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ x2goserver (3.0.99.8-0~x2go1) UNRELEASED; urgency=low
 
   * New upstream version (3.0.99.8):
     - Fix feature list in x2goserver-extensions.
+    - Add Xsession.d processing to X2Go (as x2goserver-xsession add-on
+      package).
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 26 Oct 2011 17:37:10 +0200
 
diff --git a/debian/control b/debian/control
index dc1d274..139ed5f 100644
--- a/debian/control
+++ b/debian/control
@@ -38,7 +38,9 @@ Recommends:
  xinit,
  x2goserver-extensions (= ${source:Version})
 Suggests:
- x2goserver-printing (= ${source:Version}), x2goserver-compat (= ${source:Version})
+ x2goserver-printing (= ${source:Version}),
+ x2goserver-compat (= ${source:Version}),
+ x2goserver-xsession (= ${source:Version})
 Breaks:
  x2goserver-one,
  x2goserver-home,
@@ -139,3 +141,26 @@ Description: X2go server daemon scripts (extensions)
  if you want non-legacy X2go clients to be able to
  access your server without lack of features.
 
+Package: x2goserver-xsession
+Architecture: all
+Depends:
+ ${misc:Depends},
+ x2goserver (>= ${source:Version}), x2goserver (<< ${source:Version}.1~),
+ x11-common
+Description: X2go server daemon scripts (Xsession runner)
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
+ .
+ This X2go server add-on enables Xsession script handling
+ when starting desktop sessions with X2go.
+ .
+ Amongst others the parsing of Xsession scripts will
+ enable desktop-profiles, ssh-agent startups, gpgagent
+ startups and many more Xsession related features on 
+ X2go session login automagically.
+
diff --git a/x2goserver-xsession/Makefile b/x2goserver-xsession/Makefile
new file mode 100755
index 0000000..ec4a063
--- /dev/null
+++ b/x2goserver-xsession/Makefile
@@ -0,0 +1,95 @@
+#!/usr/bin/make -f
+
+SRC_DIR=$(CURDIR)
+SHELL=/bin/bash
+
+INSTALL_DIR=install -d -o root -g root -m 755
+INSTALL_FILE=install -o root -g root -m 644
+INSTALL_PROGRAM=install -o root -g root -m 755
+
+RM_FILE=rm -f
+RM_DIR=rmdir -p --ignore-fail-on-non-empty
+
+DESTDIR=
+PREFIX=/usr/local
+ETCDIR=/etc/x2go
+#BINDIR=$(PREFIX)/bin
+#SBINDIR=$(PREFIX)/sbin
+#LIBDIR=$(PREFIX)/lib/x2go
+MANDIR=$(PREFIX)/share/man
+SHAREDIR=$(PREFIX)/share/x2go
+
+#BIN_SCRIPTS=$(shell cd bin && ls)
+#SBIN_SCRIPTS=$(shell cd sbin && ls)
+#LIB_FILES=$(shell cd lib && ls)
+ETC_FILES=$(shell cd etc && ls)
+FEATURE_SCRIPTS=$(shell cd share/x2gofeature.d && ls *.features)
+
+#man_pages = `cd man && find * -type f`
+
+#MAN2HTML_BIN  = man2html
+#MAN2HTML_SRC  = man
+#MAN2HTML_DEST = .build_man2html/html
+
+all: clean build
+
+build: build-indep
+
+build-indep: build_man2html
+
+build-arch:
+
+build_man2html:
+#	mkdir -p $(MAN2HTML_DEST)
+#	for man_page in $(man_pages); do mkdir -p `dirname $(MAN2HTML_DEST)/$$man_page`; done
+#	for man_page in $(man_pages); do $(MAN2HTML_BIN) -r $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done
+
+clean: clean_man2html
+
+clean_man2html:
+#	rm -rf `dirname $(MAN2HTML_DEST)`
+
+install: install_scripts install_config install_man install_version
+
+install_scripts:
+#	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+#	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d
+#	$(INSTALL_PROGRAM) bin/*                $(DESTDIR)$(BINDIR)/
+#	$(INSTALL_PROGRAM) sbin/*               $(DESTDIR)$(SBINDIR)/
+	$(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/
+
+install_config:
+	$(INSTALL_DIR) $(DESTDIR)$(ETCDIR)
+	$(INSTALL_FILE) etc/*                   $(DESTDIR)$(ETCDIR)/
+
+install_man:
+#	$(INSTALL_DIR) $(DESTDIR)$(MANDIR)
+#	$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man8
+#	$(INSTALL_FILE) man/man8/*.8           $(DESTDIR)$(MANDIR)/man8
+#	gzip -f $(DESTDIR)$(MANDIR)/man8/x2go*.8
+
+install_version:
+	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/versions
+	$(INSTALL_FILE) VERSION.x2goserver-xsession     $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsession
+
+uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version
+
+uninstall_scripts:
+#	for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done
+#	for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SBINDIR)/$$file; done
+	for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done
+
+uninstall_config:
+	for file in $(ETC_FILES); do $(RM_FILE) $(DESTDIR)$(ETCDIR)/$$file; done
+
+uninstall_man:
+#	for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
+#	for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
+#	$(RM_DIR)  $(DESTDIR)$(MANDIR) || true
+
+uninstall_version:
+	$(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsession
+	$(RM_DIR)  $(DESTDIR)$(SHAREDIR)/versions || true
diff --git a/x2goserver-compat/VERSION.x2goserver-compat b/x2goserver-xsession/VERSION.x2goserver-xsession
similarity index 100%
copy from x2goserver-compat/VERSION.x2goserver-compat
copy to x2goserver-xsession/VERSION.x2goserver-xsession
diff --git a/x2goserver-xsession/doc/README.Xsession-x2go b/x2goserver-xsession/doc/README.Xsession-x2go
new file mode 100644
index 0000000..6324737
--- /dev/null
+++ b/x2goserver-xsession/doc/README.Xsession-x2go
@@ -0,0 +1,15 @@
+Xsession-x2go README
+====================
+
+With X2Go it is possible to use Xsession config files of your
+local X11 system.
+
+By default most files and folders related to Xsession config
+are symlinks to the corresponding file/folder in /etc/X11.
+
+If you want to customize your X2Go server's Xsession setup
+copy the corresponding files from /etc/X11 to /etc/x2go and
+adapt the setup to your needs.
+
+light+love,
+Mike Gabriel, 20111027
diff --git a/x2goserver-xsession/etc/Xresources b/x2goserver-xsession/etc/Xresources
new file mode 120000
index 0000000..484aa45
--- /dev/null
+++ b/x2goserver-xsession/etc/Xresources
@@ -0,0 +1 @@
+/etc/X11/Xresources
\ No newline at end of file
diff --git a/x2goserver-xsession/etc/Xsession b/x2goserver-xsession/etc/Xsession
new file mode 100755
index 0000000..6a6ca58
--- /dev/null
+++ b/x2goserver-xsession/etc/Xsession
@@ -0,0 +1,113 @@
+#!/bin/sh
+#
+# /etc/x2go/Xsession
+#
+# X2go Xsession file -- used by x2goserver Xsession.d add-on.
+
+# This file has been derived from the global Xsession file in Debian squeeze
+
+set -e
+
+PROGNAME=XSession-x2go
+
+message () {
+  # pretty-print messages of arbitrary length; use xmessage if it
+  # is available and $DISPLAY is set
+  MESSAGE="$PROGNAME: $*"
+  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
+  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
+    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
+  fi
+}
+
+message_nonl () {
+  # pretty-print messages of arbitrary length (no trailing newline); use
+  # xmessage if it is available and $DISPLAY is set
+  MESSAGE="$PROGNAME: $*"
+  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
+  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
+    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
+  fi
+}
+
+errormsg () {
+  # exit script with error
+  message "$*"
+  exit 1
+}
+
+internal_errormsg () {
+  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
+  # One big call to message() for the sake of xmessage; if we had two then
+  # the user would have dismissed the error we want reported before seeing the
+  # request to report it.
+  errormsg "$*" \
+           "Please report the installed version of the \"x2goserver\"" \
+           "package and the complete text of this error message to" \
+           "<x2go-dev at lists.x2go.org>."
+}
+
+# initialize variables for use by all session scripts
+
+OPTIONFILE=/etc/x2go/Xsession.options
+
+SYSRESOURCES=/etc/x2go/Xresources
+USRRESOURCES=$HOME/.Xresources-x2go
+
+SYSSESSIONDIR=/etc/x2go/Xsession.d
+USERXSESSION=$HOME/.xsession-x2go
+USERXSESSIONRC=$HOME/.xsessionrc-x2go
+ALTUSERXSESSION=$HOME/.Xsession-x2go
+ERRFILE=$HOME/.xsession-x2go-errors
+
+# attempt to create an error file; abort if we cannot
+if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
+  [ ! -L "$ERRFILE" ]; then
+  chmod 600 "$ERRFILE"
+elif ERRFILE=$(tempfile 2> /dev/null); then
+  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-x2go-$USER"; then
+    message "warning: unable to symlink \"$TMPDIR/xsession-x2go-$USER\" to" \
+             "\"$ERRFILE\"; look for session log/errors in" \
+             "\"$TMPDIR/xsession-x2go-$USER\"."
+  fi
+else
+  errormsg "unable to create X session (X2Go) log/error file; aborting."
+fi
+
+exec >>"$ERRFILE" 2>&1
+
+echo "$PROGNAME: X session started for $LOGNAME at $(date)"
+
+# sanity check; is our session script directory present?
+if [ ! -d "$SYSSESSIONDIR" ]; then
+  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
+fi
+
+# Attempt to create a file of non-zero length in /tmp; a full filesystem can
+# cause mysterious X session failures.  We do not use touch, :, or test -w
+# because they won't actually create a file with contents.  We also let standard
+# error from tempfile and echo go to the error file to aid the user in
+# determining what went wrong.
+WRITE_TEST=$(tempfile)
+if ! echo "*" >>"$WRITE_TEST"; then
+  message "warning: unable to write to ${WRITE_TEST%/*}; X session (X2Go) may" \
+          "exit with an error"
+fi
+rm -f "$WRITE_TEST"
+
+# use run-parts to source every file in the session directory; we source
+# instead of executing so that the variables and functions defined above
+# are available to the scripts, and so that they can pass variables to each
+# other
+SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
+if [ -n "$SESSIONFILES" ]; then
+  set +e
+  for SESSIONFILE in $SESSIONFILES; do
+    . $SESSIONFILE
+  done
+  set -e
+fi
+
+exit 0
+
+# vim:set ai et sts=2 sw=2 tw=80:
diff --git a/x2goserver-xsession/etc/Xsession.d b/x2goserver-xsession/etc/Xsession.d
new file mode 120000
index 0000000..f64317e
--- /dev/null
+++ b/x2goserver-xsession/etc/Xsession.d
@@ -0,0 +1 @@
+/etc/X11/Xsession.d
\ No newline at end of file
diff --git a/x2goserver-xsession/etc/Xsession.options b/x2goserver-xsession/etc/Xsession.options
new file mode 120000
index 0000000..72929e1
--- /dev/null
+++ b/x2goserver-xsession/etc/Xsession.options
@@ -0,0 +1 @@
+/etc/X11/Xsession.options
\ No newline at end of file
diff --git a/x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features b/x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features
similarity index 96%
copy from x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features
copy to x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features
index 7332656..9fb329e 100755
--- a/x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features
+++ b/x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features
@@ -29,7 +29,8 @@ X2GO_FEATURE=$1
 # check for X2go server core features
 case "$X2GO_FEATURE" in
 
-    "X2GO_PRINTING") echo "ok"; exit 0;;
+    "X2GO_XSESSION") echo "ok"; exit 0;;
     *) exit -1;;
+
 esac
 
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 00c2a58..3d26a9e 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -238,6 +238,9 @@ X2GO_AGENT_RETVAL=$?
 test $X2GO_AGENT_RETVAL && {
 	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "successfully started X2go agent session with ID $SESSION_NAME"
 
+	# initialize x2goserver-xsession (process /etc/x2go/Xsession)
+	x2gofeature X2GO_XSESSION &>/dev/null && [ "x$SESSION_TYPE" = "xD" ] && . /etc/x2go/Xsession
+
 	# run x2goserver-extensions for post-start
 	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-start
 


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