X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian-security%2Fcron.buildd;h=043d5481d1155401fa8bb1828cba27ffe8eb2c29;hb=c35377bd1fb884034708f74511f16aa06fca1d8a;hp=e52cbb4a8c4d084d499761b370052b44cdbd5926;hpb=2380849f2c632e17b8318e344e8af20e97c6bde9;p=dak.git diff --git a/config/debian-security/cron.buildd b/config/debian-security/cron.buildd index e52cbb4a..043d5481 100755 --- a/config/debian-security/cron.buildd +++ b/config/debian-security/cron.buildd @@ -11,12 +11,12 @@ SSH_SOCKET=~/.ssh/buildd.debian.org.socket DISTS=$(dak admin s list) if [ -e $ftpdir/Archive_Maintenance_In_Progress ]; then - exit 0 + exit 0 fi for dist in $DISTS; do - eval SOURCES_$dist=`stat -c "%Y" $base/buildd/$dist/Sources.gz` - eval PACKAGES_$dist=`stat -c "%Y" $base/buildd/$dist/Packages.gz` + eval SOURCES_$dist=`stat -c "%Y" $base/buildd/$dist/Sources.gz` + eval PACKAGES_$dist=`stat -c "%Y" $base/buildd/$dist/Packages.gz` done cd $configdir @@ -25,8 +25,9 @@ apt-ftparchive -qq -o APT::FTPArchive::Contents=off generate apt.conf.buildd cd ${base}/buildd for dist in $DISTS; do rm -f $dist/Release* - archs=$(dak admin s-a list-arch $dist | tr '\n' ' ') - apt-ftparchive -qq -o APT::FTPArchive::Release::Origin="Debian" -o APT::FTPArchive::Release::Label="Debian" -o APT::FTPArchive::Release::Description="buildd $dist security" -o APT::FTPArchive::Release::Architectures="${archs}" release $dist > Release + darchs=$(dak admin s-a list-arch $dist | tr '\n' ' ') + codename=$(dak admin s show ${dist} | grep ^Codename | awk '{print $2}') + apt-ftparchive -qq -o APT::FTPArchive::Release::Codename="${codename}" -o APT::FTPArchive::Release::Origin="Debian" -o APT::FTPArchive::Release::Label="Debian" -o APT::FTPArchive::Release::Description="buildd $dist security" -o APT::FTPArchive::Release::Architectures="${darchs}" release $dist > Release gpg --secret-keyring ${base}/s3kr1t/dot-gnupg/secring.gpg --keyring ${base}/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 55BE302B --detach-sign -o Release.gpg Release mv Release* $dist/. done @@ -35,39 +36,54 @@ dists= for dist in $DISTS; do - eval NEW_SOURCES_$dist=`stat -c "%Y" $base/buildd/$dist/Sources.gz` - eval NEW_PACKAGES_$dist=`stat -c "%Y" $base/buildd/$dist/Packages.gz` - old=SOURCES_$dist + eval NEW_SOURCES_$dist=`stat -c "%Y" $base/buildd/$dist/Sources.gz` + eval NEW_PACKAGES_$dist=`stat -c "%Y" $base/buildd/$dist/Packages.gz` + old=SOURCES_$dist new=NEW_$old if [ ${!new} -gt ${!old} ]; then - if [ -z "$dists" ]; then - dists="$dist" - else - dists="$dists $dist" - fi - continue - fi - old=PACKAGES_$dist - new=NEW_$old + if [ -z "$dists" ]; then + dists="$dist" + else + dists="$dists $dist" + fi + continue + fi + old=PACKAGES_$dist + new=NEW_$old if [ ${!new} -gt ${!old} ]; then - if [ -z "$dists" ]; then - dists="$dist" - else - dists="$dists $dist" - fi - continue - fi + if [ -z "$dists" ]; then + dists="$dist" + else + dists="$dists $dist" + fi + continue + fi done if [ ! -z "$dists" ]; then - # setup ssh master process - ssh wbadm@buildd -S $SSH_SOCKET -MN 2> /dev/null & - SSH_PID=$! - while [ ! -S $SSH_SOCKET ]; do - sleep 1 - done - trap 'kill -TERM $SSH_PID' 0 - for d in $dists; do - ssh wbadm@buildd -S $SSH_SOCKET trigger.security $d - done + # setup ssh master process + ssh wbadm@buildd -S $SSH_SOCKET -MN 2> /dev/null & + SSH_PID=$! + while [ ! -S $SSH_SOCKET ]; do + sleep 1 + done + trap 'kill -TERM $SSH_PID' 0 + for d in $dists; do + case $d in + oldstable) + send=lenny + ;; + stable) + send=squeeze + ;; + testing) + send=testing + ;; + *) + send=unknown + ;; + esac + + ssh wbadm@buildd -S $SSH_SOCKET trigger.security $send + done fi