xfsqa: more sh to bash conversions
[xfstests-dev.git] / Makepkgs
1 #! /bin/bash
2 #
3 #       Make whichever packages have been requested.
4 #       Defaults to RPMs.
5 #
6 LOGDIR=Logs
7
8 type=rpm
9 verbose=false
10
11 MAKE=${MAKE:-make}
12 test ! -z "$MAKE" && make=$MAKE
13
14 for opt in $*
15 do
16         case "$opt" in
17         clean)
18                 ;; # ignored, kept for backward compatibility
19         rpm)
20                 type=rpm ;;
21         debian)
22                 type=debian ;;
23         verbose)
24                 verbose=true ;;
25         *)
26                 echo "Usage: Makepkgs [verbose] [debian|rpm]"; exit 1 ;;
27         esac
28 done
29
30 # start with a clean manifest
31 test -f files.rpm && rm -f files.rpm
32 test -f filesdevel.rpm && rm -f filesdevel.rpm
33 test -f fileslib.rpm && rm -f fileslib.rpm
34
35 test ! -d $LOGDIR && mkdir $LOGDIR
36 rm -rf $LOGDIR/* > /dev/null 2>&1
37
38 # build Debian packages, cleans itself before starting
39 SUDO=${SUDO:-sudo}
40 test ! -z "$SUDO" && sudo=$SUDO
41 if [ $type = debian ] ; then
42         LOGDEB=`pwd`
43         LOGDEB=../`basename $LOGDEB`.log
44         echo "== Debian build, log is $LOGDEB"; echo
45         if $verbose ; then
46                 dpkg-buildpackage -r$SUDO | tee $LOGDEB
47         else
48                 dpkg-buildpackage -r$SUDO > $LOGDEB || exit 1
49         fi
50         exit 0
51 fi
52
53 # build RPM packages - manual clean before starting
54 echo "== clean, log is $LOGDIR/clean"
55 if $verbose ; then
56         $MAKE clean 2>&1 | tee $LOGDIR/clean
57 else
58         $MAKE clean > $LOGDIR/clean 2>&1  || exit 1
59 fi
60
61 echo
62 echo "== configure, log is $LOGDIR/configure"
63 rm -f .census   # force configure to run here
64 if $verbose ; then
65         $MAKE configure 2>&1 | tee $LOGDIR/configure
66 else
67         $MAKE configure > $LOGDIR/configure 2>&1 || exit 1
68 fi
69
70 echo
71 echo "== default, log is $LOGDIR/default"
72 if $verbose ; then
73         $MAKE default 2>&1 | tee $LOGDIR/default
74 else
75         $MAKE default > $LOGDIR/default 2>&1 || exit 1
76 fi
77
78 echo
79 echo "== dist, log is $LOGDIR/dist"
80 [ ! -f .census ] && touch .census
81 if $verbose ; then
82         $MAKE -C build dist 2>&1 | tee $LOGDIR/dist
83 else
84         $MAKE -C build dist > $LOGDIR/dist 2>&1 || exit 1
85         grep '^Wrote:' $LOGDIR/dist | sed -e 's/\.\.\/\.\.\///'
86 fi
87
88 exit 0