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