#!/bin/bash # # Updates wanna-build databases after the archive maintenance # finishes # # Files: # Sources-* == upstream fetched file # Sources.* == uncompressed, concat'd version # # RM: disabled for etch release LANG=C PATH="/bin:/usr/bin" TMPDIR="/org/wanna-build/tmp" LIBTRIGGER="/org/wanna-build/libtrigger.sh" WGETOPT="-q -t2 -w0 -T10" LOCKFILE="/org/wanna-build/tmp/DB_Maintenance_In_Progress" NEWARCH="" . "$LIBTRIGGER" if lockfile -! -l 3600 $LOCKFILE; then echo "Cannot lock $LOCKFILE" exit 1 fi cleanup() { rm -f "$LOCKFILE" } trap cleanup 0 umask 027 exec >> /org/wanna-build/db/merge.log 2>&1 echo -- echo "incoming merge triggered: `date`" cd $TMPDIR # # Make one big Packages and Sources file from accepted autobuilding. # rm -f Sources.unstable Sources.gz Packages.gz if wget $WGETOPT http://incoming.debian.org/buildd/Sources.gz; then mv Sources.gz Sources-unstable.accepted.gz fi if wget $WGETOPT http://incoming.debian.org/buildd/Packages.gz; then mv Packages.gz Packages-unstable.accepted.gz fi cp Sources.unstable.base Sources.unstable zcat Sources-unstable.accepted.gz >> Sources.unstable for a in $ARCHS_unstable; do rm -f Packages.unstable.$a cp Packages.unstable.$a.base Packages.unstable.$a zcat Packages-unstable.accepted.gz >> Packages.unstable.$a done umask 007 for a in $ARCHS_unstable ; do if [ "$a" = "$NEWARCH" ]; then 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 else 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 fi perl -pi -e 's#^(non-free)/.*$##msg' quinn-unstable.$a if [ "$a" = "$NEWARCH" ]; then wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable.$NEWARCH else wanna-build -v --merge-all --arch=$a --dist=unstable --database=$a/build-db Packages.unstable.$a quinn-unstable.$a Sources.unstable fi mv Packages.unstable.$a Packages.unstable.$a-old mv quinn-unstable.$a quinn-unstable.$a-old done mv Sources.unstable Sources.unstable-old echo "incoming merge ended: `date`" exit 0