This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goserver. commit 0619147aabd681249816bc6f2f18317b72cfe7be Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Jul 19 20:27:30 2019 +0200 Add X2Go KDrive support (wrapper package: x2goserver-x2gokdrive). --- Makefile | 7 ++ debian/changelog | 1 + debian/control | 24 +++++++ debian/x2goserver-x2gokdrive.install | 3 + x2goserver-x2gokdrive/Makefile | 80 ++++++++++++++++++++++ .../VERSION.x2goserver-x2gokdrive | 1 + x2goserver-x2gokdrive/bin/.keep | 0 x2goserver-x2gokdrive/etc/x2gokdrive.options | 50 ++++++++++++++ .../x2gofeature.d/x2goserver-x2gokdrive.features | 37 ++++++++++ x2goserver.spec | 36 ++++++++++ 10 files changed, 239 insertions(+) diff --git a/Makefile b/Makefile index 009f9c4..08a6d10 100755 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ build_man2html: $(MAKE) -C x2goserver $@ $(MAKE) -C libx2go-server-db-perl $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ @@ -34,6 +35,7 @@ clean: $(MAKE) -C x2goserver $@ $(MAKE) -C libx2go-server-db-perl $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ @@ -46,6 +48,7 @@ distclean: $(MAKE) -C x2goserver clean $(MAKE) -C libx2go-server-db-perl clean $(MAKE) -C x2goserver-x2goagent clean + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing clean $(MAKE) -C x2goserver-extensions clean $(MAKE) -C x2goserver-xsession clean @@ -57,6 +60,7 @@ build-arch: $(MAKE) -C x2goserver $@ $(MAKE) -C libx2go-server-db-perl $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ @@ -70,6 +74,7 @@ build-indep: $(MAKE) -C x2goserver $@ $(MAKE) -C libx2go-server-db-perl $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ @@ -82,6 +87,7 @@ install: $(MAKE) -C x2goserver $@ $(MAKE) -C libx2go-server-db-perl $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-extensions $@ $(MAKE) -C x2goserver-xsession $@ @@ -91,6 +97,7 @@ install: uninstall: $(MAKE) -C x2goserver-printing $@ $(MAKE) -C x2goserver-x2goagent $@ + $(MAKE) -C x2goserver-x2gokdrive $@ $(MAKE) -C x2goserver-xsession $@ $(MAKE) -C x2goserver-desktopsharing $@ $(MAKE) -C x2goserver-fmbindings $@ diff --git a/debian/changelog b/debian/changelog index 2004626..76636e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ x2goserver (4.1.0.4-0x2go1.1) UNRELEASED; urgency=medium - x2goserver-x2goagent: Drop x2goagent.keyboard file. - x2goversion: Fix situations where ${compfile} contains a non-absolute path (e.g. it contains '../'). (Fixes: #1357). + - Add X2Go KDrive support (wrapper package: x2goserver-x2gokdrive). * debian/x2goserver.postinst: + Drop duplicate sourcing of debconf includes. + Add Dutch debconf translation. Thanks to Frans Spiesschaert. diff --git a/debian/control b/debian/control index 02c8eea..491aee8 100644 --- a/debian/control +++ b/debian/control @@ -42,6 +42,8 @@ Depends: x2goserver-common (>= ${source:Version}), x2goserver-x2goagent (<< ${source:Version}.1~), x2goserver-x2goagent (>= ${source:Version}), + x2goserver-x2gokdrive (<< ${source:Version}.1~), + x2goserver-x2gokdrive (>= ${source:Version}), xauth, xkb-data, ${misc:Depends}, @@ -308,6 +310,28 @@ Description: X2Go Server's X2Go Agent Please refer to the nxagent package's description for more information on NX. +Package: x2goserver-x2gokdrive +Architecture: any +Pre-Depends: + dpkg (>= 1.15.7.2), +Depends: + xserver-x2gokdrive, + ${misc:Depends}, +Suggests: + x2goserver, +Description: X2Go Server's X2Go KDrive Xserver + X2Go is a software suite that uses NX and/or KDrive technology for + remote desktop computing. + . + X2Go KDrive technology implements a remote X11 Xserver backend for + modern desktop environments, namely desktops derived from the GNOME + desktop shell. + . + X2Go KDrive does not require an XServer on the client-side, only the + X11-independent x2gokdriveclient. esktop session data transfers from + server to client use differential image compression and image data gets + cached client-side. + Package: x2goserver-xsession Architecture: all Pre-Depends: diff --git a/debian/x2goserver-x2gokdrive.install b/debian/x2goserver-x2gokdrive.install new file mode 100644 index 0000000..cba4551 --- /dev/null +++ b/debian/x2goserver-x2gokdrive.install @@ -0,0 +1,3 @@ +etc/x2go/x2gokdrive.options +usr/share/x2go/versions/VERSION.x2goserver-x2gokdrive +usr/share/x2go/x2gofeature.d/x2goserver-x2gokdrive.* diff --git a/x2goserver-x2gokdrive/Makefile b/x2goserver-x2gokdrive/Makefile new file mode 100755 index 0000000..1813476 --- /dev/null +++ b/x2goserver-x2gokdrive/Makefile @@ -0,0 +1,80 @@ +#!/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 +INSTALL_SYMLINK=ln -s -f + +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 +NXLIBDIR ?= $(LIBDIR)/../nx +MANDIR=$(PREFIX)/share/man +SHAREDIR=$(PREFIX)/share/x2go + +FEATURE_SCRIPTS=$(shell cd share/x2go/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: + +clean: clean_man2html + +clean_man2html: + +install: install_scripts install_config install_data install_man install_version + +install_scripts: + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d + $(INSTALL_PROGRAM) share/x2go/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/ + +install_data: + +install_config: + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)/ + $(INSTALL_FILE) etc/x2gokdrive.options $(DESTDIR)$(ETCDIR)/ + +install_man: + +install_version: + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/versions + $(INSTALL_FILE) VERSION.x2goserver-x2gokdrive $(DESTDIR)$(SHAREDIR)/versions/ + +uninstall: uninstall_scripts uninstall_config uninstall_data uninstall_man uninstall_version + +uninstall_scripts: + for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done + +uninstall_data: + +uninstall_config: + $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2gokdrive.options + $(RM_DIR) $(DESTDIR)$(ETCDIR) || true + +uninstall_man: + +uninstall_version: + $(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-x2gokdrive + $(RM_DIR) $(DESTDIR)$(SHAREDIR)/versions || true diff --git a/x2goserver-x2gokdrive/VERSION.x2goserver-x2gokdrive b/x2goserver-x2gokdrive/VERSION.x2goserver-x2gokdrive new file mode 100644 index 0000000..2b5e42c --- /dev/null +++ b/x2goserver-x2gokdrive/VERSION.x2goserver-x2gokdrive @@ -0,0 +1 @@ +4.1.0.4 diff --git a/x2goserver-x2gokdrive/bin/.keep b/x2goserver-x2gokdrive/bin/.keep new file mode 100644 index 0000000..e69de29 diff --git a/x2goserver-x2gokdrive/etc/x2gokdrive.options b/x2goserver-x2gokdrive/etc/x2gokdrive.options new file mode 100644 index 0000000..8796494 --- /dev/null +++ b/x2goserver-x2gokdrive/etc/x2gokdrive.options @@ -0,0 +1,50 @@ +# +# This file can be used to specify default options that are passed to x2gokdrive. +# +# These options can be overridden by the client! +# +# See the output of `x2gokdrive -help` for the full list of options. +# +# Remember: +# "-extension" disables an extension. +# "+extension" enables an extension. + +X2GO_X2GOKDRIVE_DEFAULT_OPTIONS="" + +# FIXME: check if this works with X2Go KDrive!!! +# +# Uncomment to disable GLX, the old mesa version is hopelessly outdated anyways. +# Unbreaks the gnome3 control center +# +#X2GO_X2GOKDRIVE_DEFAULT_OPTIONS+=" -extension GLX" + +# FIXME: check if this works with X2Go KDrive!!! +# +# Launch X2Go's X-server x2goagent with option "-nolisten tcp". +# +# This is the default setting and the X2Go developers really recommend not to +# touch this. However, if you play with this (i.e. if you comment it out) you +# should really know what you are doing. +# +# For everyone else: don't touch the line below!!! +X2GO_X2GOKDRIVE_DEFAULT_OPTIONS+=" -nolisten tcp" + +# FIXME: check if this works with X2Go KDrive!!! +# +# Enforce clipboard behaviour in X2Go sessions globally (for all connecting clients) +# Possible values for the -clipboard option: both, server, client, none +# If this option stays commented out, clients can choose the sessions' clipboard behaviour... +#X2GO_X2GOKDRIVE_DEFAULT_OPTIONS+=" -clipboard both" + +# FIXME: check if this works with X2Go KDrive!!! +# +# BIG-REQUESTS can be problematic. Older versions of nx-libs did not implement +# this extension correctly, leading to all sorts of weird crashes if left +# enabled. +# Newer versions should handle this extension much better, but if you see +# crashes related to BIG-REQUESTS, uncomment this line to disable the +# extension. +#X2GO_X2GOKDRIVE_DEFAULT_OPTIONS+=" -extension BIG-REQUESTS" + +# Extra nxagent nx/nx options, separated by commas. For example: sleep=0 +X2GO_NXOPTIONS="" diff --git a/x2goserver-x2gokdrive/share/x2go/x2gofeature.d/x2goserver-x2gokdrive.features b/x2goserver-x2gokdrive/share/x2go/x2gofeature.d/x2goserver-x2gokdrive.features new file mode 100755 index 0000000..572f4c5 --- /dev/null +++ b/x2goserver-x2gokdrive/share/x2go/x2gofeature.d/x2goserver-x2gokdrive.features @@ -0,0 +1,37 @@ +#!/bin/bash + +# Copyright (C) 2019, Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +# +# 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. + +# silently bail out if X2Go Server is not installed +if ! which x2gopath 1>/dev/null; then + exit 0 +fi + +X2GO_LIB_PATH="$(x2gopath libexec)"; + +$X2GO_LIB_PATH/x2gosyslog "$0" "info" "$(basename $0) called with options: $@" + +X2GO_FEATURE=$1 + +# check for X2Go KDrive features +case "$X2GO_FEATURE" in + + "X2GOKDRIVE_BASE_SUPPORT") echo "ok"; exit 0;; + *) exit -1;; + +esac diff --git a/x2goserver.spec b/x2goserver.spec index 98c0ce6..02860de 100644 --- a/x2goserver.spec +++ b/x2goserver.spec @@ -357,6 +357,33 @@ The x2goserver-x2goagent package is a wrapper that activates X2Go branding in nxagent. Please refer to the nxagent package's description for more information on NX. +%package x2gokdrive +Group: Applications/System +Summary: X2Go Server's X2Go KDrive Xserver +Requires: xserver-x2gokdrive + +%description x2gokdrive +X2Go is a server based computing environment with + - session resuming + - low bandwidth support + - session brokerage support + - client side mass storage mounting support + - client side printing support + - audio support + - authentication by smartcard and USB stick + +X2Go is a software suite that uses NX and/or KDrive technology for +remote desktop computing. + +X2Go KDrive technology implements a remote X11 Xserver backend for +modern desktop environments, namely desktops derived from the GNOME +desktop shell. + +X2Go KDrive does not require an XServer on the client-side, only the +X11-independent x2gokdriveclient. esktop session data transfers from +server to client use differential image compression and image data gets +cached client-side. + %package printing Summary: X2Go Server (printing support) Requires: %{name} = %{version}-%{release} @@ -1032,6 +1059,15 @@ fi %config(noreplace) %{_sysconfdir}/x2go/keystrokes.cfg +%files x2goagent +%defattr(-,root,root) +%doc debian/copyright +%doc debian/changelog +%{_datadir}/x2go/versions/VERSION.x2goserver-x2gokdrive +%{_datadir}/x2go/x2gofeature.d/x2goserver-x2gokdrive.features +%config(noreplace) %{_sysconfdir}/x2go/x2gokdrive.options + + %files printing %defattr(-,root,root) %doc debian/copyright -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goserver.git