Only rebuild packages as necessary.
[fedora-mingw.git] / build-everything-in-mock.sh
1 #!/bin/bash -
2
3 DIST=fedora-9
4 SKIP_BUILT_RPMS=1
5
6 LOCALREPO=$HOME/public_html/smock/yum
7 ARCHES="i386 x86_64"
8
9 export DIST SKIP_BUILT_SRPMS LOCALREPO ARCHES
10
11 specs=`perl show-build-order.pl |
12        grep -v '^#' |
13        grep -Eo '[^[:space:]]+/mingw-[^[:space:]]+\.spec'`
14
15 rm -f buildall.log
16 echo -e "Specfiles in build order:\n$specs\n\n" >> buildall.log
17
18 pwd=`pwd`
19
20 for spec in $specs
21 do
22     set -e
23     dir=`dirname $spec`
24     srcrpm=`rpmbuild --define "_sourcedir $pwd/$dir" -bs $spec`
25     if [ $? != 0 ]; then exit 1; fi
26     srcrpm=`echo $srcrpm | awk '{print $2}'`
27
28     # Test if all the output RPMs exist already.
29     skip=
30     if [ $SKIP_BUILT_RPMS ]; then
31         skip=1
32         baserpm=`basename $srcrpm | sed 's/\.fc[[:digit:]]*\.src\.rpm//g'`
33         for arch in $ARCHES; do
34             if [ ! -f $LOCALREPO/$DIST/$arch/RPMS/$baserpm.* ]; then
35                 skip=
36             fi
37         done
38     fi
39     echo result of skip = $skip
40
41     if [ $skip ]; then
42         echo "skipping $srcrpm"
43     else
44         echo smock/smock.sh $DIST $srcrpm
45     fi
46 done 2>&1 | tee -a buildall.log