]> git.decadent.org.uk Git - dak.git/blobdiff - wanna-build/trigger.daily
2004-07-12 Daniel Silverstone <dsilvers@digital.org> * billie (main): Make...
[dak.git] / wanna-build / trigger.daily
index 8d80dbd4797866a745c1deeffd4aa8d411030475..caf99f46423dde92a713f0d16540f84e6266254f 100755 (executable)
@@ -3,33 +3,43 @@
 # Updates wanna-build databases after the archive maintenance
 # finishes
 #
+# Files:
+#     Sources-* == upstream fetched file
+#     Sources.* == uncompressed, concat'd version
 PATH="/bin:/usr/bin"
-DISTS="oldstable-security stable stable-security testing testing-security unstable"
+#testing must be before unstable so late upld don't build for testing needlessly
+#DISTS="stable stable-security testing testing-security unstable"
+DISTS="stable stable-security testing unstable"
+STATS_DISTS="unstable testing stable"
 SECTIONS="main contrib non-free"
-ARCHS_oldstable="m68k arm sparc alpha powerpc i386"
-ARCHS_stable="mips mipsel ia64 hppa s390 $ARCHS_oldstable"
+ARCHS_stable="m68k arm sparc alpha powerpc i386 mips mipsel ia64 hppa s390"
 ARCHS_testing="$ARCHS_stable"
 ARCHS_unstable="$ARCHS_testing hurd-i386 sh"
 TMPDIR="/org/wanna-build/tmp"
-WGETOPT="-q -t2 -w0 -T60"
-CURLOPT="-q -s -S -f -K /org/wanna-build/trigger.curlrc"
+WGETOPT="-q -t2 -w0 -T10"
+CURLOPT="-q -s -S -f -y 5 -K /org/wanna-build/trigger.curlrc"
 LOCKFILE="/org/wanna-build/tmp/DB_Maintenance_In_Progress"
 
 DAY=`date +%w`
 
+if lockfile -! -l 3600 $LOCKFILE; then
+       echo "Cannot lock $LOCKFILE"
+       exit 1
+fi
+
+cleanup() {
+       rm -f "$LOCKFILE"
+}
+trap cleanup 0
+
 echo Updating wanna-build databases...
-umask 022
+umask 027
 
 if [ "$DAY" = "0" ]; then
        savelog -c 26 -p /org/wanna-build/db/merge.log
 fi
 
 exec >> /org/wanna-build/db/merge.log 2>&1
-lockfile -l 3600 $LOCKFILE
-cleanup() {
-       rm -f "$LOCKFILE"
-}
-trap cleanup 0
 
 echo -------------------------------------------------------------------------
 echo "merge triggered `date`"
@@ -42,9 +52,6 @@ cd $TMPDIR
 for d in $DISTS ; do
        dist=`echo $d | sed s/-.*$//`
        case "$dist" in
-               oldstable)
-                       ARCHS="$ARCHS_oldstable"
-                       ;;
                stable)
                        ARCHS="$ARCHS_stable"
                        ;;
@@ -67,7 +74,6 @@ for d in $DISTS ; do
                fi
        done
 
-
        for s in $SECTIONS ; do
                if echo $d | grep -qv -- -security; then
                        rm -f Sources.gz
@@ -120,7 +126,7 @@ for d in $DISTS ; do
                                fi
                                gzip -dc Sources-$d.accepted.gz >> Sources.$d
                                if curl $CURLOPT http://security.debian.org/buildd/$dist/Packages.gz -o Packages.gz; then
-                                       mv Packages.gz Packages-$d.accepted.gz
+                                       mv Packages.gz Packages.$d.accepted.gz
                                fi
                        fi
                        rm -f Packages.gz
@@ -136,27 +142,16 @@ for d in $DISTS ; do
                fi
        done
 
-       if [ "$d" = "oldstable" ]; then
-               gzip -dc /org/ftp.debian.org/ftp/dists/old-proposed-updates/Sources.gz >> Sources.$d
-               if "$NON_US" = "true" ]; then
-                       rm -f Sources.gz
-                       if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/old-proposed-updates/Sources.gz; then
-                               mv Sources.gz Sources-non-us.p-u.gz
-                       fi
-                       gzip -dc Sources-non-us.p-u.gz >> Sources.$d
-                       rm -f Packages.gz
-                       if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/old-proposed-updates/Packages.gz; then
-                               mv Packages.gz Packages-non-us.p-u.gz
+       for a in $ARCHS ; do
+               if [ "$d" = "unstable" -o ! -e "quinn-unstable.$a-old" ]; then
+                       quinn-diff -A $a -a /org/buildd.debian.org/web/quinn-diff/Packages-arch-specific -s Sources.$d -p Packages.$d.$a >> quinn-$d.$a
+               else
+                       if echo $d | grep -qv -- -security; then
+                               quinn-diff -A $a -a /org/buildd.debian.org/web/quinn-diff/Packages-arch-specific -s Sources.$d -p Packages.$d.$a | fgrep -v -f quinn-unstable.$a-old | grep ":out-of-date\]$" >> quinn-$d.$a
+                       else
+                               quinn-diff -A $a -a /org/buildd.debian.org/web/quinn-diff/Packages-arch-specific -s Sources.$d -p Packages.$d.$a >> quinn-$d.$a
                        fi
                fi
-                       
-               for a in $ARCHS ; do
-                       gzip -dc /org/ftp.debian.org/ftp/dists/old-proposed-updates/Packages.gz >> Packages.$d.$a
-                       gzip -dc Packages-non-us.p-u.gz >> Packages.$d.$a
-               done
-       fi
-       for a in $ARCHS ; do
-               quinn-diff -A $a -a /org/buildd.debian.org/web/quinn-diff/Packages-arch-specific -s Sources.$d -p Packages.$d.$a >> quinn-$d.$a
        done
 done
 
@@ -187,12 +182,13 @@ for a in $ARCHS_unstable ; do
                perl -pi -e 's#^(non-US/)?(non-free)/.*$##msg' quinn-$d.$a
                wanna-build --merge-quinn --dist=$d --database=$a/build-db quinn-$d.$a
                wanna-build --merge-sources --dist=$d --database=$a/build-db Sources.$d
+               wanna-build --clean-db --dist=$d --database=$a/build-db
                mv Packages.$d.$a Packages.$d.$a-old
                mv quinn-$d.$a quinn-$d.$a-old
-               if [ "$DAY" = "0" -a "$d" = "unstable" ]; then
-                       savelog -p -c 26 /org/wanna-build/db/$a/transactions.log
-               fi
        done
+       if [ "$DAY" = "0" ]; then
+               savelog -p -c 26 /org/wanna-build/db/$a/transactions.log
+       fi
        wanna-build --remove-maintenance-lock --database=$a/build-db
 done
 umask 022
@@ -201,8 +197,14 @@ for d in $DISTS; do
 done
 
 echo "merge ended `date`"
-rm -f "$LOCKFILE"
-trap -
 /org/wanna-build/bin/wb-graph >> /org/wanna-build/etc/graph-data
 /org/wanna-build/bin/wb-graph -p >> /org/wanna-build/etc/graph2-data
+rm -f "$LOCKFILE"
+trap -
 /org/buildd.debian.org/bin/makegraph
+for a in $ARCHS_stable; do
+       echo Last Updated: `date -u` > /org/buildd.debian.org/web/stats/$a.txt
+       for d in $STATS_DISTS; do
+               /org/wanna-build/bin/wanna-build-statistics --database=$a/build-db --dist=$d >> /org/buildd.debian.org/web/stats/$a.txt
+       done
+done