X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=wanna-build%2Ftrigger.daily;h=caf99f46423dde92a713f0d16540f84e6266254f;hb=bfa2095bc1519f2b31faf9d2cde70ea6ef32adbc;hp=8d80dbd4797866a745c1deeffd4aa8d411030475;hpb=a28cb5af382c0a7601451f65b90def4ab69021e4;p=dak.git diff --git a/wanna-build/trigger.daily b/wanna-build/trigger.daily index 8d80dbd4..caf99f46 100755 --- a/wanna-build/trigger.daily +++ b/wanna-build/trigger.daily @@ -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