diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2012-04-30 10:55:42 +0200 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2012-04-30 10:55:42 +0200 |
commit | d9a9508e07a00015e2a2f278719a9665ff565961 (patch) | |
tree | 97ddb1c2607a58c2a632da571b281641dfdf9df2 /extra/freenx | |
parent | 0a2ba65e7cf7d8d0452654b2f25cbb84a89fe7cf (diff) | |
parent | b7cd4b184f75d3d2b54b356e08f296df3a9afb38 (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/buoh/PKGBUILD
core/openssl/PKGBUILD
extra/llvm/PKGBUILD
extra/pulseaudio/PKGBUILD
extra/pygobject/PKGBUILD
extra/pygobject2/PKGBUILD
multilib/lib32-util-linux/PKGBUILD
testing/consolekit/PKGBUILD
testing/gnome-keyring/PKGBUILD
testing/lirc/PKGBUILD
testing/samba/PKGBUILD
testing/systemd/PKGBUILD
Diffstat (limited to 'extra/freenx')
-rw-r--r-- | extra/freenx/PKGBUILD | 85 | ||||
-rw-r--r-- | extra/freenx/freenx-server-0.7.3-nxipp.patch | 17 | ||||
-rw-r--r-- | extra/freenx/freenx.install | 70 |
3 files changed, 120 insertions, 52 deletions
diff --git a/extra/freenx/PKGBUILD b/extra/freenx/PKGBUILD index c55c55f31..8e1476ada 100644 --- a/extra/freenx/PKGBUILD +++ b/extra/freenx/PKGBUILD @@ -1,25 +1,39 @@ -# $Id: PKGBUILD 140055 2011-10-06 06:24:35Z tpowa $ +# $Id: PKGBUILD 157437 2012-04-28 09:58:42Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> #Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org> + pkgname=freenx pkgver=0.7.3 -pkgrel=10 +pkgrel=11 pkgdesc="Free Software (GPL) Implementation of the NX Server" arch=(i686 x86_64 'mips64el') url="http://freenx.berlios.de" license=('GPL') -depends=('nxserver' 'gnu-netcat' 'inetutils' 'openssh' 'expect' 'xorg-xauth' 'xorg-fonts-misc' 'coreutils' 'xorg-xmessage' 'xorg-xrdb' 'xorg-xpr' 'xorg-xset' 'xorg-sessreg') -backup=(opt/NX/etc/node.conf) +depends=('nx-common' 'nx-x11' 'nxagent' 'nxproxy' 'gnu-netcat' 'inetutils' 'openssh' 'expect' 'python' + 'xorg-xauth' 'xorg-fonts-misc' 'coreutils' 'xorg-xmessage' 'xorg-xrdb' 'xorg-xpr' 'xorg-xset' 'xorg-sessreg') +optdepends=('cups: adds printing support') +makedepends=('imake') +options=('!makeflags') +conflicts=('nxserver') +provides=('nxserver') +backup=(etc/nxserver/node.conf) install=freenx.install source=(http://download.berlios.de/freenx/$pkgname-server-$pkgver.tar.gz keymap.patch nxagent-startup.patch freenx-latest-svn.patch - remove-dialog.patch) + remove-dialog.patch + freenx-server-0.7.3-nxipp.patch) +md5sums=('856f597e139018f7ed62713c9d6c9ed5' + 'f0867659c925f6363fb2b7661f349248' + '30dc16d8e2093ff71d5834a169ad9d00' + '788f30322783cf2c2dc833e2e4d5e8ad' + 'cae1773312506eeefe6a8de07c492bd8' + 'b3244c52a6bafc6d9b528eb4d4426e36') build() { # patch and install nxserver - cd $startdir/src/$pkgname-server-$pkgver + cd $srcdir/$pkgname-server-$pkgver # add latest svn fixes patch -Np3 -i ../freenx-latest-svn.patch # patch from inside nx @@ -28,49 +42,54 @@ build() { patch -Np0 -i ${srcdir}/keymap.patch # patch nxagent startup to avoid login issues patch -Np0 -i ${srcdir}/nxagent-startup.patch + # check for cups existance and then symlinks the backend + patch -Np1 -i ${srcdir}/freenx-server-0.7.3-nxipp.patch # remove broken dialog function patch -Np0 -i ${srcdir}/remove-dialog.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,\/usr\/NX,\/usr\/lib/nx,g' nxloadconfig node.conf.sample sed -i -e 's,netcat,nc,g' nxloadconfig sed -i -e 's/utmp/nx/g' nxsetup sed -i -e 's,/usr/X11R6/bin/xauth,/usr/bin/xauth,g' nxloadconfig sed -i -e 's,COMMAND_FOOMATIC="/usr/lib/cups/driver/foomatic-ppdfile",COMMAND_FOOMATIC="/usr/bin/foomatic-ppdfile",g' nxloadconfig - sed -i -e 's,COMMAND_MD5SUM="openssl md5",COMMAND_MD5SUM="md5sum",g' nxloadconfig + sed -i -e 's,COMMAND_MD5SUM="openssl md5",COMMAND_MD5SUM="md5sum",g' nxloadconfig node.conf.sample sed -i -e 's|AGENT_EXTRA_OPTIONS_X=""|AGENT_EXTRA_OPTIONS_X="-co /usr/share/X11/rgb -fp /usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 -xkbdir /usr/share/X11/xkb"|g' nxloadconfig sed -i -e 's/ENABLE_AUTORECONNECT_BEFORE_140="1"/ENABLE_AUTORECONNECT_BEFORE_140="0"/g' nxloadconfig sed -i -e 's,/etc/init.d/ssh,/etc/rc.d/sshd,g' nxsetup sed -i -e 's,libXcomp.so,libXcomp.so.3,g' nxloadconfig sed -i -e 's,libXcompext.so,libXcompext.so.3,g' nxloadconfig 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 + sed -i -e 's:NX_ETC_DIR\=$NX_DIR\/etc:NX_ETC_DIR=\/etc\/nxserver:g' nxloadconfig + sed -i -e 's:NX_SESS_DIR=$NX_DIR\/var\/db:NX_SESS_DIR=\/var\/lib\/nxserver\/db:g' nxloadconfig + sed -i -e 's:NX_HOME_DIR=$NX_DIR:NX_HOME_DIR=\/var\/lib\/nxserver:g' nxloadconfig + sed -i -e 's:NOMACHINE_NX_HOME_DIR="/usr/lib/nx/home/nx":NOMACHINE_NX_HOME_DIR="/var/lib/nxserver/home/nx":g' nxloadconfig node.conf.sample + sed -i -e 's:\/usr\/NX:\/usr\/lib\/nx:g' nxdialog + # fix key generation sed -i -e 's,AUTOMATIC="no",AUTOMATIC="yes",g' nxsetup + + make } 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 - install -D -m755 nxkeygen $startdir/pkg/opt/NX/bin/nxkeygen - install -D -m755 nxnode-login $startdir/pkg/opt/NX/bin/nxnode-login - install -D -m755 nxloadconfig $startdir/pkg/opt/NX/bin/nxloadconfig - install -D -m755 nxdialog $startdir/pkg/opt/NX/bin/nxdialog - install -D -m755 nxviewer_helper $startdir/pkg/opt/NX/bin/nxviever_helper - install -D -m755 nxcups-gethost $startdir/pkg/opt/NX/bin/nxcups-gethost - install -D -m755 nxdesktop_helper $startdir/pkg/opt/NX/bin/nxdesktop_helper - # provided by nxclient! - #install -D -m755 nxprint $startdir/pkg/opt/NX/bin/nxprint - install -D -m755 node.conf.sample $startdir/pkg/opt/NX/etc/node.conf - # install nxhelper - cd nxserver-helper - make - install -D -m755 nxserver-helper $startdir/pkg/opt/NX/bin/nxserver-helper - # create nxserver homedir - mkdir -m700 -p $startdir/pkg/opt/NX/home/nx + cd $srcdir/$pkgname-server-$pkgver + + make install DESTDIR="${pkgdir}" + + # create symlinks + install -dm755 ${pkgdir}/usr/bin + cd ${pkgdir}/usr/bin + for file in ${pkgdir}/usr/lib/nx/bin/*; do + ln -sv /usr/lib/nx/bin/`basename $file` . + done + + mv $pkgdir/etc/nxserver/node.conf.sample $pkgdir/etc/nxserver/node.conf + + # create some missing nxserver directories + mkdir -m700 -p $pkgdir/var/lib/nxserver/{home/nx,db} + mkdir -m700 -p $pkgdir/usr/lib/nx/share + + # remove files that are part of nxclient + rm -f ${pkgdir}/usr/lib/nx/bin/nxprint + rm -f ${pkgdir}/usr/bin/nxprint } -md5sums=('856f597e139018f7ed62713c9d6c9ed5' - 'f0867659c925f6363fb2b7661f349248' - '30dc16d8e2093ff71d5834a169ad9d00' - '788f30322783cf2c2dc833e2e4d5e8ad' - 'cae1773312506eeefe6a8de07c492bd8') diff --git a/extra/freenx/freenx-server-0.7.3-nxipp.patch b/extra/freenx/freenx-server-0.7.3-nxipp.patch new file mode 100644 index 000000000..81b286593 --- /dev/null +++ b/extra/freenx/freenx-server-0.7.3-nxipp.patch @@ -0,0 +1,17 @@ +diff -up freenx-server-0.7.3/nxsetup~ freenx-server-0.7.3/nxsetup +--- freenx-server-0.7.3/nxsetup~ 2011-12-30 23:04:53.515194711 +0200 ++++ freenx-server-0.7.3/nxsetup 2011-12-30 23:05:55.499954085 +0200 +@@ -366,11 +366,10 @@ EOF + + echo "done" + +- if [ -d "$CUPS_BACKEND" ] ++ if [ -d "$CUPS_BACKEND" ] && [ ! -f "$CUPS_IPP_BACKEND" ] + then + echo -n "Setting up cups nxipp backend ..." +- cp -af "$CUPS_BACKEND/ipp" "$CUPS_IPP_BACKEND" +- chmod 755 "$CUPS_IPP_BACKEND" ++ ln -sf "$CUPS_BACKEND/ipp" "$CUPS_IPP_BACKEND" + echo "done" + fi + } diff --git a/extra/freenx/freenx.install b/extra/freenx/freenx.install index 93a28656f..0f3260166 100644 --- a/extra/freenx/freenx.install +++ b/extra/freenx/freenx.install @@ -1,27 +1,59 @@ -# arg 1: the new package version post_install() { -# setting up freenx -echo 'Generating keys ...' -/opt/NX/bin/nxsetup --install --uid 85 --gid 85 2>&1 >/dev/null -/bin/cat <<THEEND -ATTENTION FREENX: -For correct setup please take a look at the wiki: -http://wiki.archlinux.org/index.php/FreeNX -THEEND + # Make sure the group and user "nx" exists on this system and have the correct values + if grep -q "^nx:" /etc/group &> /dev/null ; then + groupmod -g 85 -n nx nx &> /dev/null + else + groupadd -g 85 nx &> /dev/null + fi + + if grep -q "^nx:" /etc/passwd 2> /dev/null ; then + usermod -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx nx &> /dev/null + else + useradd -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx -r nx &> /dev/null + fi + + # setting up freenx + echo 'Generating keys ...' + /usr/lib/nx/bin/nxsetup --install 2>&1 >/dev/null + + echo "ATTENTION FREENX:" + echo "For correct setup please take a look at the wiki:" + echo "http://wiki.archlinux.org/index.php/FreeNX" } post_upgrade() { -# setting up freenx -echo 'Rerunning nxsetup ...' -/opt/NX/bin/nxsetup --install --uid 85 --gid 85 2>&1 >/dev/null -/bin/cat <<THEEND -ATTENTION FREENX: -For correct setup please take a look at the wiki: -http://wiki.archlinux.org/index.php/FreeNX -THEEND + # Make sure the group and user "nx" exists on this system and have the correct values + if grep -q "^nx:" /etc/group &> /dev/null ; then + groupmod -g 85 -n nx nx &> /dev/null + else + groupadd -g 85 nx &> /dev/null + fi + + if grep -q "^nx:" /etc/passwd 2> /dev/null ; then + usermod -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx nx &> /dev/null + else + useradd -s /usr/bin/nxserver -c "NX user" -d /var/lib/nxserver/home/nx -u 85 -g nx -r nx &> /dev/null + fi + + # setting up freenx + echo "Rerunning nxsetup ..." + /usr/lib/nx/bin/nxsetup --install 2>&1 >/dev/null + + if [ "`vercmp $2 0.7.3-10.1`" -lt 0 ]; then + # important upgrade notice + echo "*** config file location has been moved ***" + echo "Please apply your local settings from /opt/NX/etc/node.conf.pacsave" + echo "into /etc/nxserver/node.conf. A new key set is required." + echo "Please copy to your clients the new client key:" + echo "\"/var/lib/nxserver/home/nx/.ssh/client.id_dsa.key\"" + echo "When you have FreeNX server running clean up with \"rm -rf /opt/NX\"." + fi } + # arg 1: the old package version pre_remove() { - /opt/NX/bin/nxsetup --uninstall --purge 2>&1 >/dev/null - usr/sbin/groupdel nx &>/dev/null + /usr/lib/nx/bin/nxsetup --uninstall --purge 2>&1 >/dev/null +# usr/sbin/groupdel nx &>/dev/null + userdel nx &> /dev/null + groupdel nx &> /dev/null || /bin/true } |