[X2Go-Commits] x2gothinclient.git - master (branch) updated: 1.0.1.8-71-g3556daf
X2Go dev team
git-admin at x2go.org
Fri Mar 29 17:16:13 CET 2013
The branch, master has been updated
via 3556daf2eeffa81046d247320d41673595571be3 (commit)
via be15f7fafb8204df30ef4afc81e6556d094410ba (commit)
via 940adc9b5c6c51b920070bc007166789453da752 (commit)
from 719d5615fb68c4a7480364e429687d844578199f (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/control | 3 +-
debian/po/POTFILES.in | 1 +
debian/po/de.po | 75 ++++++++++++++++++++++++++++++++++++
debian/po/templates.pot | 61 +++++++++++++++++++++++++++++
debian/rules | 1 +
debian/x2gothinclient.config | 50 ++++++++++++++++++++++++
debian/x2gothinclient.init | 61 +++++++++++++++--------------
debian/x2gothinclient.postinst | 30 +++++++++++++++
debian/x2gothinclient.prerm | 81 +++++++++++++++++++++++++++++++++++++++
debian/x2gothinclient.templates | 20 ++++++++++
11 files changed, 360 insertions(+), 30 deletions(-)
create mode 100644 debian/po/POTFILES.in
create mode 100644 debian/po/de.po
create mode 100644 debian/po/templates.pot
create mode 100644 debian/x2gothinclient.config
create mode 100755 debian/x2gothinclient.prerm
create mode 100644 debian/x2gothinclient.templates
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 1771cdd..3e59550 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -53,6 +53,7 @@ x2gothinclient (1.0.99.1-0~x2go1) UNRELEASED; urgency=low
/etc/fstab template.
- x2gothinclient_update: make sure config target folders exist.
- x2gothinclient_create: syntax fix, spotted by Thomas Güttler (Fixes: #95).
+ - Export $LANG and $LANGUAGE to TCE daemon.
* /debian/control:
+ Maintainer change in package: X2Go Developers <x2go-dev at lists.berlios.de>.
+ Priority: optional.
@@ -70,6 +71,12 @@ x2gothinclient (1.0.99.1-0~x2go1) UNRELEASED; urgency=low
installed into package.
* /debian/x2gothinclient.init:
+ Update pointer to X2Go TCE documentation on http://wiki.x2go.org.
+ * /debian/po/*:
+ + Use po-debconf for translating debconf templates. Add German debconf
+ translation.
+ * Launch X2Go TCE via /etc/X11/default-display-manager. Add debconf template
+ to handle default display manager selection. Inspired by Debian's gdm
+ package.
[ Oleksandr Shneyder ]
* New upstream version (1.0.99.1):
diff --git a/debian/control b/debian/control
index b0b1737..bdb0917 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,8 @@ Uploaders:
Build-Depends:
debhelper (>= 7.0.50~),
qt4-qmake,
- libqt4-dev
+ libqt4-dev,
+ po-debconf,
Standards-Version: 3.9.3
Homepage: http://code.x2go.org/releases/source/x2gothinclient
Vcs-Git: git://code.x2go.org/x2gothinclient.git
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644
index 0000000..eefda6d
--- /dev/null
+++ b/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] x2gothinclient.templates
diff --git a/debian/po/de.po b/debian/po/de.po
new file mode 100644
index 0000000..0c9f8bc
--- /dev/null
+++ b/debian/po/de.po
@@ -0,0 +1,75 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: x2gothinclient at packages.debian.org\n"
+"POT-Creation-Date: 2013-03-29 16:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>\n"
+"Language-Team: German <x2go-i18n at lists.berlios.de>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid "Default display manager:"
+msgstr "Standardmäßiger Display-Manager"
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"On X2Go thin clients X2Go Client is sort of used as a display manager. For "
+"this, X2Go Client gets started in TCE mode. The TCE acronym stands for thin "
+"client environment. In TCE mode, X2Go Client manages the default display of "
+"the X Window System."
+msgstr ""
+"Auf X2Go Thinclients fungiert X2Go Client als in eine Art Display-Manager. "
+"Hierfür wird X2Go Client im TCE-Modus gestartet. Das Akronym TCE steht für "
+"Thin Client Environment. Im TCE-Modus verwaltet X2Go Client das "
+"standardmäßige Display des X-Window Systems."
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"Generally, a display manager is a program that provides graphical login "
+"capabilities for the X Window System. Other display managers for example are "
+"GDM, KDM, etc. Login is--in most cases--granted to the local system."
+msgstr ""
+"Allgemein ist ein Display-Manager ein Programm, dass die grafisch Anmeldung "
+"am System koordiniert. Andere Display-Manager sind zum Beispiel GDM, KDM, etc. "
+"Ein Anmeldung wird in den meisten Fällen am System lokal durchgeführt."
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"However, X2Go Client in TCE mode does appear like a display manager, but it "
+"will log you onto pre-defined X2Go sessions on remote servers."
+msgstr ""
+"Startet hingegen X2Go Client im TCE-Modus, dann erscheint X2Go Client als "
+"Display-Manager. Allerdings findet die Anmeldung nicht lokal statt, sondern "
+"an einem entfernten X2Go Server."
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"As you are about to install X2Go Client in TCE mode on this machine and as "
+"you already have other display managers installed on this machine, please "
+"explicitly select which display manager is supposed to be the default for "
+"your system."
+msgstr ""
+"Da Sie gerade dabei sind X2Go Client im TCE-Modus zu installieren und da "
+"auch noch weitere Display-Manager auf dem System installiert sind, wählen "
+"Sie bitte explizit aus, welcher Display-Manager standardmäßig verwendet "
+"werden soll."
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644
index 0000000..15e68de
--- /dev/null
+++ b/debian/po/templates.pot
@@ -0,0 +1,61 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: x2gothinclient at packages.debian.org\n"
+"POT-Creation-Date: 2013-03-29 16:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid "Default display manager:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"On X2Go thin clients X2Go Client is sort of used as a display manager. For "
+"this, X2Go Client gets started in TCE mode. The TCE acronym stands for thin "
+"client environment. In TCE mode, X2Go Client manages the default display of "
+"the X Window System."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"Generally, a display manager is a program that provides graphical login "
+"capabilities for the X Window System. Other display managers for example are "
+"GDM, KDM, etc. Login is--in most cases--granted to the local system."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"However, X2Go Client in TCE mode does appear like a display manager, but it "
+"will log you onto pre-defined X2Go sessions on remote servers."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../x2gothinclient.templates:1001
+msgid ""
+"As you are about to install X2Go Client in TCE mode on this machine and as "
+"you already have other display managers installed on this machine, please "
+"explicitly select which display manager is supposed to be the default for "
+"your system."
+msgstr ""
diff --git a/debian/rules b/debian/rules
index 26ed4fe..afa898a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -45,6 +45,7 @@ binary-arch: build-arch
dh_install
dh_installinit
dh_installman
+ dh_installdebconf
dh_link
dh_strip
dh_compress
diff --git a/debian/x2gothinclient.config b/debian/x2gothinclient.config
new file mode 100644
index 0000000..ac2bcc9
--- /dev/null
+++ b/debian/x2gothinclient.config
@@ -0,0 +1,50 @@
+#!/bin/sh
+# x2gothinclient package configuration script
+
+set -e
+
+# source debconf library
+. /usr/share/debconf/confmodule
+
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+OLD_DEFAULT=
+db_metaget shared/default-x-display-manager owners
+OWNERS="$RET"
+db_metaget shared/default-x-display-manager choices
+CHOICES="$RET"
+
+if [ "$OWNERS" != "$CHOICES" ]; then
+ db_subst shared/default-x-display-manager choices $OWNERS
+ db_fset shared/default-x-display-manager seen false
+fi
+
+if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ OLD_DAEMON="$(grep -v '^[[:space:]]*#' \
+ "$DEFAULT_DISPLAY_MANAGER_FILE" |
+ head -n 1)"
+ OLD_DEFAULT="$(basename $OLD_DAEMON 2>/dev/null || true)"
+ if [ -n "$OLD_DEFAULT" ]; then
+ db_set shared/default-x-display-manager "$OLD_DEFAULT"
+ fi
+else
+ if db_get shared/default-x-display-manager; then
+ OLD_DEFAULT="$RET"
+ fi
+fi
+
+db_input high shared/default-x-display-manager || true
+db_go
+
+# using this display manager?
+db_get shared/default-x-display-manager
+CURRENT_DEFAULT="$RET"
+
+# remove the default display manager file if we're going to change it
+if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ if [ "$OLD_DEFAULT" != "$CURRENT_DEFAULT" ]; then
+ mv $DEFAULT_DISPLAY_MANAGER_FILE $DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp
+ fi
+fi
+
+exit 0
diff --git a/debian/x2gothinclient.init b/debian/x2gothinclient.init
index 18d4181..56b817b 100644
--- a/debian/x2gothinclient.init
+++ b/debian/x2gothinclient.init
@@ -29,6 +29,16 @@
# Short-Description: Start and stop the x2go thinclient daemon
### END INIT INFO
+set -e
+
+# use system's locale settings for the X2Go Client in TCE mode
+if [ -r /etc/default/locale ]; then
+ . /etc/default/locale
+ export LANG LANGUAGE
+fi
+
+. /lib/lsb/init-functions
+
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export HOSTNAME
DAEMON=/usr/sbin/x2gothinclientd
@@ -45,42 +55,36 @@ fi
# pre-init X2Go Thin Client through init script...
test -x /etc/x2go/x2gothinclient_init && . /etc/x2go/x2gothinclient_init
-set -e
+# To start x2gothinclient even if it is not the default display manager, change
+# HEED_DEFAULT_DISPLAY_MANAGER to "false."
+HEED_DEFAULT_DISPLAY_MANAGER=${HEED_DEFAULT_DISPLAY_MANAGER:-true}
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
case "$1" in
start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
+ CONFIGURED_DAEMON="$(basename \"$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)\")"
+ if grep -wqs text /proc/cmdline; then
+ log_warning_msg "Not starting GNOME Display Manager (gdm); found 'text' in kernel commandline."
+ elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ] && \
+ [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && \
+ [ "$CONFIGURED_DAEMON" != x2gothinclientd ] ; then
+ log_action_msg "Not starting X2Go Client in TCE mode; it is not configured as default display manager"
+ else
+ log_daemon_msg "Starting $DESC" "x2gothinclientd"
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+ log_end_msg $?
+ fi
;;
stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid && echo "$NAME." || echo "not running"
+ if [ -e /var/run/$NAME.pid ]; then
+ log_daemon_msg "Stopping $DESC" "x2gothinclientd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid && echo "$NAME." || echo "not running"
+ log_end_msg $?
+ fi
;;
- #reload)
- #
- # If the daemon can reload its config files on the fly
- # for example by sending it SIGHUP, do it here.
- #
- # If the daemon responds to changes in its config file
- # directly anyway, make this a do-nothing entry.
- #
- # echo "Reloading $DESC configuration files."
- # start-stop-daemon --stop --signal 1 --quiet --pidfile \
- # /var/run/$NAME.pid --exec $DAEMON
- #;;
force-reload)
- #
- # If the "reload" option is implemented, move the "force-reload"
- # option to the "reload" entry above. If not, "force-reload" is
- # just the same as "restart" except that it does nothing if the
- # daemon isn't already running.
# check wether $DAEMON is running. If so, restart
- start-stop-daemon --stop --test --quiet --pidfile \
- /var/run/$NAME.pid \
- && $0 restart \
- || exit 0
+ start-stop-daemon --stop --test --quiet --pidfile /var/run/$NAME.pid && $0 restart || exit 0
;;
restart)
$0 stop
@@ -89,7 +93,6 @@ case "$1" in
;;
*)
N=/etc/init.d/$NAME
- # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
diff --git a/debian/x2gothinclient.postinst b/debian/x2gothinclient.postinst
index bc7f005..be096ce 100755
--- a/debian/x2gothinclient.postinst
+++ b/debian/x2gothinclient.postinst
@@ -5,6 +5,9 @@
set -e
+# source debconf's configuration module
+. /usr/share/debconf/confmodule
+
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
@@ -17,6 +20,33 @@ set -e
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
+THIS_PACKAGE=x2gothinclient
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+# debconf is not a registry, so we only fiddle with the default file if it
+# does not exist
+if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
+ if db_get shared/default-x-display-manager; then
+ # workaround debconf passthru bug (#379198)
+ if [ -z "$RET" ]; then
+ $RET="$THIS_PACKAGE"
+ fi
+ if [ "$THIS_PACKAGE" != "$RET" ]; then
+ echo "Please be sure to run \"dpkg --configure $RET\"."
+ fi
+ echo "/usr/sbin/x2gothinclientd" > $DEFAULT_DISPLAY_MANAGER_FILE
+ fi
+fi
+
+# remove the displaced old default display manager file if it exists
+if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
+ rm "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp"
+fi
+
+# debconf hangs if gdm gets started below without this
+db_stop || true
+
+
case "$1" in
configure)
diff --git a/debian/x2gothinclient.prerm b/debian/x2gothinclient.prerm
new file mode 100755
index 0000000..92edd7a
--- /dev/null
+++ b/debian/x2gothinclient.prerm
@@ -0,0 +1,81 @@
+#! /bin/sh
+
+# prerm script for x2gothinclient
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# source debconf's configuration module
+. /usr/share/debconf/confmodule
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+THIS_PACKAGE=x2gothinclient
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then
+
+ # disown this question
+ db_unregister shared/default-x-display-manager || true
+
+ # does the question still exist?
+ if db_get shared/default-x-display-manager; then
+ db_metaget shared/default-x-display-manager owners
+ db_subst shared/default-x-display-manager choices "$RET"
+ db_get shared/default-x-display-manager
+ # are we removing the currently selected display manager?
+ if [ "$THIS_PACKAGE" = "$RET" ]; then
+ if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "/usr/sbin/x2gothinclientd" ]; then
+ rm "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+
+ # ask the user to choose a new default
+ db_fset shared/default-x-display-manager seen false
+ db_input critical shared/default-x-display-manager || true
+ db_go
+
+ # if the display manager file doesn't exist, write it with the path
+ # to the new default display manager
+ if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
+ db_get shared/default-x-display-manager
+ echo "Please be sure to run \"dpkg-reconfigure $RET\"."
+ db_get "$RET"/daemon_name
+ echo "$RET" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+ fi
+fi
+
+
+case "$1" in
+ remove)
+ if [ -x /etc/init.d/x2gothinclient ]; then
+ invoke-rc.d x2gothinclient stop
+ fi
+ ;;
+ deconfigure|upgrade|failed-upgrade)
+ :
+ ;;
+ *) echo "$0: didn't understand being called with \`$1'" 1>&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/x2gothinclient.templates b/debian/x2gothinclient.templates
new file mode 100644
index 0000000..1f10ecd
--- /dev/null
+++ b/debian/x2gothinclient.templates
@@ -0,0 +1,20 @@
+Template: shared/default-x-display-manager
+Type: select
+Choices: ${choices}
+_Description: Default display manager:
+ On X2Go thin clients X2Go Client is sort of used as a display manager. For
+ this, X2Go Client gets started in TCE mode. The TCE acronym stands for
+ thin client environment. In TCE mode, X2Go Client manages the default
+ display of the X Window System.
+ .
+ Generally, a display manager is a program that provides graphical login
+ capabilities for the X Window System. Other display managers for example
+ are GDM, KDM, etc. Login is--in most cases--granted to the local system.
+ .
+ However, X2Go Client in TCE mode does appear like a display manager, but
+ it will log you onto pre-defined X2Go sessions on remote servers.
+ .
+ As you are about to install X2Go Client in TCE mode on this machine and as
+ you already have other display managers installed on this machine, please
+ explicitly select which display manager is supposed to be the default for
+ your system.
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