#!/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=mozilla-firefox export VERSION=${VERSION:-3.6.3} export PKGARCH=${PKGARCH:-arm} export BUILD=${BUILD:-1} export PKGSERIES=${PKGSERIES:-xap} 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 # We also need autoconf2.13 from the unsupported/packages # directory. This is because the newer version of gtk+2-2.12.7 # causes the build to explode. So we need to regenerate the autoconf # stuff - which needs an older autoconf. #removepkg autoconf autoconf2.13 # This isn't exactly portable outside of my own build environment # but honestly, is anybody else actually using ARMedslack's build system? # If so, send me a post card! (or plane tickets to an exotic # island with dancing girls and fine wines! :-) # You must install the packages in this order: #installpkg $PKGSTORE/d/autoconf*tgz #installpkg ~/armedslack/unsupported/packages/autoconf2.13*tgz # Ensure specific build dependencies (mainly libraries): { slackcheckpkgdeps atk || installpkg $PKGSTORE/l/atk-*.tgz || exit 99 ; } { slackcheckpkgdeps cairo || installpkg $PKGSTORE/l/cairo-*.tgz || exit 99 ; } { slackcheckpkgdeps libnotify || installpkg $PKGSTORE/l/libnotify-*.t?z || exit 99 ; } { slackcheckpkgdeps freetype || installpkg $PKGSTORE/l/freetype-*.tgz || exit 99 ; } { slackcheckpkgdeps glib2 || installpkg $PKGSTORE/l/glib2-*.tgz || exit 99 ; } { slackcheckpkgdeps gtk+2 || installpkg $PKGSTORE/l/gtk+2-*.tgz || exit 99 ; } { slackcheckpkgdeps libpng || installpkg $PKGSTORE/l/libpng-*.tgz || exit 99 ; } { slackcheckpkgdeps pango || installpkg $PKGSTORE/l/pango-*.tgz || exit 99 ; } { slackcheckpkgdeps fontconfig || installpkg $PKGSTORE/x/fontconfig-*.tgz || exit 99 ; } { slackcheckpkgdeps libICE || installpkg $PKGSTORE/x/libICE-*.tgz || exit 99 ; } { slackcheckpkgdeps libSM || installpkg $PKGSTORE/x/libSM-*.tgz || exit 99 ; } { slackcheckpkgdeps libX11 || installpkg $PKGSTORE/x/libX11-*.tgz || exit 99 ; } { slackcheckpkgdeps libXcursor || installpkg $PKGSTORE/x/libXcursor-*.tgz || exit 99 ; } { slackcheckpkgdeps libXext || installpkg $PKGSTORE/x/libXext-*.tgz || exit 99 ; } { slackcheckpkgdeps libXfixes || installpkg $PKGSTORE/x/libXfixes-*.tgz || exit 99 ; } { slackcheckpkgdeps libXft || installpkg $PKGSTORE/x/libXft-*.tgz || exit 99 ; } { slackcheckpkgdeps libXi || installpkg $PKGSTORE/x/libXi-*.tgz || exit 99 ; } { slackcheckpkgdeps libXinerama || installpkg $PKGSTORE/x/libXinerama-*.tgz || exit 99 ; } { slackcheckpkgdeps libXrandr || installpkg $PKGSTORE/x/libXrandr-*.tgz || exit 99 ; } { slackcheckpkgdeps libXrender || installpkg $PKGSTORE/x/libXrender-*.tgz || exit 99 ; } { slackcheckpkgdeps libXt || installpkg $PKGSTORE/x/libXt-*.tgz || exit 99 ; } #{ slackcheckpkgdeps mozilla-thunderbird || installpkg $PKGSTORE/xap/mozilla-thunderbird-*.tgz || exit 99 ; } #{ slackcheckpkgdeps seamonkey || installpkg $PKGSTORE/xap/seamonkey-*.tgz || exit 99 ; } ## ******************************************************************* ## # For test packages - best to store in another location rather than # overwriting the working copy in the main tree: # # This is VERY useful for firefox since it sometimes has some interesting # run-time features: # export PKGSTORE=/tmp/ # mkdir -vpm755 $PKGSTORE/$PKGSERIES ## ******************************************************************* ## # Launch the package build script: BUILDLOG=$( basename $SLACKPACKAGE .tgz ).build.log ( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG # Compress the build log: bzip2 -9f $BUILDLOG