Date: Wednesday, January 26, 2011 @ 17:32:46 Author: tpowa Revision: 107693
upgpkg: freenx 0.7.3-7 fix #22333 #22051 bump to latest svn status Added: freenx/trunk/freenx-latest-svn.patch Modified: freenx/trunk/PKGBUILD Deleted: freenx/trunk/kde-config.patch -------------------------+ PKGBUILD | 27 ++-- freenx-latest-svn.patch | 288 ++++++++++++++++++++++++++++++++++++++++++++++ kde-config.patch | 17 -- 3 files changed, 303 insertions(+), 29 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-01-26 22:32:35 UTC (rev 107692) +++ PKGBUILD 2011-01-26 22:32:46 UTC (rev 107693) @@ -3,32 +3,31 @@ #Contributed: eliott <[email protected]>, Andre Naumann <[email protected]> pkgname=freenx pkgver=0.7.3 -pkgrel=6 +pkgrel=7 pkgdesc="Free Software (GPL) Implementation of the NX Server" arch=(i686 x86_64) url="http://freenx.berlios.de" license=('GPL') -depends=('nxserver' 'gnu-netcat' 'openssh' 'expect' 'xorg-xauth' 'xorg-apps' 'xorg-fonts-misc' 'coreutils') +depends=('nxserver' 'gnu-netcat' 'openssh' 'expect' 'xorg-xauth' 'xorg-apps' 'xorg-fonts-misc' 'coreutils' 'xdialog') backup=(opt/NX/etc/node.conf) install=freenx.install source=(http://download.berlios.de/freenx/$pkgname-server-$pkgver.tar.gz - kde-config.patch keymap.patch - nxagent-startup.patch) + nxagent-startup.patch + freenx-latest-svn.patch) build() { # patch and install nxserver cd $startdir/src/$pkgname-server-$pkgver + # add latest svn fixes + patch -Np3 -i ../freenx-latest-svn.patch # patch from inside nx - patch < gentoo-nomachine.diff || return 1 + patch < gentoo-nomachine.diff # patch broken keymap remapping - patch -Np0 -i ${srcdir}/keymap.patch || return 1 + patch -Np0 -i ${srcdir}/keymap.patch # patch nxagent startup to avoid login issues - patch -Np0 -i ${srcdir}/nxagent-startup.patch || return 1 - # fixed for archlinux - ### Broken by kde4 at the moment! - #patch -Np0 -i ../kde-config.patch || return 1 + patch -Np0 -i ${srcdir}/nxagent-startup.patch sed -i -e 's,authorized_keys2,authorized_keys,g' nxloadconfig sed -i -e 's,/usr/NX,/opt/NX,g' nxloadconfig sed -i -e 's,netcat,nc,g' nxloadconfig @@ -44,6 +43,10 @@ sed -i -e 's,libXrender.so.1.2,libXrender.so.1.2.2:$APPLICATION_LIBRARY_PATH/libXcompsh.so.3:$APPLICATION_LIBRARY_PATH/libXcompshad.so.3,g' nxloadconfig # fix key generation sed -i -e 's,AUTOMATIC="no",AUTOMATIC="yes",g' nxsetup +} + +package() { + cd $startdir/src/$pkgname-server-$pkgver install -D -m755 nxnode $startdir/pkg/opt/NX/bin/nxnode install -D -m755 nxserver $startdir/pkg/opt/NX/bin/nxserver install -D -m755 nxsetup $startdir/pkg/opt/NX/bin/nxsetup @@ -65,6 +68,6 @@ mkdir -m700 -p $startdir/pkg/opt/NX/home/nx } md5sums=('856f597e139018f7ed62713c9d6c9ed5' - '70788a41f6c965ce117e9f5a8809df2a' 'f0867659c925f6363fb2b7661f349248' - '30dc16d8e2093ff71d5834a169ad9d00') + '30dc16d8e2093ff71d5834a169ad9d00' + '788f30322783cf2c2dc833e2e4d5e8ad') Added: freenx-latest-svn.patch =================================================================== --- freenx-latest-svn.patch (rev 0) +++ freenx-latest-svn.patch 2011-01-26 22:32:46 UTC (rev 107693) @@ -0,0 +1,288 @@ +diff -ur freenx-server-0.7.3//ChangeLog ../trunk/freenx-server//ChangeLog +--- freenx-server-0.7.3//ChangeLog 2008-08-22 02:44:43.000000000 +0200 ++++ ../trunk/freenx-server//ChangeLog 2011-01-26 23:23:36.850005855 +0100 +@@ -1,3 +1,20 @@ ++xx.11.2008 FreeNX 0.7.4 ++ * Opened the 0.7.4 development. ++ * Fixed missing export of NX_ETC_DIR in Makefile, ++ so node.conf.sample is installed correctly. ++ ([email protected]) ++ * Fixed broken round-robin load balance algorithm. ++ ([email protected]) ++ * Fixed --terminate|--suspend|--force-terminate for ++ load balancing case. ++ ([email protected]) ++ * Fixed --terminate|--suspend|--force-terminate for ++ usermode case. ++ ([email protected]) ++ * Fixed non-encrypted session mode. You might need to ++ set EXTERNAL_PROXY_IP in node.conf. ++ ([email protected]) ++ + 18.08.2008 FreeNX 0.7.3 "Priscilla One Year Edition" + * Opened the 0.7.3 development. + * Added logging of failed authentication attempts +diff -ur freenx-server-0.7.3//Makefile ../trunk/freenx-server//Makefile +--- freenx-server-0.7.3//Makefile 2008-08-18 04:16:25.000000000 +0200 ++++ ../trunk/freenx-server//Makefile 2011-01-26 23:23:36.856672521 +0100 +@@ -8,7 +8,7 @@ + all: + cd nxviewer-passwd && xmkmf && make Makefiles && make depend + source nxloadconfig &&\ +- export PATH_BIN PATH_LIB CUPS_BACKEND NX_VERSION &&\ ++ export PATH_BIN PATH_LIB CUPS_BACKEND NX_VERSION NX_ETC_DIR &&\ + for i in $(SUBDIRS) ; \ + do\ + echo "making" all "in $$i..."; \ +@@ -44,5 +44,5 @@ + + install: + source nxloadconfig &&\ +- export PATH_BIN PATH_LIB CUPS_BACKEND NX_VERSION &&\ ++ export PATH_BIN PATH_LIB CUPS_BACKEND NX_VERSION NX_ETC_DIR &&\ + $(MAKE) nxenv_install +diff -ur freenx-server-0.7.3//node.conf.sample ../trunk/freenx-server//node.conf.sample +--- freenx-server-0.7.3//node.conf.sample 2008-08-22 02:44:43.000000000 +0200 ++++ ../trunk/freenx-server//node.conf.sample 2011-01-26 23:23:36.850005855 +0100 +@@ -37,7 +37,7 @@ + # + # https://mail.kde.org/mailman/listinfo/freenx-knx + # +-# SVN: $Id: node.conf.sample 580 2008-08-22 00:44:43Z fabianx $ ++# SVN: $Id: node.conf.sample 613 2008-09-01 20:42:31Z fabianx $ + + ######################################################################### + # General FreeNX directives +@@ -47,6 +47,11 @@ + # different than the default hostname (as returned by `hostname`) + #SERVER_NAME="$(hostname)" + ++# The node ip which is used by NX Node in unecnrypted session mode. ++# Set it if you want to use a specific external ip or the autodetection ++# is not working. ++#EXTERNAL_PROXY_IP="" ++ + # The port number where local 'sshd' is listening. + #SSHD_PORT=22 + +diff -ur freenx-server-0.7.3//nxloadconfig ../trunk/freenx-server//nxloadconfig +--- freenx-server-0.7.3//nxloadconfig 2008-08-22 02:44:43.000000000 +0200 ++++ ../trunk/freenx-server//nxloadconfig 2011-01-26 23:23:36.856672521 +0100 +@@ -5,7 +5,7 @@ + # + # License: GPL, version 2 + # +-# SVN: $Id: nxloadconfig 580 2008-08-22 00:44:43Z fabianx $ ++# SVN: $Id: nxloadconfig 613 2008-09-01 20:42:31Z fabianx $ + # + # ======================================================================== + +@@ -52,7 +52,7 @@ + # DO NOT TOUCH unless you REALLY know what you are doing + ######################################################################### + +-NX_VERSION=3.2.0-73 ++NX_VERSION=3.2.0-74-SVN + NX_LICENSE="OS (GPL, using backend: %BACKEND%)" + + # Where can different nx components be found +@@ -85,6 +85,7 @@ + # General FreeNX directives + + SERVER_NAME="$(hostname)" ++EXTERNAL_PROXY_IP="" + SSHD_PORT=22 + + # Authentication / Security directives +diff -ur freenx-server-0.7.3//nxnode ../trunk/freenx-server//nxnode +--- freenx-server-0.7.3//nxnode 2008-08-22 02:44:43.000000000 +0200 ++++ ../trunk/freenx-server//nxnode 2011-01-26 23:23:36.853339188 +0100 +@@ -13,7 +13,7 @@ + # + # License: GNU GPL, version 2 + # +-# SVN: $Id: nxnode 580 2008-08-22 00:44:43Z fabianx $ ++# SVN: $Id: nxnode 613 2008-09-01 20:42:31Z fabianx $ + # + # 21.06.2004: - Full reconnection support + +@@ -1184,6 +1184,17 @@ + [ -z "$userip" -a "$host" = "127.0.0.1" ] && userip="127.0.0.1" + [ -z "$userip" ] && userip="*" + fi ++ ++ # We need our own external IP ++ proxyip="$EXTERNAL_PROXY_IP" ++ ++ if [ -z "$proxyip" -a -n "$host" ] ++ then ++ [ "$host" = "127.0.0.1" ] && host=$(hostname) ++ proxyip=$(ping -c1 "$host" | grep 'PING' | cut -d'(' -f2 | cut -d')' -f1) ++ fi ++ ++ [ -z "$proxyip" ] && proxyip="127.0.0.1" + + # ok, lets make the session dir first: + +@@ -1316,7 +1327,7 @@ + NX> 705 Session display: $display + NX> 703 Session type: $type + NX> 701 Proxy cookie: $proxy_cookie +-NX> 702 Proxy IP: $userip ++NX> 702 Proxy IP: $proxyip + NX> 706 Agent cookie: $cookie + NX> 704 Session cache: $type + NX> 707 SSL tunneling: $ssl_tunnel +diff -ur freenx-server-0.7.3//nxserver ../trunk/freenx-server//nxserver +--- freenx-server-0.7.3//nxserver 2008-08-22 02:44:43.000000000 +0200 ++++ ../trunk/freenx-server//nxserver 2011-01-26 23:23:36.856672521 +0100 +@@ -11,7 +11,7 @@ + # + # License: GNU GPL, version 2 + # +-# SVN: $Id: nxserver 580 2008-08-22 00:44:43Z fabianx $ ++# SVN: $Id: nxserver 612 2008-08-25 03:28:15Z fabianx $ + # + + # Read the config file +@@ -1192,7 +1192,7 @@ + # Lock held + + SERVER_LB_NR=$(cat $NX_SESS_DIR/round-robin 2>/dev/null) +- let SERVER_LB_NR=(SERVER_LB_NR+1) % SERVER_LB_NR_OF_HOSTS ++ let SERVER_LB_NR=(SERVER_LB_NR+1)%SERVER_LB_NR_OF_HOSTS + echo $SERVER_LB_NR >$NX_SESS_DIR/round-robin + + # Exit critical section +@@ -1961,71 +1961,71 @@ + session_history "$user" "$sessid" + } + +-cmd_terminate() ++cmd_execute() + { +- CMD_PARAMS=$(cmd_parse_3_params "$2") +- [ -z "$CMD_PARAMS" ] && exit 1 +- for i in $CMD_PARAMS; ++ cmd_host="$1" ++ cmd_user="$2" ++ cmd_cmd="$3" ++ ++ if [ "$ENABLE_USERMODE_AUTHENTICATION" = "1" ] ++ then ++ sh -c "$cmd_cmd" ++ elif [ "$cmd_host" = "127.0.0.1" -o "$cmd_host" = "localhost" ] ++ then ++ su - "$cmd_user" -c "$cmd_cmd" ++ else ++ ssh "$cmd_host" su - "$cmd_user" -c "'$cmd_cmd'" ++ fi ++} ++ ++cmd_terminate_or_send() ++{ ++ CMD="$1" ++ ++ if [ "$CMD" = "--broadcast" ] ++ then ++ CMD_PARAMS=$(session_find_all) ++ [ -z "$CMD_PARAMS" ] && cmd_abort "Error: No running session could be found." ++ else ++ CMD_PARAMS=$(cmd_parse_3_params "$2") ++ [ -z "$CMD_PARAMS" ] && exit 1 ++ shift ++ fi ++ shift ++ ++ for i in $CMD_PARAMS + do + CMDLINE=$(session_get_cmdline $i) + cmd_sessionid=$(getparam sessionId) ++ cmd_display=$(getparam display) + cmd_user=$(getparam userName) + cmd_type=$(getparam type) + cmd_status=$(getparam status) ++ cmd_host=$(getparam host) + + # is it a "good" session? +- case "$1" in ++ case "$CMD" in + --suspend) + if [ "$cmd_status" = "Running" ] && stringinstring "unix-" "$cmd_type" + then +- echo "sessionid=$cmd_sessionid" | su - "$cmd_user" -c "$PATH_BIN/nxnode --suspend" ++ echo "sessionid=$cmd_sessionid" | cmd_execute "$cmd_host" "$cmd_user" "$PATH_BIN/nxnode --suspend" + fi + ;; + --terminate) +- echo "sessionid=$cmd_sessionid" | su - "$cmd_user" -c "$PATH_BIN/nxnode --terminate" ++ echo "sessionid=$cmd_sessionid" | cmd_execute "$cmd_host" "$cmd_user" "$PATH_BIN/nxnode --terminate" + ;; + --force-terminate) +- echo "sessionid=$cmd_sessionid" | su - "$cmd_user" -c "$PATH_BIN/nxnode --terminate" ++ echo "sessionid=$cmd_sessionid" | cmd_execute "$cmd_host" "$cmd_user" "$PATH_BIN/nxnode --terminate" + session_close $cmd_sessionid + ;; +- esac +- done +- +-} +- +-cmd_send() +-{ +- if [ "$1" = "--broadcast" ] +- then +- CMD_PARAMS=$(session_find_all) +- [ -z "$CMD_PARAMS" ] && cmd_abort "Error: No running session could be found." +- else +- CMD_PARAMS=$(cmd_parse_3_params "$2") +- [ -z "$CMD_PARAMS" ] && exit 1 +- shift +- fi +- shift +- for i in $CMD_PARAMS; +- do +- CMDLINE=$(session_get_cmdline $i) +- cmd_display=$(getparam display) +- cmd_user=$(getparam userName) +- cmd_type=$(getparam type) +- cmd_status=$(getparam status) +- cmd_host=$(getparam host) +- +- # is it a "good" session? +- if [ "$cmd_status" = "Running" ] && stringinstring "unix-" "$cmd_type" +- then +- if [ "$cmd_host" = "127.0.0.1" -o "$cmd_host" = "localhost" ] ++ --send|--broadcast) ++ # is it a "good" session? ++ if [ "$cmd_status" = "Running" ] && stringinstring "unix-" "$cmd_type" + then +- su - "$cmd_user" -c "$PATH_BIN/nxdialog --dialog ok --caption \"NX Administrator Message\" --message \"$@\" -display \":$cmd_display\" &" +- else +- ssh $cmd_host su - "$cmd_user" -c "'$PATH_BIN/nxdialog --dialog ok --caption \"NX Administrator Message\" --message \"$@\" -display \":$cmd_display\" &'" ++ cmd_execute "$cmd_host" "$cmd_user" "$PATH_BIN/nxdialog --dialog ok --caption \"NX Administrator Message\" --message \"$@\" -display \":$cmd_display\" &" + fi +- fi ++ esac + done +- #nxnode_start --send "$CMD_PARAMS" + } + + # +@@ -2099,13 +2099,13 @@ + cmd_history "$@" + ;; + --terminate|--suspend|--force-terminate) +- cmd_terminate "$@" ++ cmd_terminate_or_send "$@" + ;; + --cleanup) +- cmd_terminate "--force-terminate" "*" ++ cmd_terminate_or_send "--force-terminate" "*" + ;; + --send|--broadcast) +- cmd_send "$@" ++ cmd_terminate_or_send "$@" + ;; + *) + cmd_abort "Error: Function $CMD not implemented yet." Deleted: kde-config.patch =================================================================== --- kde-config.patch 2011-01-26 22:32:35 UTC (rev 107692) +++ kde-config.patch 2011-01-26 22:32:46 UTC (rev 107693) @@ -1,17 +0,0 @@ ---- nxloadconfig~ 2007-10-19 18:32:40.000000000 +0200 -+++ nxloadconfig 2007-10-19 18:33:39.000000000 +0200 -@@ -306,9 +306,11 @@ - - if [ "$ENABLE_KDE_CUPS" = "1" ] - then -- [ -z "$KDE_PRINTRC" -a -n "$KDEHOME" ] && KDE_PRINTRC="$KDEHOME/share/config/kdeprintrc" -- [ -z "$KDE_PRINTRC" ] && which kde-config >/dev/null 2>&1 && KDE_PRINTRC=$(kde-config --localprefix 2>/dev/null)"/share/config/kdeprintrc" -- [ -z "$KDE_PRINTRC" -o ! -r "$KDE_PRINTRC" ] && KDE_PRINTRC="$HOME/.kde/share/config/kdeprintrc" -+ if [ -f /opt/kde/bin/kde-config ]; then -+ [ -z "$KDE_PRINTRC" -a -n "$KDEHOME" ] && KDE_PRINTRC="$KDEHOME/share/config/kdeprintrc" -+ [ -z "$KDE_PRINTRC" ] && KDE_PRINTRC=$(/opt/kde/bin/kde-config --localprefix)"/share/config/kdeprintrc" -+ [ -z "$KDE_PRINTRC" -o ! -r "$KDE_PRINTRC" ] && KDE_PRINTRC="$HOME/.kde/share/config/kdeprintrc" -+ fi - fi - - #########################################################################
