]> git.decadent.org.uk Git - dak.git/blobdiff - wanna-build/trigger.daily
Add new top level directories
[dak.git] / wanna-build / trigger.daily
index e69a412a58dd5ab04ee5be426adf77d18447ac3c..0107564ee8065ec467358d1cafbe6b41b7c0c80a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # Updates wanna-build databases after the archive maintenance
 # finishes
@@ -8,14 +8,16 @@
 #     Sources.* == uncompressed, concat'd version
 PATH="/bin:/usr/bin"
 #testing must be before unstable so late upld don't build for testing needlessly
-DISTS="stable stable-security testing testing-security unstable"
+DISTS="oldstable-security stable-security testing-security stable testing unstable"
+STATS_DISTS="unstable testing stable"
 SECTIONS="main contrib non-free"
-ARCHS_stable="m68k arm sparc alpha powerpc i386 mips mipsel ia64 hppa s390"
+ARCHS_oldstable="m68k arm sparc alpha powerpc i386 mips mipsel ia64 hppa s390"
+ARCHS_stable="$ARCHS_oldstable"
 ARCHS_testing="$ARCHS_stable"
-ARCHS_unstable="$ARCHS_testing hurd-i386 sh"
+ARCHS_unstable="$ARCHS_testing hurd-i386"
 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`
@@ -50,6 +52,9 @@ cd $TMPDIR
 for d in $DISTS ; do
        dist=`echo $d | sed s/-.*$//`
        case "$dist" in
+               oldstable)
+                       ARCHS="$ARCHS_oldstable"
+                       ;;
                stable)
                        ARCHS="$ARCHS_stable"
                        ;;
@@ -60,7 +65,6 @@ for d in $DISTS ; do
                        ARCHS="$ARCHS_unstable"
                        ;;
        esac
-       NON_US="false" # this is changed below if sources can be found
        rm -f Sources.$d
        if [ "$d" = "unstable" ]; then
                gzip -dc /org/incoming.debian.org/buildd/Sources.gz >> Sources.$d
@@ -75,37 +79,15 @@ for d in $DISTS ; do
        for s in $SECTIONS ; do
                if echo $d | grep -qv -- -security; then
                        rm -f Sources.gz
-                       if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/$d/non-US/$s/source/Sources.gz; then
-                               mv Sources.gz Sources-non-us.$d.$s.gz
-                               NON_US="true"
-                       fi
-                       gzip -dc Sources-non-us.$d.$s.gz >> Sources.$d
                        gzip -dc /org/ftp.debian.org/ftp/dists/$d/$s/source/Sources.gz >> Sources.$d
                        if [ "$d" = "testing" -o "$d" = "stable" ]; then
-                               if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/$d-proposed-updates/non-US/$s/source/Sources.gz; then
-                                       mv Sources.gz Sources-non-us.$d-p-u.$s.gz
-                               fi
-                               gzip -dc Sources-non-us.$d-p-u.$s.gz >> Sources.$d
                                gzip -dc /org/ftp.debian.org/ftp/dists/$d-proposed-updates/$s/source/Sources.gz >> Sources.$d
                        fi
 
                        rm -f Packages.gz
                        for a in $ARCHS ; do
-                               if [ "$NON_US" = "true" ]; then
-                                       if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/$d/non-US/$s/binary-$a/Packages.gz; then
-                                               mv Packages.gz Packages-non-us.$d.$s.$a.gz
-                                       fi
-                               fi
-                               gzip -dc Packages-non-us.$d.$s.$a.gz >> Packages.$d.$a
-
                                gzip -dc /org/ftp.debian.org/ftp/dists/$d/$s/binary-$a/Packages.gz >> Packages.$d.$a
                                if [ "$d" = "testing" -o "$d" = "stable" ]; then
-                                       if [ "$NON_US" = "true" ]; then
-                                               if wget $WGETOPT http://non-us.debian.org/debian-non-US/dists/$d-proposed-updates/non-US/$s/binary-$a/Packages.gz; then
-                                                       mv Packages.gz Packages-non-us.$d-p-u.$s.$a.gz
-                                               fi
-                                       fi
-                                       gzip -dc Packages-non-us.$d-p-u.$s.$a.gz >> Packages.$d.$a
                                        gzip -dc /org/ftp.debian.org/ftp/dists/$d-proposed-updates/$s/binary-$a/Packages.gz >> Packages.$d.$a
                                fi
                                if [ "$d" = "unstable" -a "$s" = "main" ]; then
@@ -144,7 +126,15 @@ for d in $DISTS ; 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
-                       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 >> quinn-$d.$a
+                       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
+                               sed -e 's/\[\w*:\w*]$//' quinn-$d-security.$a > quinn-$d-security.$a.grep
+                               grep -vf quinn-$d-security.$a quinn-$d.$a > quinn-$d.$a.grep
+                               mv quinn-$d.$a.grep quinn-$d.$a
+                               rm quinn-$d-security.$a.grep
+                       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
        done
 done
@@ -156,6 +146,11 @@ for a in $ARCHS_unstable ; do
        for d in $DISTS ; do
                dist=`echo $d | sed s/-.*$//`
                case "$dist" in
+                       oldstable)
+                               if echo $ARCHS_oldstable | grep -q -v "\b$a\b"; then
+                                       continue
+                               fi
+                               ;;
                        stable)
                                if echo $ARCHS_stable | grep -q -v "\b$a\b"; then
                                        continue
@@ -172,16 +167,14 @@ for a in $ARCHS_unstable ; do
                                fi
                                ;;
                esac
-               wanna-build --merge-packages --arch=$a --dist=$d --database=$a/build-db Packages.$d.$a
-               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
+               perl -pi -e 's#^(non-free)/.*$##msg' quinn-$d.$a
+               wanna-build --merge-all --arch=$a --dist=$d --database=$a/build-db Packages.$d.$a quinn-$d.$a Sources.$d
                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
@@ -195,3 +188,9 @@ echo "merge ended `date`"
 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