diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2008-04-09 21:14:21 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2008-04-09 21:14:21 +0000 |
commit | 979b44e0083445df2f0bb00ac5bce400ca5d13da (patch) | |
tree | 54274b00cdfb3317be2935872550d6b7bc327521 /net-misc/nxserver-freenx | |
parent | amd64/x86 stable, bug #216765 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/nxserver-freenx/files/nxserver-freenx-0.7.2-exitstatus.patch | 33 | ||||
-rw-r--r-- | net-misc/nxserver-freenx/nxserver-freenx-0.7.2-r2.ebuild | 122 |
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" +} |