| #! /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 |