cron.buildd 1.5 KB
Newer Older
1
#! /bin/bash
J
James Troup 已提交
2
#
3
# Executed after cron.unchecked
J
James Troup 已提交
4

5
ARCHS_oldstable="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc sparc s390"
J
Joerg Jaspert 已提交
6
ARCHS_stable="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc sparc s390"
7
ARCHS_testing="alpha amd64 armel hppa i386 ia64 mips mipsel powerpc sparc s390"
8
DISTS="oldstable stable testing"
9
SSH_SOCKET=~/.ssh/buildd.debian.org.socket
J
James Troup 已提交
10 11

set -e
12
export SCRIPTVARS=/org/security.debian.org/dak/config/debian-security/vars
J
James Troup 已提交
13 14
. $SCRIPTVARS

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
if [ -e $ftpdir/Archive_Maintenance_In_Progress ]; then
	exit 0
fi

cd $masterdir
for d in $DISTS; do
	eval SOURCES_$d=`stat -c "%Y" $base/buildd/$d/Sources.gz`
	eval PACKAGES_$d=`stat -c "%Y" $base/buildd/$d/Packages.gz`
done

apt-ftparchive -qq -o APT::FTPArchive::Contents=off generate apt.conf.buildd
dists=
for d in $DISTS; do
	eval NEW_SOURCES_$d=`stat -c "%Y" $base/buildd/$d/Sources.gz`
	eval NEW_PACKAGES_$d=`stat -c "%Y" $base/buildd/$d/Packages.gz`
	old=SOURCES_$d
        new=NEW_$old
        if [ ${!new} -gt ${!old} ]; then
		if [ -z "$dists" ]; then
			dists="$d"
		else
			dists="$dists $d"
37
		fi
38 39 40 41 42 43 44 45 46
		continue
	fi
	old=PACKAGES_$d
	new=NEW_$old
        if [ ${!new} -gt ${!old} ]; then
		if [ -z "$dists" ]; then
			dists="$d"
		else
			dists="$dists $d"
47
		fi
48 49 50 51 52 53
		continue
	fi
done

if [ ! -z "$dists" ]; then
	# setup ssh master process
J
Joerg Jaspert 已提交
54
	ssh wbadm@buildd -S $SSH_SOCKET -MN 2> /dev/null &
55 56 57
	SSH_PID=$!
	while [ ! -S $SSH_SOCKET ]; do
		sleep 1
J
James Troup 已提交
58
	done
59 60
	trap 'kill -TERM $SSH_PID' 0
	for d in $dists; do
61
		ssh wbadm@buildd -S $SSH_SOCKET trigger.security $d
62
	done
J
James Troup 已提交
63
fi
64