net-misc/x2goserver: use explicitly bash in Xsession, bug #575022
authorBernard Cafarelli <voyageur@gentoo.org>
Mon, 29 Feb 2016 13:03:20 +0000 (14:03 +0100)
committerBernard Cafarelli <voyageur@gentoo.org>
Mon, 29 Feb 2016 13:03:53 +0000 (14:03 +0100)
Upstream backport after report by polynomial-c

Package-Manager: portage-2.2.27

net-misc/x2goserver/files/x2goserver-4.0.1.19-use_bash_in_Xsession.patch [new file with mode: 0644]
net-misc/x2goserver/x2goserver-4.0.1.19-r2.ebuild [new file with mode: 0644]

diff --git a/net-misc/x2goserver/files/x2goserver-4.0.1.19-use_bash_in_Xsession.patch b/net-misc/x2goserver/files/x2goserver-4.0.1.19-use_bash_in_Xsession.patch
new file mode 100644 (file)
index 0000000..0eab0d3
--- /dev/null
@@ -0,0 +1,26 @@
+X-Git-Url: http://code.x2go.org/gitweb?p=x2goserver.git;a=blobdiff_plain;f=x2goserver-xsession%2Fetc%2FXsession;h=7ad477ffc439ef0f7f0ccbbee40f55504a8f2dd6;hp=ab32a1062cdbec6b3ccbea29682d240f06046394;hb=7ae2669b596d3b84f0ba09552d5a8c0e653ce86d;hpb=1cc93d59f6bb2559b1c42daba26cf3b9b50f3e69
+
+diff --git a/x2goserver-xsession/etc/Xsession b/x2goserver-xsession/etc/Xsession
+index ab32a10..7ad477f 100755
+--- a/x2goserver-xsession/etc/Xsession
++++ b/x2goserver-xsession/etc/Xsession
+@@ -208,16 +208,16 @@ elif [ -f /etc/redhat-release ] || [ -f /etc/gentoo-release ] || [ -f /etc/SUSE-
+ 
+       # XCLIENTS_D=/etc/x2go/Xclients.d
+       #if [ -d "$XCLIENTS_D" -a -x "$XCLIENTS_D/Xclients.${XSESSION_EXEC}.sh" ]; then
+-      #       exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $XCLIENTS_D/Xclients.$1.sh"
++      #       exec /bin/bash -c "exec -l \"$SHELL\" -c \"$CK_XINIT_SESSION $SSH_AGENT $XCLIENTS_D/Xclients.$1.sh\""
+       #fi
+ 
+       # switchdesk support is also totally deprecated in RHEL, but we leave it here
+       # as a reminder, as well, in case we need it in the future for special setups...
+       #if [ -x "$SWITCHDESKPATH/Xclients.${XSESSION_EXEC}" ]; then
+-      #       exec -l "$SHELL" -c "$SWITCHDESKPATH/Xclients.${XSESSION_EXEC}";
++      #       exec /bin/bash -c "exec -l \"$SHELL\" -c \"$SWITCHDESKPATH/Xclients.${XSESSION_EXEC}\""
+       #fi
+ 
+-      exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$STARTUP\""
++      exec $CK_XINIT_SESSION $SSH_AGENT /bin/bash -c "exec -l \"$SHELL\" -c \"$STARTUP\""
+ fi
+ 
+ exit 0
diff --git a/net-misc/x2goserver/x2goserver-4.0.1.19-r2.ebuild b/net-misc/x2goserver/x2goserver-4.0.1.19-r2.ebuild
new file mode 100644 (file)
index 0000000..83207b6
--- /dev/null
@@ -0,0 +1,89 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit 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
+       dev-perl/File-Which
+       media-fonts/font-cursor-misc
+       media-fonts/font-misc-misc[nls]
+       >=net-misc/nx-3.5.0.25
+       net-misc/openssh
+       >=sys-apps/iproute2-4.3.0
+       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() {
+       # 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"
+
+       eapply "${FILESDIR}"/${P}-use_bash_in_Xsession.patch
+       eapply_user
+}
+
+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"
+}