This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch feature/x2goserver-xsettings in repository x2goserver. discards 42b2125 xsettings: remove temporary file in x2goserver_xsettings_merge. discards 37fea37 xsettings: fix speling errors in POSIX BRE character classes. discards ef94bea xsettings: try really hard to avoid name clashes by prefixing own shell functions with x2goserver_xsettings_. discards 2520776 xsettings: rename faulty "base" to "data". discards 696f7e3 xsettings: remove faulty directory installed by Makefile from debian/x2goserver-xsettings.install. discards d5b47e0 xsettings: add missing post-resume.d targets to Makefile. discards 9b1e88f extensions: add data/common.sh, providing commonly used variables. discards 4dadfa6 xsettings: split up common functionality (variables, functions) into extensions/base/x2goserver-xsettings-common.sh and reference this file in hooks. discards 01e9a55 extensions: add "data" directory to man page. discards df2e282 extensions: add data directory in hooks directory used for shared data/programs/scripts. discards 7755b30 x2goserver: add generic typo and whitespace fixes comment to debian/changelog. discards b6c7ef3 x2goserver: add x2gopath etc addition to debian/changelog. discards 78594b8 xsettings: add post-resume hook. source line must still be fixed to access shared shell code. TBD. discards f291832 xsettings: add debian/x2goserver-xsettings.manpages. discards fe2baa6 xsettings: add debian/x2goserver-xsettings.install. discards dc73ef5 xsettings: add debian/x2goserver-xsettings.dirs. discards 927fa15 xsettings: add debian/changelog entries to reflect x2goserver-xsettings addition. discards a0864d7 xsettings: add x2goserver-xsettings package to debian/control. discards 35ab117 xsettings: spell XSETTINGS in uppercase in RPM spec file. discards 70798b3 xsettings: change RPM spec file to include the new x2goserver-xsettings package. discards e5c3d07 xsettings: documentation update, describe the newly implemented features. discards 82425ea xsettings: rename xsettings.conf previously missed. discards ae7792b xsettings: create XSETTINGSD_OVERRIDES_CONF if missing. discards 7a4a5b5 xsettings: add comment explaining the merge shell function and its requirements. discards 2e69748 xsettings: remove .conf suffix from xsettingsd config files. discards b008e93 xsettings: use merge shell function to merge the determined base config with the overrides config. discards ab25df3 xsettings: set XSETTINGSD_BASE_CONF to either the remote config to be pushed to the settings dir by a generic client or, if that is not available, the shipped global config in SYSCONFDIR. discards 007d6ec xsettings: add XSETTINGSD_OVERRIDES_CONF for the user-provided config overriding arbitrary settings and XSETTINGSD_CONF as the file eventually to be used by xsettingsd. discards cc6c8fa xsettings: rename XSETTINGSD_USER_CONF to XSETTINGSD_REMOTE_CONF. discards 625dddb xsettings: use out file directly, no need for a second temp file. discards 95737dc xsettings: filter out overriden keys. Add the rest to the second temporary file. discards 0f16fd2 xsettings: add loop through base file extracting key-value pairs. discards 4bfbe91 xsettings: go through overrides file and extract key-value pairs, write them into temp files for future reference. discards a21c2fe xsettings: add session dir parameter to merge shell function and create two temporary files in that session directory. discards bc16d31 xsettings: add extract_value shell function to be used on a sanitized xsettingsd config file line. discards e9e21b1 xsettings: add extract_key shell function to be used on a sanitized xsettingsd config file line. discards d17b4fa xsettings: add sanitize_line shell function to remove white space and comments from an xsettingsd config file line. discards c3956a0 xsettings: add incomplete merge function to startup script. discards c3dc40d xsettings: also delete pre-processed man pages in clean_man2html target. discards c7ec4b2 xsettings: pregen man files by piping man pages ending in .in through sed to replace placeholders. discards 081631e xsettings: fix default config file. discards 4ec0b5a xsettings: add manual page. discards a055178 xsettings: add X2GO_XSETTINGS feature. discards 7c05046 xsettings: add default xsettingsd configuration file enabling MenuImages and ButtonImages. discards a10fb98 xsettings: add pre-terminate hook. discards a82068f xsettings: add post-start hook. discards 1a23dd0 xsettings: add VERSION file. discards efe2a07 x2goserver: add 'etc' target to x2gopath, use value specified in Makefile at build time. discards ec962a7 xsettings: add README.md. discards 296a200 xsettings: add new stub. adds 825df7b x2goserver.spec: only create session DB in x2goserver's post install script. adds 532d4f3 x2goserver.spec: add support for %{_datadir}/applications symlink in %{_sysconfdir}/x2go. adds aa1929e x2goserver.spec: don't use %{_sbindir} for chkconfig and service on SLE{S,D}. adds bcafc6f x2goserver.spec: change deprecated and removed PreReq to Requires(pre) header. adds ecd0451 release 4.0.1.19 (cherry-picked from release/4.0.1.x branch) adds e68165a TERMINAL Session: Add support for qterminal adds e617a5b x2goserver/bin/x2gogetapps: respect NoDisplay and Hidden values, don't parse the full desktop file if there are non-Desktop Entries groups. adds 6ec2dcd x2goserver/bin/x2gogetapps: first define an array, then use it... adds 4814587 x2goserver/bin/x2gogetapps: do not print spurious newlines. new 10b847e xsettings: add new stub. new 0072d8a xsettings: add README.md. new 1146f9f x2goserver: add 'etc' target to x2gopath, use value specified in Makefile at build time. new 933529e xsettings: add VERSION file. new 29fefd7 xsettings: add post-start hook. new cbf9e1c xsettings: add pre-terminate hook. new 7e04967 xsettings: add default xsettingsd configuration file enabling MenuImages and ButtonImages. new 5f70a94 xsettings: add X2GO_XSETTINGS feature. new 1cb7165 xsettings: add manual page. new b7e4f22 xsettings: fix default config file. new 90b10cd xsettings: pregen man files by piping man pages ending in .in through sed to replace placeholders. new 58cbdaf xsettings: also delete pre-processed man pages in clean_man2html target. new 345f9f1 xsettings: add incomplete merge function to startup script. new 5c03855 xsettings: add sanitize_line shell function to remove white space and comments from an xsettingsd config file line. new 0db30a0 xsettings: add extract_key shell function to be used on a sanitized xsettingsd config file line. new b5359fe xsettings: add extract_value shell function to be used on a sanitized xsettingsd config file line. new dcde05b xsettings: add session dir parameter to merge shell function and create two temporary files in that session directory. new e4798c5 xsettings: go through overrides file and extract key-value pairs, write them into temp files for future reference. new 05b7270 xsettings: add loop through base file extracting key-value pairs. new 8e5ba30 xsettings: filter out overriden keys. Add the rest to the second temporary file. new d356d1c xsettings: use out file directly, no need for a second temp file. new f9b2743 xsettings: rename XSETTINGSD_USER_CONF to XSETTINGSD_REMOTE_CONF. new 9860fe0 xsettings: add XSETTINGSD_OVERRIDES_CONF for the user-provided config overriding arbitrary settings and XSETTINGSD_CONF as the file eventually to be used by xsettingsd. new 3b64611 xsettings: set XSETTINGSD_BASE_CONF to either the remote config to be pushed to the settings dir by a generic client or, if that is not available, the shipped global config in SYSCONFDIR. new c629157 xsettings: use merge shell function to merge the determined base config with the overrides config. new e2ac69d xsettings: remove .conf suffix from xsettingsd config files. new cd7d78b xsettings: add comment explaining the merge shell function and its requirements. new 50c83a0 xsettings: create XSETTINGSD_OVERRIDES_CONF if missing. new 629ad37 xsettings: rename xsettings.conf previously missed. new e63f30a xsettings: documentation update, describe the newly implemented features. new 29bbf68 xsettings: change RPM spec file to include the new x2goserver-xsettings package. new 78c89ce xsettings: spell XSETTINGS in uppercase in RPM spec file. new 2d89175 xsettings: add x2goserver-xsettings package to debian/control. new 9e3ff0a xsettings: add debian/changelog entries to reflect x2goserver-xsettings addition. new 76d03e2 xsettings: add debian/x2goserver-xsettings.dirs. new 9a0a61e xsettings: add debian/x2goserver-xsettings.install. new 57ddf48 xsettings: add debian/x2goserver-xsettings.manpages. new 1ef1966 xsettings: add post-resume hook. source line must still be fixed to access shared shell code. TBD. new 45da265 x2goserver: add x2gopath etc addition to debian/changelog. new a82312e x2goserver: add generic typo and whitespace fixes comment to debian/changelog. new 71f0235 extensions: add data directory in hooks directory used for shared data/programs/scripts. new bc4da32 extensions: add "data" directory to man page. new 6721346 xsettings: split up common functionality (variables, functions) into extensions/base/x2goserver-xsettings-common.sh and reference this file in hooks. new 0c36f1c extensions: add data/common.sh, providing commonly used variables. new 9b2e1c8 xsettings: add missing post-resume.d targets to Makefile. new 23c719c xsettings: remove faulty directory installed by Makefile from debian/x2goserver-xsettings.install. new 85df6b5 xsettings: rename faulty "base" to "data". new 95d2c58 xsettings: try really hard to avoid name clashes by prefixing own shell functions with x2goserver_xsettings_. new 503f822 xsettings: fix speling errors in POSIX BRE character classes. new 34ff953 xsettings: remove temporary file in x2goserver_xsettings_merge. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (42b2125) \ N -- N -- N refs/heads/feature/x2goserver-xsettings (34ff953) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 50 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 23 ++++++++++-- x2goserver.spec | 56 +++++++++++++++-------------- x2goserver/bin/x2gogetapps | 78 +++++++++++++++++++++++++++-------------- x2goserver/bin/x2goruncommand | 2 ++ 4 files changed, 104 insertions(+), 55 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 0072d8a8d5b737b143342b0959202855c4fcefb6 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 02:18:55 2014 +0100 xsettings: add README.md. --- x2goserver-xsettings/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/x2goserver-xsettings/README.md b/x2goserver-xsettings/README.md new file mode 100644 index 0000000..90d009d --- /dev/null +++ b/x2goserver-xsettings/README.md @@ -0,0 +1,18 @@ +# x2goserver-xsettings +This folder contains scripts and default settings to enable the use of the XSETTINGS desktop settings protocol. + + * etc + + contains the default xsettings.conf file + + * lib + + contains scripts to start xsettingsd + + * man + + documentation directory + + * share + + contains the feature itself -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 10b847e9e3e6d9e8afb041d4a165558b32565dfc Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 01:50:20 2014 +0100 xsettings: add new stub. --- Makefile | 7 ++++ x2goserver-xsettings/Makefile | 89 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/Makefile b/Makefile index 03b0484..3c78e94 100755 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ build_man2html: $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ clean: -$(MAKE) -f Makefile.perl clean @@ -35,6 +36,7 @@ clean: $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ distclean: -$(MAKE) -f Makefile.perl realclean @@ -45,6 +47,7 @@ distclean: $(MAKE) -C x2goserver-extensions clean $(MAKE) -C x2goserver-xsession clean $(MAKE) -C x2goserver-fmbindings clean + $(MAKE) -C x2goserver-xsettings clean build-arch: $(MAKE) -C x2goserver-common $@ @@ -54,6 +57,7 @@ build-arch: $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ build-indep: $(PERL) Makefile.PL INSTALLDIRS=$(PERL_INSTALLDIRS) @@ -65,6 +69,7 @@ build-indep: $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ install: $(MAKE) -f Makefile.perl pure_install @@ -75,11 +80,13 @@ install: $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ uninstall: $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-fmbindings $@ + $(MAKE) -C x2goserver-xsettings $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -f Makefile.perl uninstall $(MAKE) -C libx2go-server-db-perl $@ diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile new file mode 100755 index 0000000..6229b2c --- /dev/null +++ b/x2goserver-xsettings/Makefile @@ -0,0 +1,89 @@ +#!/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 +LIBDIR=$(PREFIX)/lib/x2go +MANDIR=$(PREFIX)/share/man +SHAREDIR=$(PREFIX)/share/x2go + +ETC_FILES=$(shell cd etc && echo *) +LIB_FILES=$(shell cd lib && echo *) +FEATURE_SCRIPTS=$(shell cd share/x2gofeature.d && echo *.features) + +man_pages = `cd man && find * -type f` + +MAN2HTML_BIN = $(shell which man2html) +MAN2HTML_SRC = man +MAN2HTML_DEST = .build_man2html/html + +all: clean build + +build: build-arch build-indep + +build-arch: + +build-indep: build_man2html + +build_man2html: + if [ -n "$(MAN2HTML_BIN)" ]; then \ + 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) $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done; \ + fi + +clean: clean_man2html + +clean_man2html: + rm -rf `dirname $(MAN2HTML_DEST)` + +install: install_scripts install_config install_man install_version + +install_scripts: + $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-start.d + $(INSTALL_PROGRAM) lib/x2go/extensions/post-start.d/* $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d + $(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/ + +install_config: + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR) + $(INSTALL_FILE) etc/xsettings.conf $(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-xsettings $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsettings + +uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version + +uninstall_scripts: + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/900_xsettingsd* + for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done + +uninstall_config: + $(RM_FILE) $(DESTDIR)$(ETCDIR)/xsettings.conf + +uninstall_man: + for file in man/man8/*.8; do $(RM_FILE) $(DESTDIR)$(MANDIR)/$${file#man}.gz; done + $(RM_DIR) $(DESTDIR)$(MANDIR) || true + +uninstall_version: + $(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsettings + $(RM_DIR) $(DESTDIR)$(SHAREDIR)/versions || true -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 1146f9f2b98e1ed146781a07f92a0cc2c76ddd70 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 02:55:37 2014 +0100 x2goserver: add 'etc' target to x2gopath, use value specified in Makefile at build time. Don't use '/' as sed replace command separator for... paths. Bad idea, who would have guessed. --- x2goserver/Makefile | 1 + x2goserver/bin/{x2gopath => x2gopath.in} | 1 + 2 files changed, 2 insertions(+) diff --git a/x2goserver/Makefile b/x2goserver/Makefile index ee1891c..3deb452 100755 --- a/x2goserver/Makefile +++ b/x2goserver/Makefile @@ -37,6 +37,7 @@ build: build-arch build-indep build-arch: build-indep: build_man2html + sed -e 's,@@SYSCONFDIR@@,$(ETCDIR),' bin/x2gopath.in > bin/x2gopath build_man2html: if [ -n "$(MAN2HTML_BIN)" ]; then \ diff --git a/x2goserver/bin/x2gopath b/x2goserver/bin/x2gopath.in similarity index 97% rename from x2goserver/bin/x2gopath rename to x2goserver/bin/x2gopath.in index 43903c4..497c284 100755 --- a/x2goserver/bin/x2gopath +++ b/x2goserver/bin/x2gopath.in @@ -32,6 +32,7 @@ base=$(readlink -f "$base/.."); # The following section is subject to substitution by distro packaging tools. case "$1" in "base") printf '%s' "$base";; + "etc") printf '%s' "@@SYSCONFDIR@@";; "lib") printf '%s' "$base/lib/x2go";; "libexec") printf '%s' "$base/lib/x2go";; "share") printf '%s' "$base/share/x2go";; -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 933529e144c790003b652319fab8957fc8767d03 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 03:00:47 2014 +0100 xsettings: add VERSION file. --- x2goserver-xsettings/VERSION.x2goserver-xsettings | 1 + 1 file changed, 1 insertion(+) diff --git a/x2goserver-xsettings/VERSION.x2goserver-xsettings b/x2goserver-xsettings/VERSION.x2goserver-xsettings new file mode 100644 index 0000000..8a1136f --- /dev/null +++ b/x2goserver-xsettings/VERSION.x2goserver-xsettings @@ -0,0 +1 @@ +4.1.0.0-preview -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 29fefd754d556e8a343bdbbe13a6653352800c53 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 03:47:33 2014 +0100 xsettings: add post-start hook. --- .../post-start.d/900_xsettings-xsettingsd-startup | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup new file mode 100644 index 0000000..3a8cfff --- /dev/null +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (C) 2014 X2Go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> + +export X2GO_SESSION="${1}" + +X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" +X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" +X2GO_CONF_DIR="$(x2gopath etc)" +XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" +XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" +XSETTINGSD_USER_CONF="${X2GO_SESSION_DIR}/xsettings.conf" +XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings.conf" + +export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" + +[ -r "${XSETTINGSD_USER_CONF}" ] && XSETTINGSD_CONF="${XSETTINGSD_USER_CONF}" || XSETTINGSD_CONF="${XSETTINGSD_DEFAULT_CONF}" + +nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit cbf9e1ca0e2f38d37180cdba0aa5ae9a2a948fdd Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 04:18:08 2014 +0100 xsettings: add pre-terminate hook. --- x2goserver-xsettings/Makefile | 5 +++- .../000_xsettings-xsettingsd-shutdown | 28 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile index 6229b2c..5c710f3 100755 --- a/x2goserver-xsettings/Makefile +++ b/x2goserver-xsettings/Makefile @@ -52,7 +52,9 @@ install: install_scripts install_config install_man install_version install_scripts: $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-start.d + $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d $(INSTALL_PROGRAM) lib/x2go/extensions/post-start.d/* $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ + $(INSTALL_PROGRAM) lib/x2go/extensions/pre-terminate.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/ $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d $(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/ @@ -74,7 +76,8 @@ install_version: uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version uninstall_scripts: - $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/900_xsettingsd* + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/900_xsettings-* + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/000_xsettings-* for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done uninstall_config: diff --git a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown new file mode 100644 index 0000000..fde8fe6 --- /dev/null +++ b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown @@ -0,0 +1,28 @@ +#!/bin/bash + +# Copyright (C) 2014 X2Go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> + +export X2GO_SESSION="${1}" + +X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" +X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" +XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" + +kill "$(cat "${XSETTINGSD_PID}")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 7e049672a05f6dfaa208156fd869310ab2e0ec15 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 04:32:10 2014 +0100 xsettings: add default xsettingsd configuration file enabling MenuImages and ButtonImages. --- x2goserver-xsettings/etc/xsettings.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x2goserver-xsettings/etc/xsettings.conf b/x2goserver-xsettings/etc/xsettings.conf new file mode 100644 index 0000000..7920616 --- /dev/null +++ b/x2goserver-xsettings/etc/xsettings.conf @@ -0,0 +1,2 @@ +/Gtk/MenuImages 1 +/Gtk/ButtonImages 1 -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 5f70a941d3e7c37085316ae4d964c8e2888cc6c8 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 04:36:30 2014 +0100 xsettings: add X2GO_XSETTINGS feature. --- .../x2gofeature.d/x2goserver-xsettings.features | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/x2goserver-xsettings/share/x2gofeature.d/x2goserver-xsettings.features b/x2goserver-xsettings/share/x2gofeature.d/x2goserver-xsettings.features new file mode 100755 index 0000000..74a4000 --- /dev/null +++ b/x2goserver-xsettings/share/x2gofeature.d/x2goserver-xsettings.features @@ -0,0 +1,33 @@ +#!/bin/bash + +# Copyright (C) 2007-2014 X2Go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2011-2014 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2011-2014 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +X2GO_LIB_PATH="$(x2gopath libexec)"; + +${X2GO_LIB_PATH}/x2gosyslog "$0" "info" "$(basename $0) called with options: $@" + +X2GO_FEATURE="${1}" + +# check for X2Go server core features +case "$X2GO_FEATURE" in + "X2GO_XSETTINGS") echo "ok"; exit 0;; + *) exit -1;; +esac -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 1cb7165fb3bb1f834244a6c19db9a4bbb4e28e5f Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 07:36:59 2014 +0100 xsettings: add manual page. --- .../man/man8/x2goserver-xsettings.8 | 39 ++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8 b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8 new file mode 100644 index 0000000..5181181 --- /dev/null +++ b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8 @@ -0,0 +1,39 @@ +.TH x2goserver-xsettings 8 "Nov 2014" "Version 4\&.1\&.0\&.0-preview" "X2Go Server Component" +.SH "DESCRIPTION" +\fBx2goserver-xsettings\fP is an \fBx2goserver\fP component providing support +for the \fIXSETTINGS\fP protocol\&. + +The \fIXSETTINGS\fP protocol as specified on +\fBhttp://standards\&.freedesktop\&.org/xsettings-spec/latest/\fP is a means for +desktop environments to store and apply settings globally for all applications +running in a specific context\&. + +It is designed to be lightweight and reactive with changes being propagated +instantly\&. + +This makes it a perfect fit for X2Go\&. + +Unfortunately, currently every desktop environment implements and provides its +own settings daemon\&. Settings are not being shared and changes are contained to +the very desktop environment they have been undertaken in\&. + +Thus, diverging settings for different desktop environments even on the same +system are very common\&. + +\fBx2goserver-xsettings\fP aims to provide generic solutions whenever possible\&. + +For this reason \fBxsettingsd\fP has been adopted as the tool of choice to +provide \fBXSETTINGS\fP support\&. It has no run time dependencies other than the +C++ run time it has been built against\&. Settings are read from a plain text +file\&. + +This package provides hooks for starting \fBxsettingsd\fP\&. +.SH "CONFIGURATION" +\fBxsettingsd\fP uses plain text files as configuration storage\&. A default +configuration handling issues with GTK-based applications is shipped as +\fI@@SYSCONFDIR@@/xsettings\&.conf\fP\&. Edit the file to suit your needs\&. + +More sophisticated configuration handling is scheduled to be implemented at a +later date and this documentation updated accordingly\&. +.SH "SEE ALSO" +\fIxsettingsd\fP(1) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 90b10cdeb7419313695a818a172d98d4bff57095 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 18:19:05 2014 +0100 xsettings: pregen man files by piping man pages ending in .in through sed to replace placeholders. --- x2goserver-xsettings/Makefile | 4 +++- ...erver-xsettings.8 => x2goserver-xsettings.8.in} | 0 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile index 5c710f3..741c79e 100755 --- a/x2goserver-xsettings/Makefile +++ b/x2goserver-xsettings/Makefile @@ -22,7 +22,8 @@ ETC_FILES=$(shell cd etc && echo *) LIB_FILES=$(shell cd lib && echo *) FEATURE_SCRIPTS=$(shell cd share/x2gofeature.d && echo *.features) -man_pages = `cd man && find * -type f` +man_pages_pregen=$(shell cd man && find . -type "f" -name "*.in") +man_pages=$(shell cd man && find . -type "f" ! -name "*.in") MAN2HTML_BIN = $(shell which man2html) MAN2HTML_SRC = man @@ -40,6 +41,7 @@ build_man2html: if [ -n "$(MAN2HTML_BIN)" ]; then \ 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_pregren); do sed -e 's,@@SYSCONFDIR@@,$(ETCDIR),' $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_SRC)/$${man_page%.in}; done; \ for man_page in $(man_pages); do $(MAN2HTML_BIN) $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done; \ fi diff --git a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8 b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in similarity index 100% rename from x2goserver-xsettings/man/man8/x2goserver-xsettings.8 rename to x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit b7e4f228ce5d2201ac2f7a877bf9a19ab7ad1104 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 17:51:20 2014 +0100 xsettings: fix default config file. --- x2goserver-xsettings/etc/xsettings.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x2goserver-xsettings/etc/xsettings.conf b/x2goserver-xsettings/etc/xsettings.conf index 7920616..0ed952f 100644 --- a/x2goserver-xsettings/etc/xsettings.conf +++ b/x2goserver-xsettings/etc/xsettings.conf @@ -1,2 +1,2 @@ -/Gtk/MenuImages 1 -/Gtk/ButtonImages 1 +Gtk/MenuImages 1 +Gtk/ButtonImages 1 -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 58cbdaf95404e2bf8f3544f2506df8204379ce58 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 18:26:42 2014 +0100 xsettings: also delete pre-processed man pages in clean_man2html target. --- x2goserver-xsettings/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile index 741c79e..90ea411 100755 --- a/x2goserver-xsettings/Makefile +++ b/x2goserver-xsettings/Makefile @@ -48,7 +48,8 @@ build_man2html: clean: clean_man2html clean_man2html: - rm -rf `dirname $(MAN2HTML_DEST)` + rm -rf $$(dirname $(MAN2HTML_DEST)) + for man_page in $(man_pages_pregen); do $(RM_FILE) $(MAN2HTML_SRC)/$${man_page%.in}; done install: install_scripts install_config install_man install_version -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 345f9f18b8655566dfec721930c0a5cc91de1ccf Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 23 18:59:55 2014 +0100 xsettings: add incomplete merge function to startup script. --- .../post-start.d/900_xsettings-xsettingsd-startup | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 3a8cfff..09b48a0 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -19,6 +19,27 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> +merge() { + BASE_FILE="${1}" + OVERRIDES_FILE="${2}" + OUT_FILE="${3}" + + # Sanitizing input parameters. + # Yes, you CAN specify /dev/null for OVERRIDES_FILE or BASE_FILE. + [ -z "${OVERRIDES_FILE}" -o ! -r "${OVERRIDES_FILE}" ] && return 1 + [ -z "${BASE_FILE}" -o ! -r "${BASE_FILE}" ] && return 1 + [ -z "${OUT_FILE}" ] && return 1 + if [ ! -f "${OUT_FILE}" ]; then + touch "${OUT_FILE}" || return 1 + elif [ ! -w "${OUT_FILE}" ]; then + return 1 + fi + + # All checks passed. We have readable input files and a writeable output file. + # Go for launch. + : real implementation goes here... +} + export X2GO_SESSION="${1}" X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 0db30a0efd4b5aeb44e87f45d511dc018b967f3e Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 00:58:58 2014 +0100 xsettings: add extract_key shell function to be used on a sanitized xsettingsd config file line. --- .../post-start.d/900_xsettings-xsettingsd-startup | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index b48a8eb..02d030c 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -31,6 +31,16 @@ sanitize_line() { echo "${INPUT}" | sed -e 's/^[[:blank:]]*//' -e 's/#.*//' } +# Returns the key. +# Is supposed to be used on sanitized input lines only. +extract_key() { + INPUT="${1}" + + [ -z "${INPUT}" ] && echo "" + + echo "${INPUT}" | sed -e 's/^\([^[:blank]]*\)[[:blank:]].*$/\1/' +} + merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 5c03855c351d17343b00679d531901b8e40715be Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 00:57:36 2014 +0100 xsettings: add sanitize_line shell function to remove white space and comments from an xsettingsd config file line. --- .../post-start.d/900_xsettings-xsettingsd-startup | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 09b48a0..b48a8eb 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -19,6 +19,18 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> +# Removes redundant white space and comments. +# Note that in-line comments are supported. +# Comments start with a hash and everything succeeding, as well as the hash character +# itself will be removed. +sanitize_line() { + INPUT="${1}" + + [ -z "${INPUT}" ] && echo "" + + echo "${INPUT}" | sed -e 's/^[[:blank:]]*//' -e 's/#.*//' +} + merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit b5359fe3b445e9c1924a5a0e32c3aa3591ce79d7 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 00:59:58 2014 +0100 xsettings: add extract_value shell function to be used on a sanitized xsettingsd config file line. --- .../post-start.d/900_xsettings-xsettingsd-startup | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 02d030c..3d159b5 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -41,6 +41,16 @@ extract_key() { echo "${INPUT}" | sed -e 's/^\([^[:blank]]*\)[[:blank:]].*$/\1/' } +# Returns the value. +# Is supposed to be used on sanitized input lines only. +extract_value() { + INPUT="${1}" + + [ -z "${INPUT}" ] && echo "" + + echo "${INPUT}" | sed -e 's/^[^[:blank]]*[[:blank:]][[:blank]]*\([^[:blank:]]*\).*$/\1/' +} + merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit dcde05b2353f509542fa07172c8f6731971fc26d Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:00:44 2014 +0100 xsettings: add session dir parameter to merge shell function and create two temporary files in that session directory. --- .../post-start.d/900_xsettings-xsettingsd-startup | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 3d159b5..031aae8 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -55,6 +55,7 @@ merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" OUT_FILE="${3}" + SESSION_DIR="${4}" # Sanitizing input parameters. # Yes, you CAN specify /dev/null for OVERRIDES_FILE or BASE_FILE. @@ -66,6 +67,13 @@ merge() { elif [ ! -w "${OUT_FILE}" ]; then return 1 fi + [ -z "${SESSION_DIR}" ] && return 1 + + TMP_KEY="${SESSION_DIR}/xsettings-merge.k" + TMP_KEYVALUE="${SESSION_DIR}/xsettings-merge.kv" + + touch "${TMP_KEY}" || return 1 + touch "${TMP_KEYVALUE}" || return 1 # All checks passed. We have readable input files and a writeable output file. # Go for launch. -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 05b72707ed502ec3959e4751d708eb2c64e39f10 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:04:06 2014 +0100 xsettings: add loop through base file extracting key-value pairs. --- .../post-start.d/900_xsettings-xsettingsd-startup | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 9fad786..5649a31 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -89,6 +89,17 @@ merge() { echo "${key}" >> "${TMP_KEY}" echo "${key} ${value}" >> "${TMP_KEYVALUE}" done < "${OVERRIDES_FILE}" + + # Code duplication, but this part is actually specialized. + while read line; do + parsed_line="$(sanitize_line "${line}")" + [ -z "${parsed_line}" ] && continue + + key="$(extract_key "${parsed_line}")" + value="$(extract_value "${parsed_line}")" + [ -z "${key}" ] && continue + [ -z "${value}" ] && continue + done < "${BASE_FILE}" } export X2GO_SESSION="${1}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit e4798c5a5e791663d120dd45a65a3c41b321fa7c Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:02:14 2014 +0100 xsettings: go through overrides file and extract key-value pairs, write them into temp files for future reference. --- .../post-start.d/900_xsettings-xsettingsd-startup | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 031aae8..9fad786 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -77,7 +77,18 @@ merge() { # All checks passed. We have readable input files and a writeable output file. # Go for launch. - : real implementation goes here... + while read line; do + parsed_line="$(sanitize_line "${line}")" + [ -z "${parsed_line}" ] && continue + + key="$(extract_key "${parsed_line}")" + value="$(extract_value "${parsed_line}")" + [ -z "${key}" ] && continue + [ -z "${value}" ] && continue + + echo "${key}" >> "${TMP_KEY}" + echo "${key} ${value}" >> "${TMP_KEYVALUE}" + done < "${OVERRIDES_FILE}" } export X2GO_SESSION="${1}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 8e5ba30b86499c3bd0588449a7147f0f0cd7f56d Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:05:55 2014 +0100 xsettings: filter out overriden keys. Add the rest to the second temporary file. --- .../post-start.d/900_xsettings-xsettingsd-startup | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 5649a31..366d112 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -99,6 +99,13 @@ merge() { value="$(extract_value "${parsed_line}")" [ -z "${key}" ] && continue [ -z "${value}" ] && continue + + # Filter out keys already defined in the parsed overrides file. + while read overrides_key; do + [ -n "${overrides_key}" ] && [ "${key}" = "${overrides_key}" ] && continue 2 + done < "${TMP_KEY}" + + echo "${key} ${value}" >> "${TMP_KEYVALUE}" done < "${BASE_FILE}" } -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit d356d1c34a1508194874af51a7b1da392c9bb1ec Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:12:00 2014 +0100 xsettings: use out file directly, no need for a second temp file. --- .../post-start.d/900_xsettings-xsettingsd-startup | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 366d112..ee5f52f 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -73,7 +73,6 @@ merge() { TMP_KEYVALUE="${SESSION_DIR}/xsettings-merge.kv" touch "${TMP_KEY}" || return 1 - touch "${TMP_KEYVALUE}" || return 1 # All checks passed. We have readable input files and a writeable output file. # Go for launch. @@ -87,7 +86,7 @@ merge() { [ -z "${value}" ] && continue echo "${key}" >> "${TMP_KEY}" - echo "${key} ${value}" >> "${TMP_KEYVALUE}" + echo "${key} ${value}" >> "${OUT_FILE}" done < "${OVERRIDES_FILE}" # Code duplication, but this part is actually specialized. @@ -105,7 +104,7 @@ merge() { [ -n "${overrides_key}" ] && [ "${key}" = "${overrides_key}" ] && continue 2 done < "${TMP_KEY}" - echo "${key} ${value}" >> "${TMP_KEYVALUE}" + echo "${key} ${value}" >> "${OUT_FILE}" done < "${BASE_FILE}" } -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit c62915770cece72242131ab1c6fd3c92fd8de33b Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:25:49 2014 +0100 xsettings: use merge shell function to merge the determined base config with the overrides config. --- .../post-start.d/900_xsettings-xsettingsd-startup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index ff93fb7..9468359 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -125,4 +125,6 @@ export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9 XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" [ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" +merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" + nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 3b64611141fb6c7ebce2e7aa4f75a475d71e89a5 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:23:40 2014 +0100 xsettings: set XSETTINGSD_BASE_CONF to either the remote config to be pushed to the settings dir by a generic client or, if that is not available, the shipped global config in SYSCONFDIR. --- .../post-start.d/900_xsettings-xsettingsd-startup | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index a802e26..ff93fb7 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -122,6 +122,7 @@ XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings.conf" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" -[ -r "${XSETTINGSD_USER_CONF}" ] && XSETTINGSD_CONF="${XSETTINGSD_USER_CONF}" || XSETTINGSD_CONF="${XSETTINGSD_DEFAULT_CONF}" +XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" +[ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit f9b2743203e7cc4efde448b7b978edbad3d751d6 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:20:47 2014 +0100 xsettings: rename XSETTINGSD_USER_CONF to XSETTINGSD_REMOTE_CONF. --- .../post-start.d/900_xsettings-xsettingsd-startup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index ee5f52f..b3e79ac 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -115,7 +115,7 @@ X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" X2GO_CONF_DIR="$(x2gopath etc)" XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" -XSETTINGSD_USER_CONF="${X2GO_SESSION_DIR}/xsettings.conf" +XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote.conf" XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings.conf" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 9860fe09c34db3e06da27dc732a05a0d3d97dad2 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:21:38 2014 +0100 xsettings: add XSETTINGSD_OVERRIDES_CONF for the user-provided config overriding arbitrary settings and XSETTINGSD_CONF as the file eventually to be used by xsettingsd. --- .../post-start.d/900_xsettings-xsettingsd-startup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index b3e79ac..a802e26 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -117,6 +117,8 @@ XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote.conf" XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings.conf" +XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go.conf" +XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings.conf" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit e2ac69d0ab3fc5fe2382712a130dfd448d8f241c Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:29:18 2014 +0100 xsettings: remove .conf suffix from xsettingsd config files. --- x2goserver-xsettings/Makefile | 4 ++-- x2goserver-xsettings/README.md | 2 +- .../post-start.d/900_xsettings-xsettingsd-startup | 8 ++++---- .../man/man8/x2goserver-xsettings.8.in | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile index 90ea411..b3facbc 100755 --- a/x2goserver-xsettings/Makefile +++ b/x2goserver-xsettings/Makefile @@ -63,7 +63,7 @@ install_scripts: install_config: $(INSTALL_DIR) $(DESTDIR)$(ETCDIR) - $(INSTALL_FILE) etc/xsettings.conf $(DESTDIR)$(ETCDIR)/ + $(INSTALL_FILE) etc/xsettings $(DESTDIR)$(ETCDIR)/ install_man: $(INSTALL_DIR) $(DESTDIR)$(MANDIR) @@ -84,7 +84,7 @@ uninstall_scripts: for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done uninstall_config: - $(RM_FILE) $(DESTDIR)$(ETCDIR)/xsettings.conf + $(RM_FILE) $(DESTDIR)$(ETCDIR)/xsettings uninstall_man: for file in man/man8/*.8; do $(RM_FILE) $(DESTDIR)$(MANDIR)/$${file#man}.gz; done diff --git a/x2goserver-xsettings/README.md b/x2goserver-xsettings/README.md index 90d009d..375aa55 100644 --- a/x2goserver-xsettings/README.md +++ b/x2goserver-xsettings/README.md @@ -3,7 +3,7 @@ This folder contains scripts and default settings to enable the use of the XSETT * etc - contains the default xsettings.conf file + contains the default xsettings file * lib diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 9468359..492834f 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -115,10 +115,10 @@ X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" X2GO_CONF_DIR="$(x2gopath etc)" XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" -XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote.conf" -XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings.conf" -XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go.conf" -XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings.conf" +XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote" +XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings" +XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go" +XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" diff --git a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in index 5181181..4632f44 100644 --- a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in +++ b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in @@ -31,7 +31,7 @@ This package provides hooks for starting \fBxsettingsd\fP\&. .SH "CONFIGURATION" \fBxsettingsd\fP uses plain text files as configuration storage\&. A default configuration handling issues with GTK-based applications is shipped as -\fI@@SYSCONFDIR@@/xsettings\&.conf\fP\&. Edit the file to suit your needs\&. +\fI@@SYSCONFDIR@@/xsettings\fP\&. Edit the file to suit your needs\&. More sophisticated configuration handling is scheduled to be implemented at a later date and this documentation updated accordingly\&. -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 50c83a0f3c7faa1f40a95521c1ad0c7e0a4854dd Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:53:11 2014 +0100 xsettings: create XSETTINGSD_OVERRIDES_CONF if missing. --- .../post-start.d/900_xsettings-xsettingsd-startup | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 0baeadb..eb8885a 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -132,6 +132,14 @@ export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9 XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" [ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" +# Create a missing XSETTINGSD_OVERRIDES_CONF, if necessary. +if [ ! -f "${XSETTINGSD_OVERRIDES_CONF}" ]; then + (echo "# xsettings overrides file for X2Go." + echo "# Created on $(date "+%Y-%m-%d %T")." + echo "# You may edit this file to fit your needs." + echo "# All settings in here will override remote machine or global settings.") > "${XSETTINGSD_OVERRIDES_CONF}" +fi + merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 629ad37b9ac4d18e68b81971dcb5caad9a295554 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:57:15 2014 +0100 xsettings: rename xsettings.conf previously missed. --- .../etc/{xsettings.conf => xsettings} | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/x2goserver-xsettings/etc/xsettings.conf b/x2goserver-xsettings/etc/xsettings similarity index 100% rename from x2goserver-xsettings/etc/xsettings.conf rename to x2goserver-xsettings/etc/xsettings -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit cd7d78bc69a4a2e220a0e616249b563ce3239185 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 01:39:48 2014 +0100 xsettings: add comment explaining the merge shell function and its requirements. --- .../post-start.d/900_xsettings-xsettingsd-startup | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 492834f..0baeadb 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -51,6 +51,13 @@ extract_value() { echo "${INPUT}" | sed -e 's/^[^[:blank]]*[[:blank:]][[:blank]]*\([^[:blank:]]*\).*$/\1/' } +# Merge a base file with a overrides file and write the result to an out file. +# For keys which are both in the base and overrides file, the overrides file +# takes precedence. +# Keys only specified in one of the files will be copied to the out file. +# Both the base and overrides files MUST exist and be readable. +# The out file MAY exist. The base directory of this file MUST be writeable. +# If the out file does not exist, it will be created. merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit e63f30ae211af7d7775ffb60dd8f4c80e606d939 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 03:33:53 2014 +0100 xsettings: documentation update, describe the newly implemented features. --- .../man/man8/x2goserver-xsettings.8.in | 38 +++++++++++++++----- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in index 4632f44..c9b08d0 100644 --- a/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in +++ b/x2goserver-xsettings/man/man8/x2goserver-xsettings.8.in @@ -1,4 +1,4 @@ -.TH x2goserver-xsettings 8 "Nov 2014" "Version 4\&.1\&.0\&.0-preview" "X2Go Server Component" +.TH x2goserver-xsettings 8 "Nov 2014" "Version 4\&.1\&.0\&.0\&-preview" "X2Go Server Component" .SH "DESCRIPTION" \fBx2goserver-xsettings\fP is an \fBx2goserver\fP component providing support for the \fIXSETTINGS\fP protocol\&. @@ -24,16 +24,38 @@ system are very common\&. For this reason \fBxsettingsd\fP has been adopted as the tool of choice to provide \fBXSETTINGS\fP support\&. It has no run time dependencies other than the -C++ run time it has been built against\&. Settings are read from a plain text +C++ runtime it has been built against\&. Settings are read from a plain text file\&. This package provides hooks for starting \fBxsettingsd\fP\&. .SH "CONFIGURATION" -\fBxsettingsd\fP uses plain text files as configuration storage\&. A default -configuration handling issues with GTK-based applications is shipped as -\fI@@SYSCONFDIR@@/xsettings\fP\&. Edit the file to suit your needs\&. - -More sophisticated configuration handling is scheduled to be implemented at a -later date and this documentation updated accordingly\&. +\fBxsettingsd\fP uses plain text files as configuration storage\&. + +The files taken into consideration depend upon the client system. +.IP \[bu] 2 +UNIX-like systems +.RS +On UNIX-like systems already using the X server as their main display server, +the user's current \fIXSETTINGS\fP will be transfered to the X2Go server by the +client application and used as the base configuration\&. This assumes that a +working xsettings configuration daemon is already running. If this not the +case, the behavior will be similar to Windows and OS X systems\&. +.RE +.IP \[bu] +Windows and OS X systems +.RS +As those systems do not use the X server as their main display server, no user +configuration will be transfered to the server. The base configuration will be +determined by the default configuration file shipped by X2Go as +\fI@@SYSCONFDIR@@/xsettings\fP\&. The shipped default configuration handles +issues with GTK\&-based applications by providing sane defaults\&. It may be +modified by a system administrator\&. +.RE + +All settings can be overridden per-user via a custom file +\fI$HOME/\&.xsettings\&-x2go\fP\&. If it does not exist, this file will be +created automatically the first time a session is started\&. The generated file +will only contain comments describing what it is used for and when it was +created\&. .SH "SEE ALSO" \fIxsettingsd\fP(1) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 29bbf687e8508cf9a9c72c400c9a78577617e765 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 03:54:16 2014 +0100 xsettings: change RPM spec file to include the new x2goserver-xsettings package. --- x2goserver.spec | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/x2goserver.spec b/x2goserver.spec index 914248c..171e47f 100644 --- a/x2goserver.spec +++ b/x2goserver.spec @@ -130,6 +130,7 @@ Requires(post): perl-X2Go-Server-DB Requires(post): x2goserver-common Requires: x2goserver-extensions Requires: x2goserver-xsession +Requires: x2goserver-xsettings #Recommands: x2goserver-fmbindings #Recommends: x2goserver-printing @@ -414,6 +415,28 @@ corresponding desktop shell: - under KDE4 by plasma-widget-x2go - under MATE by x2gomatebindings +%package xsettings +Summary: X2Go Server (Xsettings support) +Requires: %{name} = %{version}-%{release} +Requires: xsettingsd +%if 0%{?fedora} || 0%{?rhel} +Group: Applications/Communications +%else +Group: Productivity/Networking/Remote Desktop +%endif +%description xsettings +X2Go is a server based computing environment with + - session resuming + - low bandwidth support + - session brokerage support + - client side mass storage mounting support + - audio support + - authentication by smartcard and USB stick + +This X2Go Server add-on enables support for the XSETTINGS protocol +via the xsettingsd configuration daemon. For Linux clients, it provides +seamless support for the user's current settings. + %prep %setup -q @@ -743,5 +766,10 @@ fi %{_datadir}/x2go/x2gofeature.d/x2goserver-xsession.features %{_datadir}/x2go/versions/VERSION.x2goserver-xsession +#files xsettings +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/x2go/xsettings +%{_datadir}/x2go/x2gofeature.d/x2goserver-xsettings.features +%{_datadir}/x2go/versions/VERSION.x2goserver-xsettings %changelog -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 2d89175920c518fb9a036d3cc06644739d17e9fe Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 04:47:21 2014 +0100 xsettings: add x2goserver-xsettings package to debian/control. --- debian/control | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/debian/control b/debian/control index 0eab5c2..7c64fed 100644 --- a/debian/control +++ b/debian/control @@ -47,6 +47,7 @@ Recommends: xinit, x2goserver-extensions (>= ${source:Version}), x2goserver-extensions (<< ${source:Version}.1~), x2goserver-xsession (>= ${source:Version}), x2goserver-xsession (<< ${source:Version}.1~), + x2goserver-xsettings (>= ${source:Version}), x2goserver-xsettings (<< ${source:Version}.1~), x2goserver-fmbindings (>= ${source:Version}), x2goserver-fmbindings (<< ${source:Version}.1~), x2goserver-printing (>= ${source:Version}), x2goserver-printing (<< ${source:Version}.1~), Suggests: @@ -242,6 +243,25 @@ Description: X2Go Server (Xsession runner) startups and many more Xsession related features on X2Go session login automagically. +Package: x2goserver-xsettings +Architecture: all +Depends: + ${misc:Depends}, + x2goserver (>= ${source:Version}), x2goserver (<< ${source:Version}.1~), + xsettingsd, +Description: X2Go Server (XSETTINGS support) + X2Go is a server based computing environment with + - session resuming + - low bandwidth support + - session brokerage support + - client side mass storage mounting support + - audio support + - authentication by smartcard and USB stick + . + This X2Go Server add-on enables support for the XSETTINGS protocol + via the xsettingsd configuration daemon. For Linux clients, it provides + seamless support for the user's current settings. + Package: x2goserver-fmbindings Architecture: all Depends: -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 78c89ce3ed571eb633adefc42f4e3d633478742c Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 04:46:44 2014 +0100 xsettings: spell XSETTINGS in uppercase in RPM spec file. --- x2goserver.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x2goserver.spec b/x2goserver.spec index 171e47f..3de7b50 100644 --- a/x2goserver.spec +++ b/x2goserver.spec @@ -416,7 +416,7 @@ corresponding desktop shell: - under MATE by x2gomatebindings %package xsettings -Summary: X2Go Server (Xsettings support) +Summary: X2Go Server (XSETTINGS support) Requires: %{name} = %{version}-%{release} Requires: xsettingsd %if 0%{?fedora} || 0%{?rhel} -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 9e3ff0a5a045352d16069ceebd1155b31c2d46e8 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 04:48:01 2014 +0100 xsettings: add debian/changelog entries to reflect x2goserver-xsettings addition. --- debian/changelog | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/debian/changelog b/debian/changelog index 8f70c3e..53a087d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -167,6 +167,17 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low %{_sbindir} is a macro for /usr/sbin/, whereas chkconfig and service reside in /sbin/. - Change deprecated and removed PreReq to Requires(pre) header. + - Add new x2goserver-xsettings package. + * Add new x2goserver-xsettings package: + - Add Makefile. + - Add new x2goserver-xsettings feature. + - Add new manpage for x2goserver-xsettings. + - Add default config file. + - Add hooks for starting and stopping xsettingsd. + * x2goserver.spec: + - Add x2goserver-settings package. + * debian/control: + - Add x2goserver-xsettings package. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fri, 09 May 2014 13:06:24 +0200 -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 9a0a61e0cce2105f9e520a3a967d34152dfd960e Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 05:00:43 2014 +0100 xsettings: add debian/x2goserver-xsettings.install. --- debian/x2goserver-xsettings.install | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debian/x2goserver-xsettings.install b/debian/x2goserver-xsettings.install new file mode 100644 index 0000000..8497989 --- /dev/null +++ b/debian/x2goserver-xsettings.install @@ -0,0 +1,4 @@ +x2goserver-xsettings/etc/* /etc/x2go/ +x2goserver-xsettings/VERSION.x2goserver-extensions /usr/share/x2go/versions/ +x2goserver-xsettings/share/x2gofeature.d/* /usr/share/x2go/x2gofeature.d/ +x2goserver-xsettings/lib/* /usr/lib/x2go/ -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 76d03e2f446e281e8e4ca15aff30f532fb28a55e Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 05:00:13 2014 +0100 xsettings: add debian/x2goserver-xsettings.dirs. --- debian/x2goserver-xsettings.dirs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debian/x2goserver-xsettings.dirs b/debian/x2goserver-xsettings.dirs new file mode 100644 index 0000000..70259d4 --- /dev/null +++ b/debian/x2goserver-xsettings.dirs @@ -0,0 +1,4 @@ +etc/x2go +usr/lib/x2go +usr/share/x2go +usr/share/x2go/versions -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 57ddf48390451316aa93b92c29d90e2cd3b1f6d0 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 05:00:55 2014 +0100 xsettings: add debian/x2goserver-xsettings.manpages. --- debian/x2goserver-xsettings.manpages | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/x2goserver-xsettings.manpages b/debian/x2goserver-xsettings.manpages new file mode 100644 index 0000000..43bdbdb --- /dev/null +++ b/debian/x2goserver-xsettings.manpages @@ -0,0 +1 @@ +x2goserver-xsettings/man/man8/* \ No newline at end of file -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit a82312e793561f07e82b5701497d1d04c88c57e2 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 18:53:12 2014 +0100 x2goserver: add generic typo and whitespace fixes comment to debian/changelog. --- debian/changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/changelog b/debian/changelog index 60c02ff..8f9d644 100644 --- a/debian/changelog +++ b/debian/changelog @@ -176,6 +176,7 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low - Add hooks for starting and stopping xsettingsd. - x2gopath now knows the 'etc' component -- generated at build time out of the ETCDIR Makefile directive. + - Various typo and whitespace fixes across components. * x2goserver.spec: - Add x2goserver-settings package. * debian/control: -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 45da265b76f5da02d741bcfbafa726a04271d3ca Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 17:17:37 2014 +0100 x2goserver: add x2gopath etc addition to debian/changelog. --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 53a087d..60c02ff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -174,6 +174,8 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low - Add new manpage for x2goserver-xsettings. - Add default config file. - Add hooks for starting and stopping xsettingsd. + - x2gopath now knows the 'etc' component -- generated at build time out of + the ETCDIR Makefile directive. * x2goserver.spec: - Add x2goserver-settings package. * debian/control: -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 1ef196684cbd411bf327d7168eb21bb7a9111a4b Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 05:49:07 2014 +0100 xsettings: add post-resume hook. source line must still be fixed to access shared shell code. TBD. --- .../post-resume.d/900_xsettings-xsettingsd-refresh | 50 ++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh new file mode 100644 index 0000000..9748f23 --- /dev/null +++ b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Copyright (C) 2014 X2Go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> + +. SOMEPLACE/x2goserver-xsettings-common.sh + +export X2GO_SESSION="${1}" + +X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" +X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" +X2GO_CONF_DIR="$(x2gopath etc)" +XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" +XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote" +XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings" +XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go" +XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings" + +export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" + +XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" +[ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" + +# Create a missing XSETTINGSD_OVERRIDES_CONF, if necessary. +if [ ! -f "${XSETTINGSD_OVERRIDES_CONF}" ]; then + (echo "# xsettings overrides file for X2Go." + echo "# Created on $(date "+%Y-%m-%d %T")." + echo "# You may edit this file to fit your needs." + echo "# All settings in here will override remote machine or global settings.") > "${XSETTINGSD_OVERRIDES_CONF}" +fi + +merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" + +kill -s HUP "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 71f023506fd921a5e529fc6b8b687c1c41771ab0 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 19:30:13 2014 +0100 extensions: add data directory in hooks directory used for shared data/programs/scripts. --- debian/changelog | 2 ++ x2goserver-extensions/Makefile | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 8f9d644..92fcafe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -177,6 +177,8 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low - x2gopath now knows the 'etc' component -- generated at build time out of the ETCDIR Makefile directive. - Various typo and whitespace fixes across components. + - Add data directory in x2goserver-extensions. Shared data (e.g., shell + scripts) can be put there. * x2goserver.spec: - Add x2goserver-settings package. * debian/control: diff --git a/x2goserver-extensions/Makefile b/x2goserver-extensions/Makefile index e84f0ea..2516381 100755 --- a/x2goserver-extensions/Makefile +++ b/x2goserver-extensions/Makefile @@ -53,6 +53,7 @@ install_scripts: $(INSTALL_DIR) $(DESTDIR)$(BINDIR) $(INSTALL_DIR) $(DESTDIR)$(LIBDIR) $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions + $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/data $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/pre-start.d $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-start.d $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/fail-start.d @@ -68,6 +69,7 @@ install_scripts: $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/ + $(INSTALL_FILE) lib/extensions/data/.placeholder $(DESTDIR)$(LIBDIR)/extensions/data/ $(INSTALL_FILE) lib/extensions/pre-start.d/.placeholder $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/ $(INSTALL_FILE) lib/extensions/post-start.d/.placeholder $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ $(INSTALL_FILE) lib/extensions/fail-start.d/.placeholder $(DESTDIR)$(LIBDIR)/extensions/fail-start.d/ @@ -99,7 +101,7 @@ uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version uninstall_scripts: for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done - $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/ || true + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/data/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/fail-start.d/.placeholder @@ -112,6 +114,7 @@ uninstall_scripts: $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-terminate.d/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/fail-terminate.d/.placeholder + $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/data/ $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/ $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/fail-start.d/ @@ -124,6 +127,7 @@ uninstall_scripts: $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/ $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-terminate.d/ $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/fail-terminate.d/ + $(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/ || true for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done uninstall_config: diff --git a/x2goserver-extensions/lib/extensions/data/.placeholder b/x2goserver-extensions/lib/extensions/data/.placeholder new file mode 100644 index 0000000..e69de29 -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit bc4da325e5d26c699ada88cbe4a5327bac17038c Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 19:56:17 2014 +0100 extensions: add "data" directory to man page. --- .../man/man8/x2goserver-run-extensions.8 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/x2goserver-extensions/man/man8/x2goserver-run-extensions.8 b/x2goserver-extensions/man/man8/x2goserver-run-extensions.8 index d61731f..51f0302 100644 --- a/x2goserver-extensions/man/man8/x2goserver-run-extensions.8 +++ b/x2goserver-extensions/man/man8/x2goserver-run-extensions.8 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH x2goserver-run-extensions 8 "Jan 2013" "Version 4.1.0.0-preview" "X2Go Server Tool" +.TH x2goserver-run-extensions 8 "Nov 2014" "Version 4.1.0.0-preview" "X2Go Server Tool" .SH NAME x2goserver-run-extensions \- Run X2Go Server Extensions .SH SYNOPSIS @@ -68,12 +68,19 @@ The following table shows the available modalities, the calling scripts and the post-terminate extensions/post-terminate.d/ fail-terminate extensions/fail-terminate.d/ +.PP +An exception to this forms the \fIdata\fR directory. This is not a modality, +but a place for storing shared data, like scripts used by multiple modality +scripts. .TP \fIIMPORTANT:\fR When providing X2Go Server extensions by this mechanism, please pretty well make sure that extension scripts you place in either of the above folders do under no circumstance fail during execution. Return codes are ignored and failures are therefore not (yet) propagated. .SH EXECUTION OF EXTENSIONS -Scripts (or binaries) that have been placed into one of the pre/post/fail modality folders (see above) are executed in alpha-numerical sorting order. +Scripts (or binaries) that have been placed into one of the pre/post/fail +modality folders (see above) are executed in alpha-numerical sorting order. +Scripts may call or otherwise utilize shared components in the \fIdata\fR +directory. .PP Extensions will only get executed if their file names start with three digits followed by an underscore character. This restriction is in place to make sure that X2Go Server extensions get executed in the correct/wanted order: -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 0c36f1cbf37dc2f4c352d258c09801935748eecf Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 23:38:17 2014 +0100 extensions: add data/common.sh, providing commonly used variables. --- debian/changelog | 2 ++ x2goserver-extensions/Makefile | 2 ++ .../lib/extensions/data/common.sh | 6 ++---- .../extensions/base/x2goserver-xsettings-common.sh | 3 +++ .../post-resume.d/900_xsettings-xsettingsd-refresh | 8 -------- .../post-start.d/900_xsettings-xsettingsd-startup | 8 -------- .../000_xsettings-xsettingsd-shutdown | 5 ----- 7 files changed, 9 insertions(+), 25 deletions(-) diff --git a/debian/changelog b/debian/changelog index 92fcafe..8906f47 100644 --- a/debian/changelog +++ b/debian/changelog @@ -179,6 +179,8 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low - Various typo and whitespace fixes across components. - Add data directory in x2goserver-extensions. Shared data (e.g., shell scripts) can be put there. + - Add data/common.sh in x2goserver-extensions. Provides commonly used + variables. * x2goserver.spec: - Add x2goserver-settings package. * debian/control: diff --git a/x2goserver-extensions/Makefile b/x2goserver-extensions/Makefile index 2516381..1c7e25f 100755 --- a/x2goserver-extensions/Makefile +++ b/x2goserver-extensions/Makefile @@ -69,6 +69,7 @@ install_scripts: $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/ + $(INSTALL_FILE) lib/extensions/data/common.sh $(DESTDIR)$(LIBDIR)/extensions/data/ $(INSTALL_FILE) lib/extensions/data/.placeholder $(DESTDIR)$(LIBDIR)/extensions/data/ $(INSTALL_FILE) lib/extensions/pre-start.d/.placeholder $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/ $(INSTALL_FILE) lib/extensions/post-start.d/.placeholder $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ @@ -101,6 +102,7 @@ uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version uninstall_scripts: for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/data/common.sh $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/data/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/.placeholder $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/.placeholder diff --git a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown b/x2goserver-extensions/lib/extensions/data/common.sh similarity index 86% copy from x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown copy to x2goserver-extensions/lib/extensions/data/common.sh index 8789ae1..1e08511 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown +++ b/x2goserver-extensions/lib/extensions/data/common.sh @@ -19,12 +19,10 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" -. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh - export X2GO_SESSION="${1}" X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" +X2GO_CONF_DIR="$(x2gopath etc)" -kill "$(cat "${XSETTINGSD_PID}")" +export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" diff --git a/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh b/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh index a65102d..241c0c6 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh +++ b/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh @@ -19,6 +19,9 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> +X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" +. ${X2GO_EXTENSIONS_BASE}/common.sh + # Removes redundant white space and comments. # Note that in-line comments are supported. # Comments start with a hash and everything succeeding, as well as the hash character diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh index e94997e..db8fccd 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh +++ b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh @@ -22,14 +22,6 @@ X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" . ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh -export X2GO_SESSION="${1}" - -X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" -X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" -X2GO_CONF_DIR="$(x2gopath etc)" - -export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" - merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" kill -s HUP "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index b62d26b..5fb50df 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -22,14 +22,6 @@ X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" . ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh -export X2GO_SESSION="${1}" - -X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" -X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" -X2GO_CONF_DIR="$(x2gopath etc)" - -export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" - merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown index 8789ae1..762ff64 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown +++ b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown @@ -22,9 +22,4 @@ X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" . ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh -export X2GO_SESSION="${1}" - -X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" -X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" - kill "$(cat "${XSETTINGSD_PID}")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 6721346ab51fbf38e3c3edc4476e3c07990f742d Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 23:12:07 2014 +0100 xsettings: split up common functionality (variables, functions) into extensions/base/x2goserver-xsettings-common.sh and reference this file in hooks. --- .../x2goserver-xsettings-common.sh} | 13 +-- .../post-resume.d/900_xsettings-xsettingsd-refresh | 19 +--- .../post-start.d/900_xsettings-xsettingsd-startup | 114 +------------------- .../000_xsettings-xsettingsd-shutdown | 4 +- 4 files changed, 8 insertions(+), 142 deletions(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh similarity index 89% copy from x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup copy to x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh index eb8885a..a65102d 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh @@ -115,20 +115,13 @@ merge() { done < "${BASE_FILE}" } -export X2GO_SESSION="${1}" - -X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" -X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" -X2GO_CONF_DIR="$(x2gopath etc)" -XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" +SETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote" XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings" XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go" XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings" -export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" - XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" [ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" @@ -139,7 +132,3 @@ if [ ! -f "${XSETTINGSD_OVERRIDES_CONF}" ]; then echo "# You may edit this file to fit your needs." echo "# All settings in here will override remote machine or global settings.") > "${XSETTINGSD_OVERRIDES_CONF}" fi - -merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" - -nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh index 9748f23..e94997e 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh +++ b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh @@ -19,32 +19,17 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -. SOMEPLACE/x2goserver-xsettings-common.sh +X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" +. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh export X2GO_SESSION="${1}" X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" X2GO_CONF_DIR="$(x2gopath etc)" -XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" -XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote" -XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings" -XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go" -XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" -XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" -[ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" - -# Create a missing XSETTINGSD_OVERRIDES_CONF, if necessary. -if [ ! -f "${XSETTINGSD_OVERRIDES_CONF}" ]; then - (echo "# xsettings overrides file for X2Go." - echo "# Created on $(date "+%Y-%m-%d %T")." - echo "# You may edit this file to fit your needs." - echo "# All settings in here will override remote machine or global settings.") > "${XSETTINGSD_OVERRIDES_CONF}" -fi - merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" kill -s HUP "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index eb8885a..b62d26b 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -19,127 +19,17 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -# Removes redundant white space and comments. -# Note that in-line comments are supported. -# Comments start with a hash and everything succeeding, as well as the hash character -# itself will be removed. -sanitize_line() { - INPUT="${1}" - - [ -z "${INPUT}" ] && echo "" - - echo "${INPUT}" | sed -e 's/^[[:blank:]]*//' -e 's/#.*//' -} - -# Returns the key. -# Is supposed to be used on sanitized input lines only. -extract_key() { - INPUT="${1}" - - [ -z "${INPUT}" ] && echo "" - - echo "${INPUT}" | sed -e 's/^\([^[:blank]]*\)[[:blank:]].*$/\1/' -} - -# Returns the value. -# Is supposed to be used on sanitized input lines only. -extract_value() { - INPUT="${1}" - - [ -z "${INPUT}" ] && echo "" - - echo "${INPUT}" | sed -e 's/^[^[:blank]]*[[:blank:]][[:blank]]*\([^[:blank:]]*\).*$/\1/' -} - -# Merge a base file with a overrides file and write the result to an out file. -# For keys which are both in the base and overrides file, the overrides file -# takes precedence. -# Keys only specified in one of the files will be copied to the out file. -# Both the base and overrides files MUST exist and be readable. -# The out file MAY exist. The base directory of this file MUST be writeable. -# If the out file does not exist, it will be created. -merge() { - BASE_FILE="${1}" - OVERRIDES_FILE="${2}" - OUT_FILE="${3}" - SESSION_DIR="${4}" - - # Sanitizing input parameters. - # Yes, you CAN specify /dev/null for OVERRIDES_FILE or BASE_FILE. - [ -z "${OVERRIDES_FILE}" -o ! -r "${OVERRIDES_FILE}" ] && return 1 - [ -z "${BASE_FILE}" -o ! -r "${BASE_FILE}" ] && return 1 - [ -z "${OUT_FILE}" ] && return 1 - if [ ! -f "${OUT_FILE}" ]; then - touch "${OUT_FILE}" || return 1 - elif [ ! -w "${OUT_FILE}" ]; then - return 1 - fi - [ -z "${SESSION_DIR}" ] && return 1 - - TMP_KEY="${SESSION_DIR}/xsettings-merge.k" - TMP_KEYVALUE="${SESSION_DIR}/xsettings-merge.kv" - - touch "${TMP_KEY}" || return 1 - - # All checks passed. We have readable input files and a writeable output file. - # Go for launch. - while read line; do - parsed_line="$(sanitize_line "${line}")" - [ -z "${parsed_line}" ] && continue - - key="$(extract_key "${parsed_line}")" - value="$(extract_value "${parsed_line}")" - [ -z "${key}" ] && continue - [ -z "${value}" ] && continue - - echo "${key}" >> "${TMP_KEY}" - echo "${key} ${value}" >> "${OUT_FILE}" - done < "${OVERRIDES_FILE}" - - # Code duplication, but this part is actually specialized. - while read line; do - parsed_line="$(sanitize_line "${line}")" - [ -z "${parsed_line}" ] && continue - - key="$(extract_key "${parsed_line}")" - value="$(extract_value "${parsed_line}")" - [ -z "${key}" ] && continue - [ -z "${value}" ] && continue - - # Filter out keys already defined in the parsed overrides file. - while read overrides_key; do - [ -n "${overrides_key}" ] && [ "${key}" = "${overrides_key}" ] && continue 2 - done < "${TMP_KEY}" - - echo "${key} ${value}" >> "${OUT_FILE}" - done < "${BASE_FILE}" -} +X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" +. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh export X2GO_SESSION="${1}" X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" X2GO_CONF_DIR="$(x2gopath etc)" -XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" -XSETTINGSD_LOG="${X2GO_SESSION_DIR}/xsettingsd.log" -XSETTINGSD_REMOTE_CONF="${X2GO_SESSION_DIR}/xsettings-remote" -XSETTINGSD_DEFAULT_CONF="${X2GO_CONF_DIR}/xsettings" -XSETTINGSD_OVERRIDES_CONF="${HOME}/.xsettings-x2go" -XSETTINGSD_CONF="${X2GO_CONF_DIR}/xsettings" export DISPLAY=":$(echo "${X2GO_SESSIONINFO}" | cut -d "|" -f3 | sed -e "s/[^0-9\-]//g")" -XSETTINGSD_BASE_CONF="${XSETTINGSD_DEFAULT_CONF}" -[ -r "${XSETTINGSD_REMOTE_CONF}" ] && XSETTINGSD_BASE_CONF="${XSETTINGSD_REMOTE_CONF}" - -# Create a missing XSETTINGSD_OVERRIDES_CONF, if necessary. -if [ ! -f "${XSETTINGSD_OVERRIDES_CONF}" ]; then - (echo "# xsettings overrides file for X2Go." - echo "# Created on $(date "+%Y-%m-%d %T")." - echo "# You may edit this file to fit your needs." - echo "# All settings in here will override remote machine or global settings.") > "${XSETTINGSD_OVERRIDES_CONF}" -fi - merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown index fde8fe6..8789ae1 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown +++ b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown @@ -19,10 +19,12 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> +X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" +. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh + export X2GO_SESSION="${1}" X2GO_SESSIONINFO="$(x2golistsessions | grep "${X2GO_SESSION}")" X2GO_SESSION_DIR="${HOME}/.x2go/C-${X2GO_SESSION}/" -XSETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" kill "$(cat "${XSETTINGSD_PID}")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 23c719cc3a63c3ba71cc49b5791b942d6fca61b1 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 23:55:53 2014 +0100 xsettings: remove faulty directory installed by Makefile from debian/x2goserver-xsettings.install. --- debian/x2goserver-xsettings.install | 1 - 1 file changed, 1 deletion(-) diff --git a/debian/x2goserver-xsettings.install b/debian/x2goserver-xsettings.install index 8497989..34e4468 100644 --- a/debian/x2goserver-xsettings.install +++ b/debian/x2goserver-xsettings.install @@ -1,4 +1,3 @@ x2goserver-xsettings/etc/* /etc/x2go/ x2goserver-xsettings/VERSION.x2goserver-extensions /usr/share/x2go/versions/ x2goserver-xsettings/share/x2gofeature.d/* /usr/share/x2go/x2gofeature.d/ -x2goserver-xsettings/lib/* /usr/lib/x2go/ -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 85df6b56c8caa3a1edf6bd606ff8e9ac8836b401 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 23:58:14 2014 +0100 xsettings: rename faulty "base" to "data". --- .../{base => data}/x2goserver-xsettings-common.sh | 4 ++-- .../post-resume.d/900_xsettings-xsettingsd-refresh | 4 ++-- .../post-start.d/900_xsettings-xsettingsd-startup | 4 ++-- .../000_xsettings-xsettingsd-shutdown | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh similarity index 97% rename from x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh rename to x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh index 241c0c6..def71b9 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/base/x2goserver-xsettings-common.sh +++ b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh @@ -19,8 +19,8 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" -. ${X2GO_EXTENSIONS_BASE}/common.sh +X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" +. ${X2GO_EXTENSIONS_DATA}/common.sh # Removes redundant white space and comments. # Note that in-line comments are supported. diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh index db8fccd..be3728c 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh +++ b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh @@ -19,8 +19,8 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" -. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh +X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" +. ${X2GO_EXTENSIONS_DATA}/x2goserver-xsettings-common.sh merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 5fb50df..3e42ea6 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -19,8 +19,8 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" -. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh +X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" +. ${X2GO_EXTENSIONS_DATA}/x2goserver-xsettings-common.sh merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown index 762ff64..f54ab3c 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown +++ b/x2goserver-xsettings/lib/x2go/extensions/pre-terminate.d/000_xsettings-xsettingsd-shutdown @@ -19,7 +19,7 @@ # # Copyright (C) 2014 Mihai Moldovan <ionic@ionic.de> -X2GO_EXTENSIONS_BASE="$(x2gopath libexec)/extensions/base/" -. ${X2GO_EXTENSIONS_BASE}/x2goserver-xsettings-common.sh +X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" +. ${X2GO_EXTENSIONS_DATA}/x2goserver-xsettings-common.sh kill "$(cat "${XSETTINGSD_PID}")" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 9b2e1c8ede2566c91728342e813a1e7b94e2e185 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Nov 24 23:42:40 2014 +0100 xsettings: add missing post-resume.d targets to Makefile. --- x2goserver-xsettings/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/x2goserver-xsettings/Makefile b/x2goserver-xsettings/Makefile index b3facbc..b0f7be4 100755 --- a/x2goserver-xsettings/Makefile +++ b/x2goserver-xsettings/Makefile @@ -55,8 +55,10 @@ install: install_scripts install_config install_man install_version install_scripts: $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-start.d + $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/post-resume.d $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d $(INSTALL_PROGRAM) lib/x2go/extensions/post-start.d/* $(DESTDIR)$(LIBDIR)/extensions/post-start.d/ + $(INSTALL_PROGRAM) lib/x2go/extensions/post-resume.d/* $(DESTDIR)$(LIBDIR)/extensions/post-resume.d/ $(INSTALL_PROGRAM) lib/x2go/extensions/pre-terminate.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/ $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d $(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/ @@ -80,6 +82,7 @@ uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version uninstall_scripts: $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-start.d/900_xsettings-* + $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/post-resume.d/900_xsettings-* $(RM_FILE) $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/000_xsettings-* for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 34ff95357dbf9e03662130cdb3257373218fc894 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Nov 25 01:13:37 2014 +0100 xsettings: remove temporary file in x2goserver_xsettings_merge. --- .../extensions/data/x2goserver-xsettings-common.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh index 9d53864..92369d5 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh +++ b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh @@ -116,6 +116,8 @@ x2goserver_xsettings_merge() { echo "${key} ${value}" >> "${OUT_FILE}" done < "${BASE_FILE}" + + rm "${TMP_KEY}" } SETTINGSD_PID="${X2GO_SESSION_DIR}/xsettingsd.pid" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 503f822f7f4aaa88586a38fbe23b8aa89131248c Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Nov 25 01:02:51 2014 +0100 xsettings: fix speling errors in POSIX BRE character classes. --- .../extensions/data/x2goserver-xsettings-common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh index 3f4de3b..9d53864 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh +++ b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh @@ -41,7 +41,7 @@ x2goserver_xsettings_extract_key() { [ -z "${INPUT}" ] && echo "" - echo "${INPUT}" | sed -e 's/^\([^[:blank]]*\)[[:blank:]].*$/\1/' + echo "${INPUT}" | sed -e 's/^\([^[:blank:]]*\)[[:blank:]].*$/\1/' } # Returns the value. @@ -51,7 +51,7 @@ x2goserver_xsettings_extract_value() { [ -z "${INPUT}" ] && echo "" - echo "${INPUT}" | sed -e 's/^[^[:blank]]*[[:blank:]][[:blank]]*\([^[:blank:]]*\).*$/\1/' + echo "${INPUT}" | sed -e 's/^[^[:blank:]]*[[:blank:]][[:blank:]]*\([^[:blank:]]*\).*$/\1/' } # Merge a base file with a overrides file and write the result to an out file. -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch feature/x2goserver-xsettings in repository x2goserver. commit 95d2c58406334cd37a22fcc3e7b8fa1c2bcda3a7 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Nov 25 01:01:42 2014 +0100 xsettings: try really hard to avoid name clashes by prefixing own shell functions with x2goserver_xsettings_. --- .../extensions/data/x2goserver-xsettings-common.sh | 20 ++++++++++---------- .../post-resume.d/900_xsettings-xsettingsd-refresh | 2 +- .../post-start.d/900_xsettings-xsettingsd-startup | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh index def71b9..3f4de3b 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh +++ b/x2goserver-xsettings/lib/x2go/extensions/data/x2goserver-xsettings-common.sh @@ -26,7 +26,7 @@ X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" # Note that in-line comments are supported. # Comments start with a hash and everything succeeding, as well as the hash character # itself will be removed. -sanitize_line() { +x2goserver_xsettings_sanitize_line() { INPUT="${1}" [ -z "${INPUT}" ] && echo "" @@ -36,7 +36,7 @@ sanitize_line() { # Returns the key. # Is supposed to be used on sanitized input lines only. -extract_key() { +x2goserver_xsettings_extract_key() { INPUT="${1}" [ -z "${INPUT}" ] && echo "" @@ -46,7 +46,7 @@ extract_key() { # Returns the value. # Is supposed to be used on sanitized input lines only. -extract_value() { +x2goserver_xsettings_extract_value() { INPUT="${1}" [ -z "${INPUT}" ] && echo "" @@ -61,7 +61,7 @@ extract_value() { # Both the base and overrides files MUST exist and be readable. # The out file MAY exist. The base directory of this file MUST be writeable. # If the out file does not exist, it will be created. -merge() { +x2goserver_xsettings_merge() { BASE_FILE="${1}" OVERRIDES_FILE="${2}" OUT_FILE="${3}" @@ -87,11 +87,11 @@ merge() { # All checks passed. We have readable input files and a writeable output file. # Go for launch. while read line; do - parsed_line="$(sanitize_line "${line}")" + parsed_line="$(x2goserver_xsettings_sanitize_line "${line}")" [ -z "${parsed_line}" ] && continue - key="$(extract_key "${parsed_line}")" - value="$(extract_value "${parsed_line}")" + key="$(x2goserver_xsettings_extract_key "${parsed_line}")" + value="$(x2goserver_xsettings_extract_value "${parsed_line}")" [ -z "${key}" ] && continue [ -z "${value}" ] && continue @@ -101,11 +101,11 @@ merge() { # Code duplication, but this part is actually specialized. while read line; do - parsed_line="$(sanitize_line "${line}")" + parsed_line="$(x2goserver_xsettings_sanitize_line "${line}")" [ -z "${parsed_line}" ] && continue - key="$(extract_key "${parsed_line}")" - value="$(extract_value "${parsed_line}")" + key="$(x2goserver_xsettings_extract_key "${parsed_line}")" + value="$(x2goserver_xsettings_extract_value "${parsed_line}")" [ -z "${key}" ] && continue [ -z "${value}" ] && continue diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh index be3728c..1ad5797 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh +++ b/x2goserver-xsettings/lib/x2go/extensions/post-resume.d/900_xsettings-xsettingsd-refresh @@ -22,6 +22,6 @@ X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" . ${X2GO_EXTENSIONS_DATA}/x2goserver-xsettings-common.sh -merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" +x2goserver_xsettings_merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" kill -s HUP "${XSETTINGSD_PID}" diff --git a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup index 3e42ea6..b0e2201 100644 --- a/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup +++ b/x2goserver-xsettings/lib/x2go/extensions/post-start.d/900_xsettings-xsettingsd-startup @@ -22,6 +22,6 @@ X2GO_EXTENSIONS_DATA="$(x2gopath libexec)/extensions/data/" . ${X2GO_EXTENSIONS_DATA}/x2goserver-xsettings-common.sh -merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" +x2goserver_xsettings_merge "${XSETTINGSD_BASE_CONF}" "${XSETTINGSD_OVERRIDES_CONF}" "${XSETTINGSD_CONF}" "${X2GO_SESSION_DIR}" nohup xsettingsd -c "${XSETTINGSD_CONF}" >"${XSETTINGSD_LOG}" 2>&1 & echo "${!}" > "${XSETTINGSD_PID}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git