Workaround stack overflow.
[fedora-mingw.git] / smock / smock.sh
1 #!/bin/sh
2
3 if [ -z "$LOCALREPO" -o -z "$ARCHES" ]; then
4     echo '$LOCALREPO must point to local repository'
5     echo '$ARCHES must contain list of architectures to build'
6     exit 1
7 fi
8
9 help() {
10     echo "syntax: $0 DIST SRPM"
11 }
12
13 if [ -z "$1" ]; then
14     help
15     exit
16 fi
17
18
19 if [ -z "$2" ]; then
20     help
21     exit
22 fi
23
24 DIST=$1
25 SRPM=$2
26
27 createrepos() {
28
29   (
30     mkdir -p $LOCALREPO/$DIST/src/SRPMS
31     cd $LOCALREPO/$DIST/src
32     rm -rf repodata
33     createrepo .
34   )
35
36   for ARCH in $ARCHES
37   do
38     (
39       mkdir -p $LOCALREPO/$DIST/$ARCH/RPMS
40       mkdir -p $LOCALREPO/$DIST/$ARCH/logs
41       cd $LOCALREPO/$DIST/$ARCH
42       rm -rf repodata
43       createrepo --exclude "logs/*rpm" .
44     )
45   done
46 }
47
48 createrepos
49
50 mkdir -p $LOCALREPO/scratch
51 rm -f $LOCALREPO/scratch/*
52
53 for ARCH in $ARCHES
54 do
55     mkdir -p $LOCALREPO/$DIST/$ARCH/logs/$SRPM
56
57     mock -r $DIST-$ARCH --resultdir $LOCALREPO/scratch $SRPM
58
59     if [ $? != 0 ]; then
60        echo "Build failed, leaving logs in $LOCALREPO/scratch"
61        exit 1
62     fi
63     mv $LOCALREPO/scratch/*.src.rpm $LOCALREPO/$DIST/src/SRPMS
64     mv $LOCALREPO/scratch/*.rpm $LOCALREPO/$DIST/$ARCH/RPMS
65     mv $LOCALREPO/scratch/*.log $LOCALREPO/$DIST/$ARCH/logs/$SRPM/
66 done
67
68 createrepos
69