summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2008-04-09 21:14:21 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2008-04-09 21:14:21 +0000
commit979b44e0083445df2f0bb00ac5bce400ca5d13da (patch)
tree54274b00cdfb3317be2935872550d6b7bc327521 /net-misc/nxserver-freenx
parentamd64/x86 stable, bug #216765 (diff)
downloadgentoo-2-979b44e0083445df2f0bb00ac5bce400ca5d13da.tar.gz
gentoo-2-979b44e0083445df2f0bb00ac5bce400ca5d13da.tar.bz2
gentoo-2-979b44e0083445df2f0bb00ac5bce400ca5d13da.zip
Fix start/stop return code, bug #216155
(Portage version: 2.1.5_rc2)
Diffstat (limited to 'net-misc/nxserver-freenx')
-rw-r--r--net-misc/nxserver-freenx/ChangeLog9
-rw-r--r--net-misc/nxserver-freenx/files/nxserver-freenx-0.7.2-exitstatus.patch33
-rw-r--r--net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild122
3 files changed, 163 insertions, 1 deletions
diff --git a/net-misc/nxserver-freenx/ChangeLog b/net-misc/nxserver-freenx/ChangeLog
index a5f66ce35981..4240c84d23b5 100644
--- a/net-misc/nxserver-freenx/ChangeLog
+++ b/net-misc/nxserver-freenx/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/nxserver-freenx
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.46 2008/04/07 14:45:18 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.47 2008/04/09 21:14:21 voyageur Exp $
+
+*nxserver-freenx-0.7.2-r2 (09 Apr 2008)
+
+ 09 Apr 2008; Bernard Cafarelli <voyageur@gentoo.org>
+ +files/nxserver-freenx-0.7.2-exitstatus.patch,
+ +nxserver-freenx-0.7.2-r2.ebuild:
+ Fix start/stop return code, bug #216155
07 Apr 2008; Bernard Cafarelli <voyageur@gentoo.org> files/nxserver.init:
Clean sessions when stopping server
diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.2-exitstatus.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.2-exitstatus.patch
new file mode 100644
index 000000000000..cbc768455692
--- /dev/null
+++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.2-exitstatus.patch
@@ -0,0 +1,33 @@
+--- nxserver.orig 2008-04-09 17:40:33.000000000 +0200
++++ nxserver 2008-04-09 17:43:10.000000000 +0200
+@@ -1594,6 +1594,13 @@
+ exit 1
+ }
+
++cmd_abort_success()
++{
++ echo "NX> 500" "$@" 1>&2
++ echo "NX> 999 Bye" 1>&2
++ exit 0
++}
++
+ cmd_user_passwd()
+ {
+ echo "NX> 100 NXSERVER - Version $NX_VERSION $NX_LICENSE"
+@@ -1653,14 +1660,14 @@
+ cmd_start()
+ {
+
+- [ -f $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS ] && cmd_abort "ERROR: Service already running"
++ [ -f $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS ] && cmd_abort_success "ERROR: Service already running"
+ mv $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS.disabled $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS
+ echo "NX> 122 Service started"
+ }
+
+ cmd_stop()
+ {
+- [ -f $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS ] || cmd_abort "Service was already stopped"
++ [ -f $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS ] || cmd_abort_success "Service was already stopped"
+ mv $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS.disabled
+ echo "NX> 123 Service stopped"
+ }
diff --git a/net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild b/net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild
new file mode 100644
index 000000000000..fd892c62365e
--- /dev/null
+++ b/net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild,v 1.1 2008/04/09 21:14:21 voyageur Exp $
+
+inherit multilib eutils
+
+MY_PN="freenx-server"
+DESCRIPTION="Free Software Implementation of the NX Server"
+HOMEPAGE="http://freenx.berlios.de/"
+SRC_URI="http://download.berlios.de/freenx/${MY_PN}-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="strip"
+IUSE="arts cups esd nxclient"
+DEPEND="virtual/ssh
+ dev-tcltk/expect
+ sys-apps/gawk
+ net-analyzer/gnu-netcat
+ nxclient? ( net-misc/nxclient )
+ !nxclient? ( !net-misc/nxclient
+ || ( x11-misc/xdialog
+ x11-apps/xmessage ) )
+ >=net-misc/nx-2.1.0
+ arts? ( kde-base/arts )
+ cups? ( net-print/cups )
+ esd? ( media-sound/esound )
+ !net-misc/nxserver-freeedition
+ !net-misc/nxserver-2xterminalserver"
+
+RDEPEND="${DEPEND}
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ x11-apps/xauth
+ x11-apps/xrdb
+ x11-apps/sessreg"
+
+S=${WORKDIR}/${MY_PN}-${PV}
+
+export NX_HOME_DIR=/var/lib/nxserver/home
+
+pkg_setup () {
+ enewuser nx -1 -1 ${NX_HOME_DIR}
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-nxloadconfig.patch
+ epatch "${FILESDIR}"/${P}-cups.patch
+ epatch "${FILESDIR}"/${P}-nolistentcp.patch
+ epatch "${FILESDIR}"/${P}-exitstatus.patch
+
+ sed -i "/PATH_LIB=/s/lib/$(get_libdir)/g" nxloadconfig || die
+ sed -i "/REAL_PATH_BIN=/s/lib/$(get_libdir)/g" nxloadconfig || die
+
+ # Change the defaults in nxloadconfig to meet the users needs.
+ if use arts ; then
+ einfo "Enabling arts support."
+ sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die
+ sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' node.conf.sample || die
+ fi
+ if use esd ; then
+ einfo "Enabling esd support."
+ sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die
+ sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' node.conf.sample || die
+ fi
+ if use cups ; then
+ einfo "Enabling cups support."
+ sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' nxloadconfig || die
+ sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' node.conf.sample || die
+ fi
+}
+
+src_install() {
+ NX_ETC_DIR=/etc/nxserver
+ NX_SESS_DIR=/var/lib/nxserver/db
+
+ emake DESTDIR="${D}" install || die "install failed"
+
+ # This should be renamed to remove the blocker on net-misc/nxclient
+ use nxclient && rm "${D}"/usr/bin/nxprint
+
+ mv "${D}"/etc/nxserver/node.conf.sample "${D}"/etc/nxserver/node.conf ||
+ die "cannot find default configuration file"
+
+ dodir ${NX_ETC_DIR}
+ for x in passwords passwords.orig ; do
+ touch "${D}"${NX_ETC_DIR}/$x
+ chmod 600 "${D}"${NX_ETC_DIR}/$x
+ done
+
+ dodir ${NX_HOME_DIR}
+
+ for x in closed running failed ; do
+ keepdir ${NX_SESS_DIR}/$x
+ fperms 0700 ${NX_SESS_DIR}/$x
+ done
+
+ newinitd "${FILESDIR}"/nxserver.init nxserver
+}
+
+pkg_postinst () {
+ # Other NX servers ebuilds may have already created the nx account
+ # However they use different login shell/home directory paths
+ if [[ ${ROOT} == "/" ]]; then
+ usermod -s /usr/bin/nxserver nx || die "Unable to set login shell of nx user!!"
+ usermod -d ${NX_HOME_DIR} nx || die "Unable to set home directory of nx user!!"
+ usermod -G utmp nx || die "Unable to add nx user to utmp group!!"
+ else
+ elog "If you had another NX server installed before, please make sure"
+ elog "the nx user account is correctly set to:"
+ elog " * login shell: /usr/bin/nxserver"
+ elog " * home directory: ${NX_HOME_DIR}"
+ elog " * supplementary groups: utmp"
+ fi
+
+ elog "To complete the installation, run:"
+ elog " nxsetup --install --setup-nomachine-key --clean --purge"
+ elog "This will use the default Nomachine SSH key"
+}