]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/dinstall.functions
dinstall: also push debug mirrors
[dak.git] / config / debian / dinstall.functions
index 390c23b7606a3accb3bfb497a04969af8962eec3..5a03f1b2ba02290802347c7a1e77ae7dcf18246e 100644 (file)
@@ -97,6 +97,33 @@ function i18n1() {
     fi
 }
 
+# Syncing AppStream/DEP-11 data
+function dep11() {
+    log "Synchronizing AppStream metadata"
+    # First sync their newest data
+    mkdir -p ${scriptdir}/dep11
+    cd ${scriptdir}/dep11
+    rsync -aq --delete --delete-after dep11-sync:/does/not/matter . || true
+
+    # Lets check!
+    if ${scriptsdir}/dep11-basic-validate.py . ${scriptdir}/dep11/; then
+        # Yay, worked, lets copy around
+        for dir in stretch sid; do
+            if [ -d ${dir}/ ]; then
+                for comp in main contrib non-free; do
+                    mkdir -p ${ftpdir}/dists/${dir}/${comp}/dep11
+                    cd ${dir}/${comp}
+                    rsync -aq --delete --delete-after --exclude *.tmp . ${ftpdir}/dists/${dir}/${comp}/dep11/.
+                    cd ${scriptdir}/dep11
+                done
+            fi
+        done
+    else
+        echo "ARRRR, bad guys, wrong files, ARRR"
+        echo "Arf, Arf, Arf, bad guys, wrong files, arf, arf, arf" | mail -a "X-Debian: DAK" -s "Don't you kids take anything. I'm watching you. I've got eye implants in the back of my head." -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" mak@debian.org
+    fi
+}
+
 function cruft() {
     log "Checking for cruft in overrides"
     dak check-overrides
@@ -105,17 +132,13 @@ function cruft() {
 function dominate() {
     log "Removing obsolete source and binary associations"
     dak dominate
+    dak manage-debug-suites unstable-debug experimental-debug
 }
 
 function autocruft() {
     log "Check for obsolete binary packages"
-    # Initially only run with -n and output into a file, to check.
-    local dstamp=$(date -u +"%Y-%m-%d_%H:%M")
-    local report=${webdir}/auto-cruft-report_${dstamp}.txt
-    echo "Report for ${dstamp}" > ${report}
-    dak auto-decruft -n -s unstable >> ${report}
-    dak auto-decruft -n -s experimental --if-newer-version-in unstable --if-newer-version-in-rm-msg "NVIU" >> ${report}
-    cat ${report} | mail -a "X-Debian: DAK" -e -s "Debian archive AUTOMATIC cruft report for ${dstamp}" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" -c niels@thykier.net ftpmaster@ftp-master.debian.org
+    dak auto-decruft -s unstable
+    dak auto-decruft -s experimental --if-newer-version-in unstable --if-newer-version-in-rm-msg "NVIU"
 }
 
 function fingerprints() {
@@ -233,11 +256,14 @@ function mkmaintainers() {
 function copyoverrides() {
     log 'Copying override files into public view ...'
 
-    for ofile in ${overridedir}/override.{squeeze,wheezy,jessie,stretch,sid}.{,extra.}{main,contrib,non-free}*; do
-        bname=${ofile##*/}
-        gzip -9cv --rsyncable ${ofile} > ${indices}/${bname}.gz
-        chmod g+w ${indices}/${bname}.gz
-    done
+    (
+        shopt -s nullglob
+        for ofile in ${overridedir}/override.{squeeze,wheezy,jessie,stretch,sid}.{,extra.}{main,contrib,non-free}*; do
+            bname=${ofile##*/}
+            gzip -9cv --rsyncable ${ofile} > ${indices}/${bname}.gz
+            chmod g+w ${indices}/${bname}.gz
+        done
+    )
 }
 
 function mkfilesindices() {
@@ -413,7 +439,7 @@ function mirror() {
     # Ugly "hack", but hey, it does what we want.
     cp ${TRACEFILE} ${TRACEFILE_BDO}
 
-    for archive in "${public_archives[@]}"; do
+    for archive in ftp-master backports; do
         archiveroot="$(get_archiveroot "${archive}")"
         mirrordir="${archiveroot}/../mirror"
         cd ${mirrordir}
@@ -460,7 +486,8 @@ function mirrorpush() {
         while read SHASUM SIZE NAME; do
             if ! [ -f "${subdir}/${NAME}" ]; then
                bname=$(basename ${NAME})
-                if [[ "${bname}" =~ ^(Packages|Sources|Translation-[a-zA-Z_]+)$ ]]; then
+               if [[ "${bname}" =~ ^(Packages|Sources|Contents-[a-zA-Z0-9-]+|Translation-[a-zA-Z_]+|Components-(amd64|i386)\.yml|icons-(128x128|64x64)\.tar)$ ]]; then
+
                     # We don't keep unpacked files, don't check for their existance.
                     # We might want to go and check their unpacked shasum, but right now
                     # I don't care. I believe it should be enough if all the packed shasums
@@ -503,6 +530,7 @@ function mirrorpush() {
     echo "Running on host $(hostname -f)" >> /srv/ftp.debian.org/web/mirrorstart
     sudo -H -u archvsync /home/archvsync/runmirrors > ~dak/runmirrors.log 2>&1 &
     sudo -H -u archvsync /home/archvsync/runmirrors -a backports > ~dak/runmirrorsbpo.log 2>&1 &
+    sudo -H -u archvsync /home/archvsync/runmirrors -a debug > ~dak/runmirrors-debug.log 2>&1 &
 }
 
 function mirrorpush-backports() {
@@ -544,7 +572,7 @@ function stats() {
 function cleantransactions() {
     log "Cleanup transaction ids older than 3 months"
     cd $base/backup/
-    find -maxdepth 1 -mindepth 1 -type f -name 'txid_*' -mtime +90 -print0 | xargs -0 --no-run-if-empty rm
+    find -maxdepth 1 -mindepth 1 -type f -name 'txid_*' -mtime +90 -delete
 }
 
 function logstats() {