#!/bin/bash

# cpio.SlackBuild
# by Stuart Winter <stuart@armedslack.org> for the Slackware porting Project.
# Heavily based on the original Slackware build script.
# 31-May-2004

# Paths to skeleton port's source & real Slackware source tree:
export CWD=$SLACKSOURCE/a/cpio
export PORTCWD=$PWD

# Package meta-data:
export PACKAGE=cpio
export PKGSERIES=a
export ARCH=${ARCH:=$PORTARCH}
export VERSION=${VERSION:=2.5}
export BUILD=${BUILD:=1}

# Temporary build locations:
export TMPBUILD=$TMP/build-$PACKAGE
export PKG=$TMP/package-$PACKAGE
mkpkgdirs # Delete and re-create temporary directories

# Determine the CFLAGS for the known architectures:
case $PORTARCH in
   armv3)   ARCH_CFLAGS="-march=armv3 -mtune=xscale" ;;
   powerpc) ARCH_CFLAGS="" ;;
   sparc)   ARCH_CFLAGS="" ;;
   *) ARCH_CFLAGS="" ;;
esac

# Untar source:
tar xzvf $CWD/$PACKAGE-$VERSION.tar.gz
cd $PACKAGE-$VERSION

# House keeping:
slackhousekeeping

# Configure:
CFLAGS="-O2 ${ARCH_CFLAGS}" \
./configure --prefix=/usr || failconfig

# Make:
make || failmake

# Install binaries:
mkdir -p $PKG/bin
install -m755 cpio $PKG/bin
install -m755 mt $PKG/bin/mt-GNU

# Install man pages:
mkdir -p $PKG/usr/man/man1
install -m644 cpio.1 mt.1 $PKG/usr/man/man1
makeinfo cpio.texi

# Install info pages:
mkdir -p $PKG/usr/info
install -m644 cpio.info $PKG/usr/info

# Install docs:
mkdir -p $PKG/usr/doc/cpio-$VERSION
cp -a COPYING COPYING.LIB ChangeLog INSTALL NEWS README \
      $PKG/usr/doc/cpio-$VERSION

# Enter the package's root:
cd $PKG

# Slackware policies:
slackstripall   # strip all .a archives and all ELFs
slackgzpages -i # compress man & info pages and delete usr/info/dir
slackslack      # set all files to root.root, chmod -R og-w, slackchown, slack644docs
slackdesc       # install slack-desc and doinst.sh

# Build the package:
if [ $PORTARCH = armv3 ]; then
   . $PORTCWD/arm/pkger
 else
   makepkg -l y -c n $PKGSTORE/$PKGSERIES/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
fi

# Perform any final checks on the package:
cd $PKG
slackhlinks     # search for any hard links
