]> git.donarmstrong.com Git - wannabuild.git/blob - trigger.often
some fixes accumulated over time
[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 TMPDIR="/org/wanna-build/tmp"
15 LIBTRIGGER="/org/wanna-build/libtrigger.sh"
16 WGETOPT="-q -t2 -w0 -T10"
17 LOCKFILE="/org/wanna-build/tmp/DB_Maintenance_In_Progress"
18 NEWARCH=""
19
20 . "$LIBTRIGGER"
21
22 if lockfile -! -l 3600 $LOCKFILE; then
23         echo "Cannot lock $LOCKFILE"
24         exit 1
25 fi
26
27 cleanup() {
28         rm -f "$LOCKFILE"
29 }
30 trap cleanup 0
31
32 umask 027
33
34 exec >> /org/wanna-build/db/merge.log 2>&1
35
36 echo --
37 echo "incoming merge triggered: `date`"
38
39 cd $TMPDIR
40
41 #
42 # Make one big Packages and Sources file from accepted autobuilding.
43 #
44 rm -f Sources.unstable Sources.gz Packages.gz
45 if wget $WGETOPT http://incoming.debian.org/buildd/Sources.gz; then
46         mv Sources.gz Sources-unstable.accepted.gz
47 fi
48 if wget $WGETOPT http://incoming.debian.org/buildd/Packages.gz; then
49         mv Packages.gz Packages-unstable.accepted.gz
50 fi
51 cp Sources.unstable.base Sources.unstable
52 zcat Sources-unstable.accepted.gz >> Sources.unstable
53 for a in $ARCHS_unstable; do
54         rm -f Packages.unstable.$a
55         cp Packages.unstable.$a.base Packages.unstable.$a
56         zcat Packages-unstable.accepted.gz >> Packages.unstable.$a
57 done
58         
59 umask 007
60 for a in $ARCHS_unstable ; do
61         if [ "$a" = "$NEWARCH" ]; then
62                 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
63         else
64                 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
65         fi
66         perl -pi -e 's#^(non-free)/.*$##msg' quinn-unstable.$a
67         if [ "$a" = "$NEWARCH" ]; then
68                 wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable.$NEWARCH
69         else
70                 wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable
71         fi
72         mv Packages.unstable.$a Packages.unstable.$a-old
73         mv quinn-unstable.$a quinn-unstable.$a-old
74 done
75 mv Sources.unstable Sources.unstable-old
76
77 echo "incoming merge ended: `date`"
78 exit 0