slackbuilds_ponce/network/freenx/freenx.SlackBuild

138 lines
4.3 KiB
Text
Raw Normal View History

#!/bin/sh
# $Id: freenx.SlackBuild,v 1.10 2009/01/27 20:22:26 root Exp root $
# Copyright (c) 2008, 2009 Eric Hameleers, Eindhoven, The Netherlands
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# 24/sep/2010 by ponce <matteo.bernardini@gmail.com>
# * ported to SBo.
# 22/feb/2011 by ponce <matteo.bernardini@gmail.com>
# * setup server with nomachine key by default.
PRGNAM=freenx
VERSION=${VERSION:-0.7.3}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
CWD=$(pwd)
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
DOCS="AUTHORS COPYING ChangeLog CONTRIB nxcheckload.sample nxacl.sample \
$CWD/config/nomachine.id_dsa.key"
bailout() {
printf "\n\tYou must have an \"nx\" user and group to run this script.\n"
printf "\tSee $(pwd)/preinstall.sh for details (or just execute it).\n\n"
exit 1
}
if ! getent group nx 1>/dev/null ; then
bailout
elif ! getent passwd nx 1>/dev/null ; then
bailout
fi
set -e
export CXXFLAGS="$SLKCFLAGS"
export CFLAGS="$SLKCFLAGS"
mkdir -p $TMP/tmp-$PRGNAM $PKG $OUTPUT
rm -rf $TMP/tmp-$PRGNAM/* $PKG/*
cd $TMP/tmp-$PRGNAM
tar xvf $CWD/${PRGNAM}-server-${VERSION}.tar.gz
cd ${PRGNAM}-server-${VERSION}
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
patch -p1 < $CWD/patches/authkeys.patch
patch -p1 < $CWD/patches/netcat.patch
patch -p1 < $CWD/patches/nxserver_multimedia.diff
patch -p1 < $CWD/patches/nxpaths.diff
sed -i -e "s#/usr/lib\$#/usr/lib${LIBDIRSUFFIX}#" \
-e "s#/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#g" \
$(grep -lr '/usr/lib' *)
mkdir -p ${PKG}/usr/lib${LIBDIRSUFFIX}/cups/backend
mkdir -p ${PKG}/var/lib/nxserver/db/{closed,running,failed}
mkdir -p ${PKG}/etc/{logrotate.d,nxserver,rc.d}
mkdir -p ${PKG}/usr/bin
make -C nxserver-helper
cd nxviewer-passwd ; xmkmf ; make World ; cd ..
make -C nxredir install DESTDIR=$PKG
chmod 0755 ${PKG}/var/lib/nxserver
chmod 0700 ${PKG}/var/lib/nxserver/*
chmod 0700 ${PKG}/var/lib/nxserver/db/*
install -m 0755 nxserver-helper/nxserver-helper $PKG/usr/bin
install -m 0755 nxviewer-passwd/nxpasswd/nxpasswd $PKG/usr/bin
install -m 0755 \
nxcups-gethost nxdesktop_helper nxdialog nxkeygen nxloadconfig \
nxnode nxnode-login nxprint nxserver nxsetup nxviewer_helper \
$PKG/usr/bin
install -m 0644 node.conf.sample $PKG/etc/nxserver
cp -a $PKG/etc/nxserver/node.conf.{sample,new}
install -m 0755 init.d/freenx-server $PKG/etc/rc.d/rc.freenx.new
# Add a logrotate script:
install -m 644 $CWD/config/freenx.logrotate $PKG/etc/logrotate.d/freenx-server.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $CWD/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}