]> git.donarmstrong.com Git - wannabuild.git/blob - trigger.often
d478b202b77b5e27c6e8e037f76d6711657d13b0
[wannabuild.git] / trigger.often
1 #!/bin/bash
2 #
3 # Updates wanna-build databases after the archive maintenance
4 # finishes
5 #
6 # Files:
7 #     Sources-* == upstream fetched file
8 #     Sources.* == uncompressed, concat'd version
9 #
10 # RM: disabled for etch release
11
12 LANG=C
13 PATH="/bin:/usr/bin"
14 ARCHS="arm armel sparc alpha powerpc i386 mips mipsel ia64 hppa s390 amd64"
15 TMPDIR="/org/wanna-build/tmp"
16 WGETOPT="-q -t2 -w0 -T10"
17 LOCKFILE="/org/wanna-build/tmp/DB_Maintenance_In_Progress"
18 NEWARCH=""
19
20 if lockfile -! -l 3600 $LOCKFILE; then
21         echo "Cannot lock $LOCKFILE"
22         exit 1
23 fi
24
25 cleanup() {
26         rm -f "$LOCKFILE"
27 }
28 trap cleanup 0
29
30 umask 027
31
32 exec >> /org/wanna-build/db/merge.log 2>&1
33
34 echo --
35 echo "incoming merge triggered: `date`"
36
37 cd $TMPDIR
38
39 #
40 # Make one big Packages and Sources file from accepted autobuilding.
41 #
42 rm -f Sources.unstable Sources.gz Packages.gz
43 if wget $WGETOPT http://incoming.debian.org/buildd/Sources.gz; then
44         mv Sources.gz Sources-unstable.accepted.gz
45 fi
46 if wget $WGETOPT http://incoming.debian.org/buildd/Packages.gz; then
47         mv Packages.gz Packages-unstable.accepted.gz
48 fi
49 cp Sources.unstable.base Sources.unstable
50 zcat Sources-unstable.accepted.gz >> Sources.unstable
51 for a in $ARCHS; do
52         rm -f Packages.unstable.$a
53         cp Packages.unstable.$a.base Packages.unstable.$a
54         zcat Packages-unstable.accepted.gz >> Packages.unstable.$a
55 done
56         
57 umask 007
58 for a in $ARCHS ; do
59         if [ "$a" = "$NEWARCH" ]; then
60                 quinn-diff -i -A $a -a /org/buildd.debian.org/web/quinn-diff/sid/Packages-arch-specific -s Sources.unstable.$NEWARCH -p Packages.unstable.$a >> quinn-unstable.$a 2> /dev/null
61         else
62                 quinn-diff -i -A $a -a /org/buildd.debian.org/web/quinn-diff/sid/Packages-arch-specific -s Sources.unstable -p Packages.unstable.$a >> quinn-unstable.$a 2> /dev/null
63         fi
64         perl -pi -e 's#^(non-free)/.*$##msg' quinn-unstable.$a
65         if [ "$a" = "$NEWARCH" ]; then
66                 wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable.$NEWARCH
67         else
68                 wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable
69         fi
70         mv Packages.unstable.$a Packages.unstable.$a-old
71         mv quinn-unstable.$a quinn-unstable.$a-old
72 done
73 mv Sources.unstable Sources.unstable-old
74
75 echo "incoming merge ended: `date`"
76 exit 0