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

VERSION=3.1.8
ARCH=i486
BUILD=2

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi

# Create the package framework:
rm -rf $PKG
mkdir -p $PKG
mkdir -p $PKG/usr/bin
mkdir -p $PKG/usr/sbin
mkdir -p $PKG/usr/doc
mkdir -p $PKG/usr/man/man1 $PKG/usr/man/man8
mkdir -p $PKG/etc
mkdir -p $PKG/var/spool/atjobs $PKG/var/spool/atspool
chmod 700 $PKG/var/spool/atjobs $PKG/var/spool/atspool
chown daemon.daemon $PKG/var/spool/atjobs $PKG/var/spool/atspool
touch $PKG/etc/at.deny.new

cd $TMP
rm -rf at-$VERSION
tar xjvf $CWD/at-${VERSION}.tar.bz2
cd at-$VERSION
chown -R root.root .
# Lots of patches (mostly from RH and Debian) to fix problems parsing the
# timespec grammar and other errors:
bzcat $CWD/at.diff.bz2 | patch -p1 --verbose
# Pre-shipped crud:
rm -f y.tab.c y.tab.h lex.yy.c
mkdir -p $PKG/usr/doc/at-$VERSION
cp -a \
  COPYING ChangeLog Copyright Problems README timespec \
  $PKG/usr/doc/at-$VERSION
chmod 644 $PKG/usr/doc/at-$VERSION/*
./configure i486-slackware-linux
make
strip --strip-unneeded at atd
cat at > $PKG/usr/bin/at
cat atrun > $PKG/usr/sbin/atrun
cat atd > $PKG/usr/sbin/atd
cat batch > $PKG/usr/bin/batch
chown -R root.bin $PKG/usr/bin $PKG/usr/sbin
chmod 755 $PKG/usr/bin/* $PKG/usr/sbin/*
chmod 4711 $PKG/usr/bin/at
cat at.1 | gzip -9c > $PKG/usr/man/man1/at.1.gz
cat atrun.8 | gzip -9c > $PKG/usr/man/man8/atrun.8.gz
cat atd.8 | gzip -9c > $PKG/usr/man/man8/atd.8.gz

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh > $PKG/install/doinst.sh

# Build the package:
cd $PKG
makepkg -l y -c n $TMP/at-$VERSION-$ARCH-$BUILD.tgz

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