#!/bin/sh # $NetBSD: build,v 1.9 2001/02/13 23:02:23 dmcmahill Exp $ # # Do builk build # # (c) 2000 Hubert Feyrer, All Rights Reserved. # echo Bulk build started: `date` echo "" # Pull in ADMIN etc.: if [ -f "$BULK_BUILD_CONF" ]; then . $BULK_BUILD_CONF else conf=`dirname $0`/build.conf if [ -f "$conf" ]; then . $conf else echo "$0: Cannot find config file $conf, aborting." exit 1 fi fi if [ "$http_proxy" != "" ]; then echo "Using HTTP proxy $http_proxy" export http_proxy fi if [ "$ftp_proxy" != "" ]; then echo "Using FTP proxy $ftp_proxy" export ftp_proxy fi echo "" unset DISPLAY # allow sane failure for gimp, xlispstat cd ${USR_PKGSRC} if [ "$1" = "restart" ]; then echo Restarting - skipping pre-build script else sh mk/bulk/pre-build # make veryveryclean :) fi cd pkgtools/pkglint DEPENDSTREEFILE=`make show-var VARNAME=DEPENDSTREEFILE` DEPENDSFILE=`make show-var VARNAME=DEPENDSFILE` SUPPORTSFILE=`make show-var VARNAME=SUPPORTSFILE` INDEXFILE=`make show-var VARNAME=INDEXFILE` ORDERFILE=`make show-var VARNAME=ORDERFILE` cd ${USR_PKGSRC} # Figure out optimal build order, and build if [ "$1" != "restart" ]; then echo "Building dependency tree (this may take a while)..." sh mk/bulk/printdepends > $DEPENDSTREEFILE echo "Sorting build order..." tsort $DEPENDSTREEFILE > $ORDERFILE echo "Generating up and down dependency files..." ./mk/bulk/tflat -u $DEPENDSTREEFILE > $SUPPORTSFILE ./mk/bulk/tflat -d $DEPENDSTREEFILE > $DEPENDSFILE echo "Generating package name <=> package directory cross reference file (this may take a while)..." sh mk/bulk/printindex > $INDEXFILE fi echo "Starting actual build using the order specified in $ORDERFILE..." nice -n 20 make \ USE_BULK_CACHE=yes \ SPECIFIC_PKGS=1 \ GROUP_SPECIFIC_PKGS="`cat $ORDERFILE | tr '\012' ' '`" \ bulk-package | sed 's/^/'`uname -p`'> /g' echo "Build finished. Removing all installed packages left over from build..." for pkg in `pkg_info` do if `pkg_info -qe $pkg`; then echo pkg_delete -r $pkg pkg_delete -rR $pkg fi done echo "Post processing bulk build results..." #rm $DEPENDSTREEFILE $DEPENDSFILE $SUPPORTSFILE $INDEXFILE $ORDERFILE # Perl was wiped, reinstall it! ( cd lang/perl5-base ; make bulk-install ) perl mk/bulk/post-build | mail -s "pkgsrc/`uname -p` bulk build results `date +%F`" $ADMIN # Done! echo "" echo Bulk build ended: `date`