]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/common
config/debian/*: generate old-style buildd archive for squeeze-backports
[dak.git] / config / debian / common
index 0bab7bd260ca1c8af1d21e6eb71f825a3a9b3d8f..1e26ed990861e37ea4de8f53691bc979d659bec7 100644 (file)
@@ -33,11 +33,15 @@ function wbtrigger() {
 
 # used by cron.dinstall *and* cron.unchecked.
 function make_buildd_dir () {
+    local overridesuite
+    local suite
+
     dak manage-build-queues -a
     dak generate-packages-sources2 -a build-queues
-    dak generate-releases -a build-queues
+    dak generate-releases -a build-queues >/dev/null
+    ${scriptsdir}/update-buildd-archive ${base}/build-queues ${incoming}/debian-buildd
 
-    for suite in unstable experimental; do
+    for suite in unstable experimental squeeze-backports; do
         rm -rf "$incoming/dists/$suite/buildd"
         dak export-suite -s "buildd-$suite" -d "$incoming/dists/$suite/buildd"
     done
@@ -51,15 +55,20 @@ function make_buildd_dir () {
         if [ "${suite}x" = "projectx" ]; then continue; fi
         cd ${incoming}/dists/${suite}/buildd
 
-        dpkg-scanpackages . $overridedir/override.sid.all3 >Packages
+        overridesuite=sid
+        if [ "${suite}" = "squeeze-backports" ]; then
+            overridesuite="${suite}"
+        fi
+
+        apt-ftparchive packages . $overridedir/override.${overridesuite}.all3 >Packages
         gzip -9c --rsyncable <Packages >Packages.gz
-        dpkg-scansources . $override/override.sid.all3.src >Sources
+        apt-ftparchive sources . $overridedir/override.${overridesuite}.all3 >Sources
         gzip -9c --rsyncable <Sources >Sources.gz
 
         rm -f buildd/Release
         cd ..
         apt-ftparchive -qq -o APT::FTPArchive::Release::Origin="Debian" -o APT::FTPArchive::Release::Label="Debian" -o APT::FTPArchive::Release::Description="buildd $suite incoming" -o APT::FTPArchive::Release::Architectures="$archs" release buildd >Release
-        if [ "$suite" = "experimental" ]; then
+        if [ "$suite" = "experimental" -o "${suite}" = "squeeze-backports" ]; then
             echo "NotAutomatic: yes" >>Release
         fi
 
@@ -68,6 +77,8 @@ function make_buildd_dir () {
         mv Release Release.gpg buildd/
     done
 
+    STAMP=${STAMP:-$(date "+%Y%m%d%H%M")}
+
     for dist in $(ls -1 ${incoming}/dists/); do
         # Skip project trace directory
         if [ "${dist}x" = "projectx" ]; then continue; fi
@@ -89,9 +100,13 @@ function punew_do() {
 
     dak generate-packages-sources2 -s "${queue}"
 
-    local exportdir="${queuedir}/${qdir}/export"
-    rm -rf "${exportdir}"
+    STAMP=${STAMP:-$(date "+%Y%m%d%H%M")}
+
+    local exportdir="${queuedir}${qdir}/tree/${STAMP}"
+    local targetdir="${queuedir}${qdir}/export"
     dak export -q "${queue}" -d "${exportdir}" --all
+    ln -sfT ${exportdir} ${targetdir}
+    find ${queuedir}${qdir}/tree -mindepth 1 -maxdepth 1 -not -name "${STAMP}" -type d -print0 | xargs --no-run-if-empty -0 rm -rf
 }
 
 # These versions used in dinstall
@@ -122,6 +137,7 @@ function do_unchecked () {
 
     echo "$timestamp": ${changes:-"Nothing to do"}  >> $report
     dak process-upload -a ${UNCHECKED_WITHOUT_LOCK} -d "$unchecked" >> $report
+    dak process-commands -d "$unchecked" >> $report
 }
 
 # process NEW policy queue
@@ -130,7 +146,10 @@ function do_new () {
        log "Doing NEW processing"
     fi
     (dak process-policy new; dak process-policy byhand) | mail -a "X-Debian: DAK" -e -s "NEW and BYHAND processing" ftpmaster@ftp-master.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
-    dak clean-suites -a new
+
+    dak process-policy backports-new | mail -a "X-Debian: DAK" -e -s "NEW processing for backports-new" team@backports.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
+
+    dak clean-suites -a new,backports-new
 }
 
 function sync_debbugs () {
@@ -172,3 +191,14 @@ function pg_timestamp() {
     log "Saving postgres transaction id for ${tsname}"
     psql -tAc 'select txid_current();' > $base/backup/txid_${tsname}_$(date +%Y.%m.%d-%H:%M:%S)
 }
+
+function get_archiveroot() {
+    local archivename="$1"
+    local query="SELECT path FROM archive WHERE name='${archivename}'"
+    local archiveroot="$(psql -tAc "${query}")"
+    if [ -z "${archiveroot}" ]; then
+        echo "get_archiveroot: couldn't get archiveroot for '${archivename}'" >&2
+        return 1
+    fi
+    echo "${archiveroot}"
+}