]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.unchecked
Publish security archive on all changes
[dak.git] / config / debian-security / cron.unchecked
index 784ac371f127fe7086f62e1788ad2840f4b77e72..d3403ca172d1c08d0d4d1725fa6c185001731928 100755 (executable)
@@ -18,6 +18,10 @@ doanything=false
 dopolicy=false
 LOCKFILE="$lockdir/unchecked.lock"
 
+last_changed() {
+    psql -qAtc "SELECT MAX(last_changed) FROM suite WHERE archive_id=(SELECT id FROM archive WHERE name='$1')"
+}
+
 cleanup() {
     rm -f "$LOCKFILE"
 }
@@ -28,14 +32,7 @@ if ! lockfile -r8 "$LOCKFILE"; then
 fi
 trap cleanup EXIT
 
-for queue in embargoed unembargoed; do
-    echo "$timestamp: processing ${queue}" >> ${report}
-    dak process-policy ${queue} | mail -a "X-Debian: DAK" -e -s "Automatically accepted from ${queue}" team@security.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
-done
-accepted=$(find ${queuedir}/accepted -type f -name "*.changes")
-if [ -n "${accepted}" ]; then
-    dopolicy=true
-fi
+old_last_changed=$(last_changed security)
 
 cd $unchecked
 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
@@ -47,13 +44,21 @@ fi
 
 cd $disembargo
 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
-
 if [ -n "$changes" ]; then
     doanything=true
     echo "$timestamp": ${changes:-"Nothing to do in disembargo"}  >> $reportdis
     dak process-upload -a -d "$disembargo" >> $reportdis
 fi
 
+for queue in embargoed unembargoed; do
+    echo "$timestamp: processing ${queue}" >> ${report}
+    dak process-policy ${queue} | mail -a "X-Debian: DAK" -e -s "Automatically accepted from ${queue}" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" team@security.debian.org
+done
+accepted=$(find ${queuedir}/accepted -type f -name "*.changes")
+if [ -n "${accepted}" ]; then
+    dopolicy=true
+fi
+
 # sync accepted files to ftpmaster
 cd ${base}
 find ${queuedir}/accepted -type f -exec mv -t /srv/queued/ftpmaster '{}' +
@@ -74,51 +79,25 @@ if [ "${doanything}" = "false" ] && [ "${dopolicy}" = "false" ]; then
     exit 0
 fi
 
+# Update stable-kfreebsd
+dak update-suite stable stable-kfreebsd
+
 # manage build queues
 dak manage-build-queues -a
 dak generate-packages-sources2 -a build-queues
 dak generate-releases -a build-queues >/dev/null
+${scriptsdir}/update-buildd-archive ${base}/build-queues ${incoming}/debian-security-buildd
 
-# export build queues in old format
-# XXX: This should be removed later.
-for suite in stable testing; do
-    overridecodename=$(dak admin suite show ${suite} | awk '$1 == "OverrideCodename:" { print $2 }')
-    rm -rf ${incoming}/${suite}.new
-    mkdir ${incoming}/${suite}.new
-    dak export-suite -s buildd-${suite} -d ${incoming}/${suite}.new
-
-    cd ${incoming}/${suite}.new
-    apt-ftparchive packages . ${overridedir}/override.${overridecodename}.all3 >Packages
-    gzip -9c --rsyncable <Packages >Packages.gz
-    apt-ftparchive sources . ${overridedir}/override.${overridecodename}.all3 >Sources
-    gzip -9c --rsyncable <Sources >Sources.gz
-    rm -f Release
-
-    cd ${incoming}
-    apt-ftparchive -qq -o APT::FTPArchive::Release::Origin="Debian" -o APT::FTPArchive::Release::Label="Debian" -o APT::FTPArchive::Release::Description="buildd $suite security" -o APT::FTPArchive::Release::Architectures="$archs" release ${suite}.new >${suite}.Release
-
-    gpg --secret-keyring /srv/security-master.debian.org/s3kr1t/dot-gnupg/secring.gpg --keyring /srv/security-master.debian.org/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 473041FA --detach-sign -o ${suite}.Release.gpg ${suite}.Release
-
-    mv ${suite}.Release ${suite}.new/Release
-    mv ${suite}.Release.gpg ${suite}.new/Release.gpg
-
-    if [ -d ${suite} ]; then
-       mv ${suite} ${suite}.old
-    fi
-    mv ${suite}.new ${suite}
-    rm -rf ${suite}.old
-done
+new_last_changed=$(last_changed security)
 
-if [ "x${dopolicy}x" = "xtruex" ]; then
+if [[ "${old_last_changed}" != "${new_last_changed}" ]]; then
     # We had something approved from a policy queue, push out new archive
     dak dominate
-    #dak generate-filelist
     cd $configdir
     $configdir/map.sh
-    #apt-ftparchive generate apt.conf
     dak generate-packages-sources2 -a security
-    dak generate-releases -a security
-    /srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh
+    dak generate-releases -a security >/dev/null
+    /srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh >/dev/null
     sudo -u archvsync -H /home/archvsync/signal_security
 fi