diff options
Diffstat (limited to 'net-misc/nxserver-freenx')
8 files changed, 316 insertions, 9 deletions
diff --git a/net-misc/nxserver-freenx/ChangeLog b/net-misc/nxserver-freenx/ChangeLog index 7efb9e42b53a..22eed954d8d2 100644 --- a/net-misc/nxserver-freenx/ChangeLog +++ b/net-misc/nxserver-freenx/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-misc/nxserver-freenx # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.33 2007/09/20 23:16:10 voyageur Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.34 2007/10/31 19:49:54 voyageur Exp $ + +*nxserver-freenx-0.7.1 (31 Oct 2007) + + 31 Oct 2007; Bernard Cafarelli <voyageur@gentoo.org> + +files/nxserver-freenx-0.7.1-cups.patch, + +files/nxserver-freenx-0.7.1-nscd.patch, + +files/nxserver-freenx-0.7.1-nxdialog.patch, + +files/nxserver-freenx-0.7.1-nxloadconfig.patch, + +nxserver-freenx-0.7.1.ebuild: + Version bump, closes bug #197505 20 Sep 2007; Bernard Cafarelli <voyageur@gentoo.org> -files/nxserver-freenx-0.6.0-rdesktop.patch, diff --git a/net-misc/nxserver-freenx/files/digest-nxserver-freenx-0.7.1 b/net-misc/nxserver-freenx/files/digest-nxserver-freenx-0.7.1 new file mode 100644 index 000000000000..aad19a87b1b6 --- /dev/null +++ b/net-misc/nxserver-freenx/files/digest-nxserver-freenx-0.7.1 @@ -0,0 +1,3 @@ +MD5 80e7a57f787daabd0f80dfe8f58e67d3 freenx-0.7.1.tar.gz 63637 +RMD160 853380a482243ccf7c5a4a2f51739248b6a382db freenx-0.7.1.tar.gz 63637 +SHA256 7e846a288506353a78c2535d2b66b93ffe2f70c9c2868365f83c29ab71150cb6 freenx-0.7.1.tar.gz 63637 diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-cups.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-cups.patch new file mode 100644 index 000000000000..40a1aeb90003 --- /dev/null +++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-cups.patch @@ -0,0 +1,33 @@ +diff -Naur freenx-0.7.1.orig/node.conf freenx-0.7.1/node.conf +--- freenx-0.7.1.orig/node.conf 2007-10-31 13:47:45.000000000 +0100 ++++ freenx-0.7.1/node.conf 2007-10-31 13:48:35.000000000 +0100 +@@ -319,12 +319,12 @@ + # of available ppd drivers via the $COMMAND_FOOMATIC command. + + #ENABLE_FOOMATIC="1" +-#COMMAND_FOOMATIC="/usr/lib/cups/driver/foomatic-ppdfile" ++#COMMAND_FOOMATIC="/usr/bin/foomatic-ppdfile" + + # CUPS_BACKEND and CUPS_ETC are the corresponding paths of your CUPS + # installation. + +-#CUPS_BACKEND="/usr/lib/cups/backend" ++#CUPS_BACKEND="/usr/libexec/cups/backend" + #CUPS_IPP_BACKEND="$CUPS_BACKEND/nxipp" + #CUPS_DEFAULT_SOCK="/var/run/cups/cups.sock" + #CUPS_ETC="/etc/cups" +diff -Naur freenx-0.7.1.orig/nxloadconfig freenx-0.7.1/nxloadconfig +--- freenx-0.7.1.orig/nxloadconfig 2007-10-31 13:47:45.000000000 +0100 ++++ freenx-0.7.1/nxloadconfig 2007-10-31 13:48:43.000000000 +0100 +@@ -155,9 +155,9 @@ + ENABLE_CUPS_SEAMLESS="0" + CUPS_SEAMLESS_DELAY="10" + ENABLE_FOOMATIC="1" +-COMMAND_FOOMATIC="/usr/lib/cups/driver/foomatic-ppdfile" ++COMMAND_FOOMATIC="/usr/bin/foomatic-ppdfile" + +-CUPS_BACKEND="/usr/lib/cups/backend" ++CUPS_BACKEND="/usr/libexec/cups/backend" + CUPS_IPP_BACKEND="$CUPS_BACKEND/nxipp" + CUPS_DEFAULT_SOCK="/var/run/cups/cups.sock" + CUPS_ETC="/etc/cups/" diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nscd.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nscd.patch new file mode 100644 index 000000000000..97fb2db073ae --- /dev/null +++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nscd.patch @@ -0,0 +1,63 @@ +--- nxsetup~ 2007-10-15 00:25:14.000000000 +0200 ++++ nxsetup 2007-10-19 18:36:45.000000000 +0200 +@@ -164,11 +164,15 @@ + + # adduser needs a valid group to add the user to + ! nx_group_exists && addgroup --system --quiet $GROUPADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ fi + + adduser $USERADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } +- ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } ++ fi ++ + # no, its a "normal" useradd + else + USERADD_OPTIONS="-g nx -d $NX_HOME_DIR -s $PATH_BIN/nxserver" +@@ -187,17 +191,25 @@ + + if [ "$SETUP_LOCAL_USER" = "yes" ] + then +- ! nx_group_exists && lgroupadd $GROUPADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ ! nx_group_exists && lgroupadd $GROUPADD_OPTIONS nx ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ fi + + luseradd $USERADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } ++ fi + else + ! nx_group_exists && groupadd $GROUPADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate group; } ++ fi + + useradd $USERADD_OPTIONS nx +- [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; } ++ fi + fi + + +@@ -457,7 +469,9 @@ + #Perform cleanup? + [ "$CLEAN" = "yes" ] && uninstall_nx + +- [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; nscd --invalidate group; } ++ if [ -f /var/run/nscd/nscd.pid ]; then ++ [ -f /etc/nscd.conf ] && { nscd --invalidate passwd; nscd --invalidate group; } ++ fi + install_nx + + [ "$AUTOMATIC" = "no" ] && test_nx diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxdialog.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxdialog.patch new file mode 100644 index 000000000000..a3445aed7341 --- /dev/null +++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxdialog.patch @@ -0,0 +1,27 @@ +Index: nxdialog +=================================================================== +--- nxdialog (révision 405) ++++ nxdialog (révision 413) +@@ -26,6 +26,7 @@ + done + } + ++PARAMS=( "$@" ) + INPUTS=$(requote "$@") #JJK: Save input parameter line... + + TEMP=`getopt -a -o d: --long local,noautokill,dialog:,caption:,message:,display:,printer:,parent: -n $(basename $0) -- "$@"` +@@ -71,10 +72,13 @@ + # client does not like large databases like used when ENABLE_FOOMATIC=1. + # + # This seems to be because the used sorting algorithm scales in O(n^2). ++# ++# This is now fixed in NXClient 3.0.0, but still people sometimes use ++# older clients. + + NXCLIENT="/usr/NX/bin/nxclient" + [ -x "$NXCLIENT" -a "$DIALOG_TYPE" != "printer" -a "$(file -bi $NXCLIENT)" != 'application/x-shellscript' ] \ +- && exec ${NXCLIENT} "$@" ++ && exec ${NXCLIENT} "${PARAMS[@]}" + + # FIXME: This should be COMMAND_XDIALOG, ... + if [ -x /usr/bin/Xdialog ] diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxloadconfig.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxloadconfig.patch new file mode 100644 index 000000000000..74d7524ff19f --- /dev/null +++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.1-nxloadconfig.patch @@ -0,0 +1,48 @@ +--- freenx-0.7.1.orig/nxloadconfig 2007-10-31 13:17:10.000000000 +0100 ++++ freenx-0.7.1/nxloadconfig 2007-10-31 13:20:33.000000000 +0100 +@@ -58,7 +58,8 @@ + # Where can different nx components be found + NX_DIR=/usr + PATH_BIN=$NX_DIR/bin # if you change that, be sure to also change the public keys +-PATH_LIB=$NX_DIR/lib ++REAL_PATH_BIN=$NX_DIR/lib/NX/bin ++PATH_LIB=$NX_DIR/lib/NX/lib + NX_ETC_DIR=/etc/nxserver + NX_SESS_DIR=/var/lib/nxserver/db + NX_HOME_DIR=/var/lib/nxserver/home +@@ -171,7 +172,7 @@ + DEFAULT_X_WM="" + KILL_DEFAULT_X_WM="1" + USER_X_STARTUP_SCRIPT=.Xclients +-DEFAULT_X_SESSION=/etc/X11/xdm/Xsession ++DEFAULT_X_SESSION=/etc/X11/Sessions/Xsession + COMMAND_START_KDE=startkde + COMMAND_START_GNOME=gnome-session + COMMAND_START_CDE=cdwm +@@ -297,7 +298,7 @@ + [ -z "$AGENT_LIBRARY_PATH" ] && AGENT_LIBRARY_PATH=$PATH_LIB + [ -z "$PROXY_LIBRARY_PATH" ] && PROXY_LIBRARY_PATH=$PATH_LIB + [ -z "$APPLICATION_LIBRARY_PATH" ] && APPLICATION_LIBRARY_PATH=$PATH_LIB +-[ -z "$APPLICATION_LIBRARY_PRELOAD" ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH/libXcomp.so:$APPLICATION_LIBRARY_PATH/libXcompext.so:$APPLICATION_LIBRARY_PATH/libXrender.so.1.2" ++[ -z "$APPLICATION_LIBRARY_PRELOAD" ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so:$APPLICATION_LIBRARY_PATH/libXext.so:$APPLICATION_LIBRARY_PATH/libXcomp.so:$APPLICATION_LIBRARY_PATH/libXcompext.so:$APPLICATION_LIBRARY_PATH/libXrender.so" + if [ -z "$ENABLE_2_0_0_BACKEND" ] + then + ENABLE_2_0_0_BACKEND="1" +@@ -326,7 +327,7 @@ + ERROR="yes" && echo "Error: Invalid value \"PATH_BIN=$PATH_BIN\"" + # Check for NX agents ... + +- [ ! -x "$PATH_BIN/nxagent" ] && \ ++ [ ! -x "$REAL_PATH_BIN/nxagent" ] && \ + ERROR="yes" && echo "Error: Could not find nxagent in $PATH_BIN. Please install some OSS components." + + if [ "ENABLE_EXTERNAL_NXDESKTOP" = "1" ] +@@ -578,7 +579,7 @@ + [ -z $(echo "$ENABLE_ROOTLESS_MODE" | egrep "^[0|1]$") ] && \ + ERROR="yes" && echo "Error: Invalid value \"ENABLE_ROOTLESS_MODE=$ENABLE_ROOTLESS_MODE\"" + +- [ -z "$(strings $PATH_BIN/nxagent | egrep 'NXAGENT - Version 1.5.0|NXAGENT - Version 2.[01].0|NXAGENT - Version 3.0.0')" ] && \ ++ [ -z "$(strings $REAL_PATH_BIN/nxagent | egrep 'NXAGENT - Version 1.5.0|NXAGENT - Version 2.[01].0|NXAGENT - Version 3.0.0')" ] && \ + ERROR="yes" && echo "Error: Could not find 1.5.0 or 2.[01].0 or 3.0.0 version string in nxagent. NX 1.5.0 or 2.[01].0 or 3.0.0 backend is needed for this version of FreeNX." + + [ -z $(echo "$ENABLE_USESSION" | egrep "^[0|1]$") ] && \ diff --git a/net-misc/nxserver-freenx/nxserver-freenx-0.7.0-r1.ebuild b/net-misc/nxserver-freenx/nxserver-freenx-0.7.0-r1.ebuild index 8a9d64e5af4c..7a47b1d438df 100644 --- a/net-misc/nxserver-freenx/nxserver-freenx-0.7.0-r1.ebuild +++ b/net-misc/nxserver-freenx/nxserver-freenx-0.7.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 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.0-r1.ebuild,v 1.2 2007/09/20 12:48:26 opfer Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/nxserver-freenx-0.7.0-r1.ebuild,v 1.3 2007/10/31 19:49:54 voyageur Exp $ inherit multilib eutils @@ -44,14 +44,14 @@ pkg_setup () { src_unpack() { unpack ${A} - cd ${S} + cd "${S}" mv node.conf.sample node.conf || die - epatch ${FILESDIR}/${PN}-0.6.0-nxloadconfig.patch - epatch ${FILESDIR}/${P}-kdecups.patch - epatch ${FILESDIR}/${P}-xfsfonts.patch - epatch ${FILESDIR}/${P}-nx3support.patch + epatch "${FILESDIR}"/${PN}-0.6.0-nxloadconfig.patch + epatch "${FILESDIR}"/${P}-kdecups.patch + epatch "${FILESDIR}"/${P}-xfsfonts.patch + epatch "${FILESDIR}"/${P}-nx3support.patch # Fix DISPLAY for XCB-enabled systems sed -i "s/unix:/:/g" nxnode || die @@ -97,8 +97,8 @@ src_install() { dodir ${NX_ETC_DIR} for x in passwords passwords.orig ; do - touch ${D}${NX_ETC_DIR}/$x - chmod 600 ${D}${NX_ETC_DIR}/$x + touch "${D}"${NX_ETC_DIR}/$x + chmod 600 "${D}"${NX_ETC_DIR}/$x done insinto ${NX_ETC_DIR} diff --git a/net-misc/nxserver-freenx/nxserver-freenx-0.7.1.ebuild b/net-misc/nxserver-freenx/nxserver-freenx-0.7.1.ebuild new file mode 100644 index 000000000000..bf426b74c905 --- /dev/null +++ b/net-misc/nxserver-freenx/nxserver-freenx-0.7.1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2007 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.1.ebuild,v 1.1 2007/10/31 19:49:54 voyageur Exp $ + +inherit multilib eutils + +MY_PN="freenx" +DESCRIPTION="An X11/RDP/VNC proxy server especially well suited to low bandwidth links such as wireless, WANS, and worse" +HOMEPAGE="http://freenx.berlios.de/" +SRC_URI="http://download.berlios.de/${MY_PN}/${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" + +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}" + + mv node.conf.sample node.conf || die + + epatch "${FILESDIR}"/${P}-nxloadconfig.patch + epatch "${FILESDIR}"/${P}-cups.patch + epatch "${FILESDIR}"/${P}-nxdialog.patch + epatch "${FILESDIR}"/${P}-nscd.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 || 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 || 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 || die + fi +} + +src_compile() { + einfo "Nothing to compile" +} + +src_install() { + NX_ETC_DIR=/etc/nxserver + NX_SESS_DIR=/var/lib/nxserver/db + + dobin nxserver + dobin nxnode + dobin nxnode-login + dobin nxkeygen + dobin nxloadconfig + dobin nxsetup + dobin nxcups-gethost + dobin nxdialog + dobin nxdesktop_helper + dobin nxviewer_helper + + # This should be renamed to remove the blocker on net-misc/nxclient + use nxclient || dobin nxprint + + 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 + + insinto ${NX_ETC_DIR} + doins node.conf + + dodir ${NX_HOME_DIR} + + for x in closed running failed ; do + keepdir ${NX_SESS_DIR}/$x + fperms 0700 ${NX_SESS_DIR}/$x + done +} + +pkg_postinst () { + 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!!" + + elog "To complete the installation, run:" + elog " nxsetup --install --setup-nomachine-key --clean --purge" + elog "This will use the default Nomachine SSH key" +} |