#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-portmap
rm -rf $PKG

VERSION=5.0
ARCH=i486
BUILD=1

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi
if [ ! -d $PKG ]; then
  mkdir -p $PKG # place for the package to be built
fi

cd $TMP
rm -rf portmap_5beta
tar xzvf $CWD/portmap_5.tar.gz
cd portmap_5beta
chown -R root.root .
zcat $CWD/portmap_5-2.1.diff.gz | patch -p1 --backup --suffix=.orig
mkdir -p $PKG/usr/doc/portmap-5.0
cp -a \
  BLURB CHANGES README \
  $PKG/usr/doc/portmap-5.0
chmod 644 $PKG/usr/doc/portmap-5.0/*
make
strip portmap pmap_dump pmap_set
mkdir -p $PKG/sbin
cat portmap > $PKG/sbin/rpc.portmap
chmod 755 $PKG/sbin/rpc.portmap
chown -R root.bin $PKG/sbin
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/*
chown -R root.bin $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.portmap.gz > $PKG/etc/rc.d/rc.portmap.new
# Off by default.  I trust portmap (by itself) to not be a security problem,
# but better safe...
chmod 644 $PKG/etc/rc.d/rc.portmap.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
makepkg -l y -c n $TMP/portmap-$VERSION-$ARCH-$BUILD.tgz

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP/portmap_5beta
 rm -rf $PKG
fi
