summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/x2goserver/files/x2gocleansessions.service10
-rw-r--r--net-misc/x2goserver/files/x2goserver-4.0.1.18-prevent_bash_failures_xsession.patch27
-rw-r--r--net-misc/x2goserver/files/x2goserver.init21
-rw-r--r--net-misc/x2goserver/x2goserver-scm.ebuild87
4 files changed, 145 insertions, 0 deletions
diff --git a/net-misc/x2goserver/files/x2gocleansessions.service b/net-misc/x2goserver/files/x2gocleansessions.service
new file mode 100644
index 0000000..393d841
--- /dev/null
+++ b/net-misc/x2goserver/files/x2gocleansessions.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=x2go - remote desktop server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/x2gocleansessions
+PIDFile=/run/x2goserver.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/x2goserver/files/x2goserver-4.0.1.18-prevent_bash_failures_xsession.patch b/net-misc/x2goserver/files/x2goserver-4.0.1.18-prevent_bash_failures_xsession.patch
new file mode 100644
index 0000000..868c52a
--- /dev/null
+++ b/net-misc/x2goserver/files/x2goserver-4.0.1.18-prevent_bash_failures_xsession.patch
@@ -0,0 +1,27 @@
+diff --git a/x2goserver-xsession/etc/Xsession b/x2goserver-xsession/etc/Xsession
+index b9ef15e..94692db 100755
+--- a/x2goserver-xsession/etc/Xsession
++++ b/x2goserver-xsession/etc/Xsession
+@@ -139,7 +139,9 @@ elif [ -f /etc/redhat-release ] || [ -f /etc/gentoo-release ]; then
+
+ # Set up i18n environment
+ if [ -r /etc/profile.d/lang.sh ]; then
++ set +e
+ . /etc/profile.d/lang.sh
++ set -e
+ fi
+
+ # merge in defaults
+@@ -177,7 +179,9 @@ elif [ -f /etc/redhat-release ] || [ -f /etc/gentoo-release ]; then
+
+ # run all system xinitrc shell scripts.
+ for file in /etc/x2go/xinitrc.d/* ; do
++ set +e
+ [ -r "$file" ] && . $file
++ set -e
+ done
+
+ # Prefix launch of session with ssh-agent if available and not already running.
+--
+1.7.9.5
+
diff --git a/net-misc/x2goserver/files/x2goserver.init b/net-misc/x2goserver/files/x2goserver.init
new file mode 100644
index 0000000..1947fcf
--- /dev/null
+++ b/net-misc/x2goserver/files/x2goserver.init
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/x2goserver/files/x2goserver.init,v 1.3 2012/07/13 09:36:58 voyageur Exp $
+
+DAEMON=/usr/sbin/x2gocleansessions
+PIDFILE=/var/run/x2goserver.pid
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
+ --exec ${DAEMON} -- $DAEMON_OPTS
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/net-misc/x2goserver/x2goserver-scm.ebuild b/net-misc/x2goserver/x2goserver-scm.ebuild
new file mode 100644
index 0000000..8ab970c
--- /dev/null
+++ b/net-misc/x2goserver/x2goserver-scm.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/x2goserver/x2goserver-4.0.1.18-r1.ebuild,v 1.1 2014/10/23 08:35:58 voyageur Exp $
+
+EAPI=5
+inherit eutils multilib systemd toolchain-funcs user git-2
+
+DESCRIPTION="The X2Go server"
+HOMEPAGE="http://www.x2go.org"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+fuse postgres +sqlite"
+
+EGIT_REPO_URI="git://code.x2go.org/x2goserver.git"
+
+REQUIRED_USE="|| ( postgres sqlite )"
+
+DEPEND=""
+RDEPEND="dev-perl/Capture-Tiny
+ dev-perl/Config-Simple
+ dev-perl/File-BaseDir
+ dev-perl/File-ReadBackwards
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ >=net-misc/nx-3.5.0.25
+ net-misc/openssh
+ x11-apps/xauth
+ x11-apps/xhost
+ x11-apps/xwininfo
+ fuse? ( sys-fs/sshfs-fuse )
+ postgres? ( dev-perl/DBD-Pg )
+ sqlite? ( dev-perl/DBD-SQLite )"
+
+pkg_setup() {
+ # Force the group creation, #479650
+ enewgroup x2gouser
+ enewgroup x2goprint
+ enewuser x2gouser -1 -1 /var/lib/x2go x2gouser
+ enewuser x2goprint -1 -1 /var/spool/x2goprint x2goprint
+}
+
+src_prepare() {
+ # Bug #524350
+# epatch "${FILESDIR}"/${P}-prevent_bash_failures_xsession.patch
+
+ # Multilib clean
+ sed -e "/^LIBDIR=/s/lib/$(get_libdir)/" -i Makefile */Makefile || die "multilib sed failed"
+ # Skip man2html build
+ sed -e "s/build-indep: build_man2html/build-indep:/" -i Makefile */Makefile || die "man2html sed failed"
+ # Use nxagent directly
+ sed -i -e "/NX_TEMP=/s/x2goagent/nxagent/" x2goserver/bin/x2gostartagent || die "sed failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" PREFIX=/usr
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+
+ fowners root:x2goprint /usr/bin/x2goprint
+ fperms 2755 /usr/bin/x2goprint
+ fperms 0750 /etc/sudoers.d
+ fperms 0440 /etc/sudoers.d/x2goserver
+ dosym /usr/share/applications /etc/x2go/applications
+
+ newinitd "${FILESDIR}"/${PN}.init x2gocleansessions
+ systemd_dounit "${FILESDIR}"/x2gocleansessions.service
+}
+
+pkg_postinst() {
+ if use sqlite ; then
+ elog "To use sqlite and create the initial database, run:"
+ elog " # x2godbadmin --createdb"
+ fi
+ if use postgres ; then
+ elog "To use a PostgreSQL databse, more information is availabe here:"
+ elog "http://www.x2go.org/doku.php/wiki:advanced:multi-node:x2goserver-pgsql"
+ fi
+
+ elog "For password authentication, you need to enable PasswordAuthentication"
+ elog "in /etc/ssh/sshd_config (disabled by default in Gentoo)"
+ elog "An init script was installed for x2gocleansessions"
+}