[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] First set of dinstall changes for backports merge



Still missing is everything that makes the backports archive public,
e.g. the mirror push itself.
---
 config/debian/common             |   16 ++++++++++-
 config/debian/dinstall.functions |   54 ++++++++++++++++++++++++++------------
 config/debian/vars               |    2 +
 3 files changed, 54 insertions(+), 18 deletions(-)

diff --git a/config/debian/common b/config/debian/common
index bb799fc..7dcd339 100644
--- a/config/debian/common
+++ b/config/debian/common
@@ -138,7 +138,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 () {
@@ -180,3 +183,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}"
+}
diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions
index 4836f53..ee1b58e 100644
--- a/config/debian/dinstall.functions
+++ b/config/debian/dinstall.functions
@@ -146,14 +146,21 @@ function overrides() {
 }
 
 function mpfm() {
+    local archiveroot
+
     log "Generating package / file mapping"
-    dak make-pkg-file-mapping ftp-master | bzip2 -9 > $base/ftp/indices/package-file.map.bz2
+    for archive in "${public_archives[@]}"; do
+        archiveroot="$(get_archiveroot "${archive}")"
+        dak make-pkg-file-mapping "${archive}" | bzip2 -9 > "${archiveroot}/indices/package-file.map.bz2"
+    done
 }
 
 function packages() {
     log "Generating Packages and Sources files"
-    dak generate-packages-sources2 -a ftp-master
-    dak contents generate -a ftp-master
+    for archive in "${public_archives[@]}"; do
+        dak generate-packages-sources2 -a "${archive}"
+        dak contents generate -a "${archive}"
+    done
 }
 
 function pdiff() {
@@ -170,8 +177,11 @@ function release() {
             $scriptsdir/generate-i18n-Index $dist;
         done
     )
+
     log "Generating Release files"
-    dak generate-releases -a ftp-master
+    for archive in "${public_archives[@]}"; do
+        dak generate-releases -a "${archive}"
+    done
 }
 
 function dakcleanup() {
@@ -188,28 +198,38 @@ function buildd_dir() {
 }
 
 function mklslar() {
-    cd $ftpdir
+    local archiveroot
+    local FILENAME=ls-lR
 
-    FILENAME=ls-lR
+    for archive in "${public_archives[@]}"; do
+        archiveroot="$(get_archiveroot "${archive}")"
+        cd "${archiveroot}"
 
-    log "Removing any core files ..."
-    find -type f -name core -print -delete
+        log "Removing any core files ..."
+        find -type f -name core -print -delete
 
-    log "Checking symlinks ..."
-    symlinks -rd .
+        log "Checking symlinks ..."
+        symlinks -rd .
 
-    log "Creating recursive directory listing ... "
-    rm -f ${FILENAME}.gz
-    TZ=UTC ls -lR | gzip -9c --rsyncable > ${FILENAME}.gz
+        log "Creating recursive directory listing ... "
+        rm -f ${FILENAME}.gz
+        TZ=UTC ls -lR | gzip -9c --rsyncable > ${FILENAME}.gz
+    done
 }
 
 function mkmaintainers() {
+    local archiveroot
+
     log 'Creating Maintainers index ... '
 
-    cd $indices
-    dak make-maintainers -a ftp-master ${scriptdir}/masterfiles/pseudo-packages.maintainers
-    gzip -9v --rsyncable <Maintainers >Maintainers.gz
-    gzip -9v --rsyncable <Uploaders >Uploaders.gz
+    for archive in "${public_archives[@]}"; do
+        archiveroot="$(get_archiveroot "${archive}")"
+        cd "${archiveroot}/indices"
+
+        dak make-maintainers -a "${archive}" ${scriptdir}/masterfiles/pseudo-packages.maintainers
+        gzip -9v --rsyncable <Maintainers >Maintainers.gz
+        gzip -9v --rsyncable <Uploaders >Uploaders.gz
+    done
 }
 
 function copyoverrides() {
diff --git a/config/debian/vars b/config/debian/vars
index cea5344..03a86a7 100644
--- a/config/debian/vars
+++ b/config/debian/vars
@@ -30,6 +30,8 @@ exportpublic=$public/rsync/export/
 
 ftpgroup=debadmin
 
+public_archives=(ftp-master backports)
+
 TMPDIR=${base}/tmp
 
 PATH=$masterdir:$PATH
-- 
1.7.2.5


Reply to: