summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/x2goserver/ChangeLog13
-rw-r--r--net-misc/x2goserver/files/x2goserver-4.0.1.18-fix_local_desktop_sharing.patch19
-rw-r--r--net-misc/x2goserver/files/x2goserver-4.0.1.18-use_printf.patch58
-rw-r--r--net-misc/x2goserver/x2goserver-4.0.1.18-r2.ebuild90
4 files changed, 178 insertions, 2 deletions
diff --git a/net-misc/x2goserver/ChangeLog b/net-misc/x2goserver/ChangeLog
index eaf39ddb9b80..9833b66a6672 100644
--- a/net-misc/x2goserver/ChangeLog
+++ b/net-misc/x2goserver/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for net-misc/x2goserver
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/x2goserver/ChangeLog,v 1.50 2014/10/23 08:35:58 voyageur Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/x2goserver/ChangeLog,v 1.51 2015/01/16 15:53:46 voyageur Exp $
+
+*x2goserver-4.0.1.18-r2 (16 Jan 2015)
+
+ 16 Jan 2015; Bernard Cafarelli <voyageur@gentoo.org>
+ +x2goserver-4.0.1.18-r2.ebuild,
+ +files/x2goserver-4.0.1.18-fix_local_desktop_sharing.patch,
+ +files/x2goserver-4.0.1.18-use_printf.patch:
+ Fix invalid 'echo -n' usage (#528452), remove dangling symlink (#521126),
+ both by polynomial-c. Also fix local desktop sharing
*x2goserver-4.0.1.18-r1 (23 Oct 2014)
diff --git a/net-misc/x2goserver/files/x2goserver-4.0.1.18-fix_local_desktop_sharing.patch b/net-misc/x2goserver/files/x2goserver-4.0.1.18-fix_local_desktop_sharing.patch
new file mode 100644
index 000000000000..11cef863be06
--- /dev/null
+++ b/net-misc/x2goserver/files/x2goserver-4.0.1.18-fix_local_desktop_sharing.patch
@@ -0,0 +1,19 @@
+diff -Naur x2goserver-4.0.1.18.orig/x2goserver/bin/x2golistdesktops x2goserver-4.0.1.18/x2goserver/bin/x2golistdesktops
+--- x2goserver-4.0.1.18.orig/x2goserver/bin/x2golistdesktops 2014-10-06 23:23:27.000000000 +0200
++++ x2goserver-4.0.1.18/x2goserver/bin/x2golistdesktops 2015-01-14 10:52:55.044479499 +0100
+@@ -60,7 +60,15 @@
+ $rdisp="I${rdisp}I";
+
+ my $uname=$ENV{'USER'};
++
++# on Debian the ss command is in /usr/bin, on Fedora, it is in /usr/sbin...
++# -> so we need to tweak the PATH env var a little here...
++my $old_PATH=$ENV{'PATH'};
++$ENV{'PATH'}="$ENV{'PATH'}:/usr/sbin:/sbin";
+ my $lines=`ss -lxu`;
++$ENV{'PATH'}=$old_PATH;
++undef $old_PATH;
++
+ my @lines=split("\n", "$lines");
+
+ my @outp = grep ( /(@| )\/tmp\/.X11-unix\/X.*/, @lines);
diff --git a/net-misc/x2goserver/files/x2goserver-4.0.1.18-use_printf.patch b/net-misc/x2goserver/files/x2goserver-4.0.1.18-use_printf.patch
new file mode 100644
index 000000000000..434deb6daa5e
--- /dev/null
+++ b/net-misc/x2goserver/files/x2goserver-4.0.1.18-use_printf.patch
@@ -0,0 +1,58 @@
+diff -Naur x2goserver-4.0.1.18.orig/rpm/x2goserver.init x2goserver-4.0.1.18/rpm/x2goserver.init
+--- x2goserver-4.0.1.18.orig/rpm/x2goserver.init 2014-10-06 23:23:27.000000000 +0200
++++ x2goserver-4.0.1.18/rpm/x2goserver.init 2015-01-14 11:23:42.840796430 +0100
+@@ -35,7 +35,7 @@
+ mkdir $XSOCKDIR
+ chmod 1777 $XSOCKDIR
+ fi
+- echo -n $"Starting $prog: "
++ printf '%s' $"Starting $prog: "
+ daemon $exec $OPTS
+ retval=$?
+ echo
+@@ -43,7 +43,7 @@
+ }
+
+ stop() {
+- echo -n $"Stopping $prog: "
++ printf '%s' $"Stopping $prog: "
+ killproc $exec
+ retval=$?
+ echo
+diff -Naur x2goserver-4.0.1.18.orig/x2goserver/bin/x2gopath x2goserver-4.0.1.18/x2goserver/bin/x2gopath
+--- x2goserver-4.0.1.18.orig/x2goserver/bin/x2gopath 2014-10-06 23:23:27.000000000 +0200
++++ x2goserver-4.0.1.18/x2goserver/bin/x2gopath 2015-01-14 11:25:57.105755690 +0100
+@@ -32,12 +32,12 @@
+
+ # The following section is subject to substitution by distro packaging tools.
+ case "$1" in
+- base) echo -n "$base";;
+- lib) echo -n "$base/lib/x2go";;
+- libexec) echo -n "$base/lib/x2go";;
+- share) echo -n "$base/share/x2go";;
+- nx-x11) echo -n "$base/lib/nx/X11";;
+- xinerama) echo -n "$base/lib/nx/X11/Xinerama";;
++ base) printf '%s' "$base";;
++ lib) printf '%s' "$base/lib/x2go";;
++ libexec) printf '%s' "$base/lib/x2go";;
++ share) printf '%s' "$base/share/x2go";;
++ nx-x11) printf '%s' "$base/lib/nx/X11";;
++ xinerama) printf '%s' "$base/lib/nx/X11/Xinerama";;
+ *) exit 1;;
+ esac;
+
+diff -Naur x2goserver-4.0.1.18.orig/x2goserver-xsession/etc/Xsession x2goserver-4.0.1.18/x2goserver-xsession/etc/Xsession
+--- x2goserver-4.0.1.18.orig/x2goserver-xsession/etc/Xsession 2014-10-06 23:23:27.000000000 +0200
++++ x2goserver-4.0.1.18/x2goserver-xsession/etc/Xsession 2015-01-14 11:23:42.840796430 +0100
+@@ -26,9 +26,9 @@
+ # pretty-print messages of arbitrary length (no trailing newline); use
+ # xmessage if it is available and $DISPLAY is set
+ MESSAGE="$PROGNAME: $*"
+- echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
++ printf '%s' "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
+ if [ -n "$DISPLAY" ] && which xmessage 1> /dev/null 2>&1; then
+- echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
++ printf '%s' "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
+ fi
+ }
+
diff --git a/net-misc/x2goserver/x2goserver-4.0.1.18-r2.ebuild b/net-misc/x2goserver/x2goserver-4.0.1.18-r2.ebuild
new file mode 100644
index 000000000000..733b2d5f9e32
--- /dev/null
+++ b/net-misc/x2goserver/x2goserver-4.0.1.18-r2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 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-r2.ebuild,v 1.1 2015/01/16 15:53:46 voyageur Exp $
+
+EAPI=4
+inherit eutils multilib systemd toolchain-funcs user
+
+DESCRIPTION="The X2Go server"
+HOMEPAGE="http://www.x2go.org"
+SRC_URI="http://code.x2go.org/releases/source/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+fuse postgres +sqlite"
+
+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
+ epatch "${FILESDIR}"/${P}-fix_local_desktop_sharing.patch
+ # Bug #524350
+ epatch "${FILESDIR}"/${P}-use_printf.patch
+
+ # Do not install Xresources symlink (#521126)
+ sed -e '\#$(INSTALL_SYMLINK) /etc/X11/Xresources# s/^/#/' -i x2goserver-xsession/Makefile || die "Xresources symlink sed failed"
+ # 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"
+}