#!/bin/sh
#
# Slackware build script for <sbotools>
# Written by Jacob Pipkin <j@dawnrazor.net>
# Licensed under the WTFPL <http://sam.zoy.org/wtfpl/COPYING>

PRGNAM=sbotools
VERSION=${VERSION:-1.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

SRCNAM=$PRGNAM

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

# we set INSTALLMAN3DIR=none to elide the Sort::Versions.3 man page so that we
# don't clobber one from perl-Sort-Versions or Sort::Versions.
( cd SBO-Lib
	perl Makefile.PL \
	  PREFIX=/usr \
	  INSTALLDIRS=site \
	  INSTALLVENDORMAN1DIR=/usr/man/man1 \
	  INSTALLVENDORMAN3DIR=/usr/man/man3 \
	  INSTALLMAN3DIR=none
	make
	make test
	make install DESTDIR=$PKG
)

SCRIPTS="check clean config find install remove snap upgrade"
MANS="man1 man5"

mkdir -p $PKG/usr/sbin
for i in $SCRIPTS; do
  cp sbo$i $PKG/usr/sbin/sbo$i
done

for i in $MANS; do
  mkdir -p $PKG/usr/man/$i
  cp $i/* $PKG/usr/man/$i/
done

find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz; rm $i ; done

find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true

find $PKG -depth -type d -empty -delete || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/SBO-Lib
cp -a SBO-Lib/{README,Changes} $PKG/usr/doc/$PRGNAM-$VERSION/SBO-Lib
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-noarch-$BUILD$TAG.${PKGTYPE:-tgz}
