| #! /bin/bash | |
| # | |
| # Make whichever packages have been requested. | |
| # Defaults to RPMs. | |
| # | |
| LOGDIR=Logs | |
| type=rpm | |
| verbose=false | |
| MAKE=${MAKE:-make} | |
| test ! -z "$MAKE" && make=$MAKE | |
| for opt in $* | |
| do | |
| case "$opt" in | |
| clean) | |
| ;; # ignored, kept for backward compatibility | |
| rpm) | |
| type=rpm ;; | |
| debian) | |
| type=debian ;; | |
| verbose) | |
| verbose=true ;; | |
| *) | |
| echo "Usage: Makepkgs [verbose] [debian|rpm]"; exit 1 ;; | |
| esac | |
| done | |
| # start with a clean manifest | |
| test -f files.rpm && rm -f files.rpm | |
| test -f filesdevel.rpm && rm -f filesdevel.rpm | |
| test -f fileslib.rpm && rm -f fileslib.rpm | |
| test ! -d $LOGDIR && mkdir $LOGDIR | |
| rm -rf $LOGDIR/* > /dev/null 2>&1 | |
| # build Debian packages, cleans itself before starting | |
| SUDO=${SUDO:-sudo} | |
| test ! -z "$SUDO" && sudo=$SUDO | |
| if [ $type = debian ] ; then | |
| LOGDEB=`pwd` | |
| LOGDEB=../`basename $LOGDEB`.log | |
| echo "== Debian build, log is $LOGDEB"; echo | |
| if $verbose ; then | |
| dpkg-buildpackage -r$SUDO | tee $LOGDEB | |
| else | |
| dpkg-buildpackage -r$SUDO > $LOGDEB || exit 1 | |
| fi | |
| exit 0 | |
| fi | |
| # build RPM packages - manual clean before starting | |
| echo "== clean, log is $LOGDIR/clean" | |
| if $verbose ; then | |
| $MAKE clean 2>&1 | tee $LOGDIR/clean | |
| else | |
| $MAKE clean > $LOGDIR/clean 2>&1 || exit 1 | |
| fi | |
| echo | |
| echo "== configure, log is $LOGDIR/configure" | |
| rm -f .census # force configure to run here | |
| if $verbose ; then | |
| $MAKE configure 2>&1 | tee $LOGDIR/configure | |
| else | |
| $MAKE configure > $LOGDIR/configure 2>&1 || exit 1 | |
| fi | |
| echo | |
| echo "== default, log is $LOGDIR/default" | |
| if $verbose ; then | |
| $MAKE default 2>&1 | tee $LOGDIR/default | |
| else | |
| $MAKE default > $LOGDIR/default 2>&1 || exit 1 | |
| fi | |
| echo | |
| echo "== dist, log is $LOGDIR/dist" | |
| [ ! -f .census ] && touch .census | |
| if $verbose ; then | |
| $MAKE -C build dist 2>&1 | tee $LOGDIR/dist | |
| else | |
| $MAKE -C build dist > $LOGDIR/dist 2>&1 || exit 1 | |
| grep '^Wrote:' $LOGDIR/dist | sed -e 's/\.\.\/\.\.\///' | |
| fi | |
| exit 0 |