diff options
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" +} |