+++ /dev/null
-#!/bin/bash
-#
-# Updates wanna-build databases after the archive maintenance
-# finishes
-#
-# Files:
-# Sources-* == upstream fetched file
-# Sources.* == uncompressed, concat'd version
-
-LANG=C
-PATH="/bin:/usr/bin:/org/wanna-build/bin"
-#testing must be before unstable so late upld don't build for testing needlessly
-DISTS="oldstable-security stable-security testing-security oldstable stable testing unstable experimental"
-# While oldstable is purged
-#DISTS="stable-security testing-security stable testing unstable"
-STATS_DISTS="unstable testing stable"
-SECTIONS="main contrib non-free"
-TMPDIR="/org/wanna-build/tmp"
-LIBTRIGGER="/org/wanna-build/libtrigger.sh"
-LOCKFILE="/org/wanna-build/tmp/DB_Maintenance_In_Progress"
-MASTER="http://incoming.debian.org/debian/dists"
-MASTERBUILDD="http://incoming.debian.org/buildd"
-SECMASTER="http://security-master.debian.org/debian-security/dists"
-SECMASTERBUILDD=http://security-master.debian.org/buildd
-NEWARCH=""
-
-. "$LIBTRIGGER"
-
-DAY=`date +%w`
-
-if lockfile -! -l 3600 $LOCKFILE; then
- echo "Cannot lock $LOCKFILE"
- exit 1
-fi
-
-cleanup() {
- rm -f "$LOCKFILE"
-}
-trap cleanup 0
-
-echo Dumping wanna-build databases...
-save-database pre
-
-echo Updating wanna-build databases...
-umask 027
-
-if [ "$DAY" = "0" ]; then
- savelog -c 64 -p /srv/wanna-build/db/merge.log
-fi
-
-exec 3<&1 >> /srv/wanna-build/db/merge.log 2>&1
-
-echo -------------------------------------------------------------------------
-echo "merge triggered: `date`"
-echo "merge triggered : `date -u`" >&3
-
-cd $TMPDIR
-
-#
-# Make one big Packages and Sources file.
-#
-for d in $DISTS; do
- dist=`echo $d | sed s/-.*$//`
- case "$dist" in
- oldstable)
- ARCHS="$ARCHS_oldstable"
- ;;
- stable)
- ARCHS="$ARCHS_stable"
- ;;
- testing)
- ARCHS="$ARCHS_testing"
- ;;
- *)
- ARCHS="$ARCHS_unstable"
- ;;
- esac
- rm -f Sources.$d Sources.$d-p-u
-
- for a in $ARCHS; do
- rm -f Packages.$d.$a Packages.$d-p-u.$a quinn-$d-p-u.$a
- done
-
- for s in $SECTIONS; do
- if echo $d | grep -qv -- -security; then
- curl_index "$MASTER/$dist/$s/source/Sources.gz" "Sources-$d.$s.gz" "Sources.$d"
- if [ "$d" != "unstable" -a "$d" != "experimental" ]; then
- curl_index "$MASTER/$dist-proposed-updates/$s/source/Sources.gz" "Sources-$d-proposed-updates.$s.gz" "Sources.$d-p-u"
- fi
-
- for a in $ARCHS; do
- curl_index "$MASTER/$dist/$s/binary-$a/Packages.gz" "Packages-$d.$s.$a.gz" "Packages.$d.$a"
- if [ "$d" != "unstable" -a "$d" != "experimental" ]; then
- curl_index "$MASTER/$dist-proposed-updates/$s/binary-$a/Packages.gz" "Packages-$d-proposed-updates.$s.$a.gz" "Packages.$d-p-u.$a"
- if [ "$d" != "oldstable" -o "$s" = "main" ]; then
- curl_index "$MASTER/$dist-proposed-updates/$s/debian-installer/binary-$a/Packages.gz" "Packages-$d-proposed-updates-debian-installer.$s.$a.gz" "Packages.$d-p-u.$a"
- fi
- fi
- if [ "$d" != "oldstable" -o "$s" = "main" ]; then
- curl_index "$MASTER/$d/$s/debian-installer/binary-$a/Packages.gz" "Packages-$d-debian-installer.$s.$a.gz" "Packages.$d.$a"
- fi
- done
- else
- curl_index "$SECMASTER/$dist/updates/$s/source/Sources.gz" "Sources-$d.$s.gz" "Sources.$d"
- if [ "$s" = "main" ]; then
- curl_index "$SECMASTERBUILDD/$dist/Sources.gz" "Sources-$d.accepted.gz" "Sources.$d"
- curl_index "$SECMASTERBUILDD/$dist/Packages.gz" "Packages-$d.accepted.gz" "/dev/null"
- fi
- for a in $ARCHS ; do
- curl_index "$SECMASTER/$dist/updates/$s/binary-$a/Packages.gz" "Packages-$d.$s.$a.gz" "Packages.$d.$a"
- if [ "$s" = "main" ]; then
- gzip -dc "Packages-$d.accepted.gz" >> "Packages.$d.$a"
- fi
- done
- fi
- done
-
-#
-# It's important that the accepted file is rebuilt before the daily run,
-# and that you have that should-be-empty version, to avoid unaccepts and
-# double builds.
-#
- if [ "$d" = "unstable" ]; then
- mv "Sources.$d" "Sources.$d.base"
- curl_index "$MASTERBUILDD/Sources.gz" "Sources-$d.accepted.gz" "/dev/null"
- rm -f "Sources-$d.accepted"
- gunzip "Sources-$d.accepted.gz"
- keep-latest source "Sources.$d.base" "Sources-$d.accepted" > "Sources.$d"
-
- curl_index "$MASTERBUILDD/Packages.gz" "Packages-$d.accepted.gz" "/dev/null"
- rm -f "Packages-$d.accepted"
- gunzip "Packages-$d.accepted.gz"
-
- for a in $ARCHS; do
- mv "Packages.$d.$a" "Packages.$d.$a.base"
- gzip -dc "Packages-$d.accepted.gz" >> "Packages.$d.$a"
- keep-latest $a "Packages.$d.$a.base" "Packages-$d.accepted" > "Packages.$d.$a"
- done
- else
- if [ -e "Sources.$d-p-u" ]; then
- cat "Sources.$d" >> "Sources.$d-p-u"
- fi
- fi
-
- for a in $ARCHS; do
- quinn-diff -A $a -a /srv/buildd.debian.org/web/quinn-diff/$dist/Packages-arch-specific -s Sources.$d -p Packages.$d.$a >> quinn-$d.$a 2>/dev/null
- if echo $d | grep -qv -- -security; then
- if [ "$d" != "unstable" -a "$d" != "experimental" ]; then
- cat "Packages.$d.$a" >> "Packages.$d-p-u.$a"
- quinn-diff -A $a -a /srv/buildd.debian.org/web/quinn-diff/$dist/Packages-arch-specific -s Sources.$d-p-u -p Packages.$d-p-u.$a >> quinn-$d-p-u.$a 2>/dev/null
- sed -e 's/\[[-a-z]*:[-a-z]*\]$//' quinn-$d.$a > quinn-$d.$a.grep
- if [ ! -z quinn-$d.$a.grep ]; then
- fgrep -vf quinn-$d.$a.grep quinn-$d-p-u.$a > quinn-$d.$a
- else
- cp quinn-$d-p-u.$a quinn-$d.$a
- fi
- rm quinn-$d.$a.grep
- mv "Packages.$d-p-u.$a" "Packages.$d.$a"
- fi
- fi
- done
- if [ -e "Sources.$d-p-u" ]; then
- mv "Sources.$d-p-u" "Sources.$d"
- fi
-done
-echo "fetch and quinn completed: `date -u`"
-echo "fetch and quinn completed: `date -u`" >&3
-
-umask 002
-# Gross hack: we need a list of all architectures, because this loop
-# insists on iterating on arches and then suites, instead of the
-# opposite.
-ALL_ARCHES=$(echo $ARCHS_oldstable $ARCHS_stable $ARCHS_testing $ARCHS_unstable \
- | tr ' ' '\n' | sort -u)
-for a in $ALL_ARCHES ; 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
- fi
- ;;
- testing)
- if echo $ARCHS_testing | grep -q -v "\b$a\b"; then
- continue
- fi
- ;;
- *)
- if echo $ARCHS_unstable | grep -q -v "\b$a\b"; then
- continue
- fi
- ;;
- esac
- # non-free is excluded for legal reasons. buildd needs to
- # confirm on a per-package and per-buildd basis whether or not
- # it is buildable
- perl -pi -e 's#^(non-free)/.*$##msg' quinn-$d.$a
- if [ "$a" = "$NEWARCH" ]; then
- wanna-build -v --merge-all --arch=$a --dist=$d --database=$a/build-db Packages.$d.$a quinn-$d.$a Sources.unstable.$NEWARCH
- else
- wanna-build -v --merge-all --arch=$a --dist=$d --database=$a/build-db Packages.$d.$a quinn-$d.$a Sources.$d
- fi
- mv Packages.$d.$a Packages.$d.$a-old
- mv quinn-$d.$a quinn-$d.$a-old
- done
-done
-umask 022
-for d in $DISTS; do
- mv Sources.$d Sources.$d-old
-done
-
-echo "merge ended: `date`"
-
-save-database post
-do_stats
-
+++ /dev/null
-#!/bin/bash
-#
-# Updates wanna-build databases after the archive maintenance
-# finishes
-#
-# Files:
-# Sources-* == upstream fetched file
-# Sources.* == uncompressed, concat'd version
-#
-
-LANG=C
-PATH="/bin:/usr/bin:/org/wanna-build/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
- rm -f Sources-unstable.accepted
- gunzip Sources-unstable.accepted.gz
-fi
-if wget $WGETOPT http://incoming.debian.org/buildd/Packages.gz; then
- mv Packages.gz Packages-unstable.accepted.gz
- rm -f Packages-unstable.accepted
- gunzip Packages-unstable.accepted.gz
-fi
-keep-latest source Sources.unstable.base Sources-unstable.accepted > Sources.unstable
-for a in $ARCHS_unstable; do
- rm -f Packages.unstable.$a
- keep-latest $a Packages.unstable.$a.base Packages-unstable.accepted > Packages.unstable.$a
-done
-
-umask 007
-for a in $ARCHS_unstable ; do
- if [ "$a" = "$NEWARCH" ]; then
- 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
- else
- 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
- 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
+++ /dev/null
-#!/bin/bash -e
-#
-# This is the equivalent of trigger.often for security.
-#
-# Calling convention: trigger.security $basedist
-# (i.e. the dist should not have a -security suffix)
-#
-
-if [ -n "$SSH_ORIGINAL_COMMAND" ]
-then
- set -- $SSH_ORIGINAL_COMMAND
- # The name of the script will be put into $1 instead of $0,
- # so shift the arguments to discard our name.
- shift
-fi
-
-LANG=C
-BASE_DIST="$1"
-SECMASTERBUILDD=http://security-master.debian.org/buildd
-BASEDIR="/org/wanna-build"
-TMPDIR="$BASEDIR/tmp"
-LIBTRIGGER="$BASEDIR/libtrigger.sh"
-LOCKFILE="$TMPDIR/DB_Maintenance_In_Progress"
-MERGELOG="$BASEDIR/db/merge.log"
-
-. "$LIBTRIGGER"
-
-if [ -z "$BASE_DIST" ]; then
- echo "E: no base suite specified."
- exit 1
-fi
-
-if lockfile -! -l 3600 "$LOCKFILE"; then
- echo "Cannot lock $LOCKFILE"
- exit 1
-fi
-
-cleanup() {
- rm -f "$LOCKFILE"
-}
-trap cleanup 0
-
-umask 027
-
-exec 3<&1 >> "$MERGELOG" 2>&1
-
-echo "security merge triggered for ${BASE_DIST}: `date`"
-
-cd "$TMPDIR"
-
-d="${BASE_DIST}-security"
-
-archs=ARCHS_${BASE_DIST}
-ARCHS=${!archs}
-
-echo "fetching $SECMASTERBUILDD/${BASE_DIST}/Sources.gz..."
-curl_index "$SECMASTERBUILDD/${BASE_DIST}/Sources.gz" "Sources-$d.accepted.gz" "Sources.$d.accepted"
-
-# NB: There is only one Packages file in the directory, with all
-# already built packages of all architectures in it. It could thus
-# be reused for every one of them afterwards and quinn-diff will
-# pick the right information.
-echo "fetching $SECMASTERBUILDD/${BASE_DIST}/Packages.gz..."
-curl_index "$SECMASTERBUILDD/${BASE_DIST}/Packages.gz" "Packages-$d.accepted.gz" "Packages.$d.accepted"
-
-for a in $ARCHS; do
- echo "processing $d/$a..."
- quinn-diff -i -A $a -a "/srv/buildd.debian.org/web/quinn-diff/${BASE_DIST}/Packages-arch-specific" -s "Sources.$d.accepted" -p "Packages.$d.accepted" > "quinn-$d.$a.accepted" 2>/dev/null
- wanna-build -d $d -b $a/build-db --merge-partial-quinn < "quinn-$d.$a.accepted"
- wanna-build -d $d -b $a/build-db -A $a --merge-packages < "Packages.$d.accepted"
- mv "quinn-$d.$a.accepted" "quinn-$d.$a.accepted-old"
-done
-
-mv "Sources.$d.accepted" "Sources.$d.accepted-old"
-mv "Packages.$d.accepted" "Packages.$d.accepted-old"
-
-echo "security merge for ${BASE_DIST} ended: `date`"
-exit 0
-