[X2Go-Commits] [x2goserver] 01/03: Add X2Go KDrive support (wrapper package: x2goserver-x2gokdrive).

git-admin at x2go.org git-admin at x2go.org
Fri Jul 19 20:29:53 CEST 2019


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 at 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 at 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


More information about the x2go-commits mailing list