diff options
Diffstat (limited to 'source/n/portmap')
-rw-r--r-- | source/n/portmap/doinst.sh | 13 | ||||
-rwxr-xr-x | source/n/portmap/portmap.SlackBuild | 93 | ||||
-rw-r--r-- | source/n/portmap/portmap.lwrap.needs.lnsl.diff | 11 | ||||
-rw-r--r-- | source/n/portmap/rc.rpc | 60 | ||||
-rw-r--r-- | source/n/portmap/slack-desc | 19 |
5 files changed, 196 insertions, 0 deletions
diff --git a/source/n/portmap/doinst.sh b/source/n/portmap/doinst.sh new file mode 100644 index 00000000..9307abfd --- /dev/null +++ b/source/n/portmap/doinst.sh @@ -0,0 +1,13 @@ +#!/bin/sh +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/rc.d/rc.rpc.new diff --git a/source/n/portmap/portmap.SlackBuild b/source/n/portmap/portmap.SlackBuild new file mode 100755 index 00000000..3699bd9c --- /dev/null +++ b/source/n/portmap/portmap.SlackBuild @@ -0,0 +1,93 @@ +#!/bin/sh + +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 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 AUTHOR 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. + +VERSION=${VERSION:-6.0} +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-1} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-portmap + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf portmap_$VERSION +tar xvf $CWD/portmap-$VERSION.tar.bz2 || exit 1 +cd portmap_$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/portmap.lwrap.needs.lnsl.diff.gz | patch -p1 --backup --suffix=.orig || exit 1 + +mkdir -p $PKG/usr/doc/portmap-$VERSION +cp -a \ + BLURB* CHANGES README* \ + $PKG/usr/doc/portmap-$VERSION +chmod 644 $PKG/usr/doc/portmap-$VERSION/* + +make || exit 1 + +strip portmap pmap_dump pmap_set +mkdir -p $PKG/sbin +cat portmap > $PKG/sbin/rpc.portmap +chmod 755 $PKG/sbin/rpc.portmap +mkdir -p $PKG/usr/sbin +cat pmap_dump > $PKG/usr/sbin/pmap_dump +cat pmap_set > $PKG/usr/sbin/pmap_set +chmod 755 $PKG/usr/sbin/* + +mkdir -p $PKG/usr/man/man8 +for file in *.8 ; do + cat ${file} | gzip -9c > $PKG/usr/man/man8/${file}.gz +done +( cd $PKG/usr/man/man8 ; ln -sf portmap.8.gz rpc.portmap.8.gz ) + +# Now let's add a recent version of /etc/rpc for good measure: +if [ -r /etc/rpc ]; then + mkdir -p $PKG/etc + cp -a /etc/rpc $PKG/etc/rpc +else + echo "WARNING: no /etc/rpc on this system, can't include!" + echo -n "hit enter..." + read errorfodder + echo +fi + +mkdir -p $PKG/etc/rc.d +zcat $CWD/rc.rpc.gz > $PKG/etc/rc.d/rc.rpc.new +# Off by default. +chmod 644 $PKG/etc/rc.d/rc.rpc.new + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/portmap-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/n/portmap/portmap.lwrap.needs.lnsl.diff b/source/n/portmap/portmap.lwrap.needs.lnsl.diff new file mode 100644 index 00000000..277c31d8 --- /dev/null +++ b/source/n/portmap/portmap.lwrap.needs.lnsl.diff @@ -0,0 +1,11 @@ +--- ./Makefile.orig 2007-05-10 22:02:10.000000000 -0500 ++++ ./Makefile 2007-05-17 17:44:18.000000000 -0500 +@@ -20,7 +20,7 @@ + + ifeq ($(NO_TCP_WRAPPER),) + CPPFLAGS += -DHOSTS_ACCESS +-WRAP_LIB = -lwrap ++WRAP_LIB = -lwrap -lnsl + ifdef USE_DNS + CPPFLAGS += -DENABLE_DNS + MAN_SED += -e 's/USE_DNS/yes/' diff --git a/source/n/portmap/rc.rpc b/source/n/portmap/rc.rpc new file mode 100644 index 00000000..43492329 --- /dev/null +++ b/source/n/portmap/rc.rpc @@ -0,0 +1,60 @@ +#!/bin/sh +# rc.rpc: start/stop/restart RPC daemons needed to use NFS. +# +# You must run these daemons in order to mount NFS partitions +# (unless you use the mount option '-o nolock', which can +# corrupt files and is not generally recommended unless you +# are mounting the partition(s) as read-only). +# +# To run an NFS server, starting these is mandatory. +# + +rpc_start() { + if [ -x /sbin/rpc.portmap -a -x /sbin/rpc.statd ]; then + if ! ps axc | grep -q rpc.portmap ; then + echo "Starting RPC portmapper: /sbin/rpc.portmap" + /sbin/rpc.portmap + fi + if ! ps axc | grep -q rpc.statd ; then + echo "Starting RPC NSM (Network Status Monitor): /sbin/rpc.statd" + /sbin/rpc.statd + fi + else + echo "WARNING: Cannot start RPC daemons needed for NFS. One or more of" + echo " these required daemons is not executable or is not present" + echo " on your system:" + echo + echo " /sbin/rpc.portmap or /sbin/rpc.statd" + echo + fi +} + +rpc_stop() { + killall rpc.statd 2> /dev/null + sleep 1 + killall rpc.portmap 2> /dev/null + sleep 1 + killall -9 rpc.statd 2> /dev/null # make sure :) + sleep 1 + killall -9 rpc.portmap 2> /dev/null # make sure :) + sleep 1 +} + +rpc_restart() { + rpc_stop + rpc_start +} + +case "$1" in +'start') + rpc_start + ;; +'stop') + rpc_stop + ;; +'restart') + rpc_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/source/n/portmap/slack-desc b/source/n/portmap/slack-desc new file mode 100644 index 00000000..bc513849 --- /dev/null +++ b/source/n/portmap/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +portmap: portmap (a daemon to manage RPC connections) +portmap: +portmap: The portmapper (/sbin/rpc.portmap) is a network daemon used to manage +portmap: connections to RPC services. Daemons that offer RPC services (such +portmap: as the daemons for NFS) tell the portmapper on what port they listen. +portmap: Unlike the services registered with the inetd, RPC network port +portmap: numbers may change each time the system is booted. +portmap: +portmap: The portmapper is required to use NFS or other RPC services. +portmap: +portmap: |