#!/bin/bash

# arm/build
# Check package dependencies, set metadata and launch
# package build script.
# by Stuart Winter <stuart@armedslack.org>
#
source /usr/share/slackdev/buildkit.sh

# Package metadata:
export PKGNAM=
export VERSION=${VERSION:-}
# The architecture name component of the .tgz package file name:
export PKGARCH=${PKGARCH:-armel}
export PKGARCH=${PKGARCH:-arm}
export PKGARCH=${PKGARCH:-noarch}
export PKGARCH=${PKGARCH:-fw}
export BUILD=${BUILD:-1}
export PKGSERIES=${PKGSERIES:-../armedslack-extra/packages}
export PKGSERIES=${PKGSERIES:-../extra}
export PKGSERIES=${PKGSERIES:-n}
export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz

## ******************************************************************* ##
# For test packages - best to store in another location rather than
# overwriting the working copy in the main tree:
# export PKGSTORE=/tmp/
# mkdir -vpm755 $PKGSTORE/$PKGSERIES
## ******************************************************************* ##

# Reset the ARM file system: restore it to the 'factory settings'
# as it were (this has no effect when building natively):
sboxsysrestore

# Ensure base ARM packages are installed first:
slackbasedeps

# Ensure $PKGNAM isn't already installed:
slackfailpkgdeps $PKGNAM || removepkg $PKGNAM

# You may wonder how I know which version numbers I'm dealing with.
# The answer is that at present present I do not need to worry.
# For different versions of ARMedslack I chroot into that version 
# and build using only the packages built for that version.
#
# Ensure specific build dependencies (mainly libraries):

# If you wish to call architecture specific stuff (e.g. patching in specific
# ARM patches) from $PKGNAM.SlackBuild then this script is a good place
# to create & export functions.
# In the SlackBuild you then simply need to check the value of $PORTARCH
# and call the exported function.

# Launch the package build script:
BUILDLOG=$( basename $SLACKPACKAGE .tgz ).build.log
( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG
( ./trackbuild.$PKGNAM ) >& /dev/stdout | tee $BUILDLOG

# Compress the build log:
bzip2 -9f $BUILDLOG
