#!/bin/bash # arm/build # Check package dependencies, set metadata and launch # package build script. # by Stuart Winter # source /usr/share/slackdev/buildkit.sh # Package metadata: export PKGNAM=php export VERSION=${VERSION:-5.3.13} export PKGARCH=${PKGARCH:-arm} export PKGSERIES=${PKGSERIES:-n} export BUILD=${BUILD:-1_slack13.1} export BUILD=${BUILD:-1} export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz # Reset the ARM file system: restore it to the 'factory settings' # as it were (this has no effect when building natively): sboxsysrestore ## ******************************************************************* ## # 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 ## ******************************************************************* ## # Ensure base ARM packages are installed first: slackbasedeps # Ensure $PKGNAM isn't already installed: slackfailpkgdeps $PKGNAM || removepkg $PKGNAM # Ensure specific build dependencies (mainly libraries): # ncurses is used for PINE (and we build PINE from PHP in order to use # its IMAP library): { slackcheckpkgdeps bzip2 || installpkg $PKGSTORE/a/bzip2-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps sqlite || installpkg $PKGSTORE/ap/sqlite-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libtool || installpkg $PKGSTORE/d/libtool-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps aspell || installpkg $PKGSTORE/l/aspell-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps db44 || installpkg $PKGSTORE/l/db44-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps enchant || installpkg $PKGSTORE/l/enchant-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps freetype || installpkg $PKGSTORE/l/freetype-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps gdbm || installpkg $PKGSTORE/l/gdbm-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps glib2 || installpkg $PKGSTORE/l/glib2-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps gmp || installpkg $PKGSTORE/l/gmp-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libidn || installpkg $PKGSTORE/l/libidn-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libjpeg || installpkg $PKGSTORE/l/libjpeg-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libmcrypt || installpkg $PKGSTORE/l/libmcrypt-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libpng || installpkg $PKGSTORE/l/libpng-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libxml2 || installpkg $PKGSTORE/l/libxml2-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libxslt || installpkg $PKGSTORE/l/libxslt-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps mm || installpkg $PKGSTORE/l/mm-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps pcre || installpkg $PKGSTORE/l/pcre-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps t1lib || installpkg $PKGSTORE/l/t1lib-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps curl || installpkg $PKGSTORE/n/curl-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps cyrus-sasl || installpkg $PKGSTORE/n/cyrus-sasl-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libgcrypt || installpkg $PKGSTORE/n/libgcrypt-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libgpg-error || installpkg $PKGSTORE/n/libgpg-error-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps net-snmp || installpkg $PKGSTORE/n/net-snmp-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps openldap-client || installpkg $PKGSTORE/n/openldap-client-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps openssl || installpkg $PKGSTORE/n/openssl-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libX11 || installpkg $PKGSTORE/x/libX11-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps libXpm || installpkg $PKGSTORE/x/libXpm-[0-9]*.t?z || exit 99; } { slackcheckpkgdeps xproto || installpkg $PKGSTORE/x/xproto-[0-9]*.t?z || exit 99; } # Launch the package build script: BUILDLOG=$( basename $SLACKPACKAGE .tgz ).build.log ( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG # Compress the build log: bzip2 -9fvz $BUILDLOG