X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=5a03f1b2ba02290802347c7a1e77ae7dcf18246e;hb=f8f6565f9eddc13f287f1128ee5e401cd3bf01a0;hp=281d428782391cea5c8042c1acf492dc51a3ca48;hpb=99b369add85beec0a3335d5687bdf699d47da6b2;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index 281d4287..5a03f1b2 100644 --- a/config/debian/dinstall.functions +++ b/config/debian/dinstall.functions @@ -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 " mak@debian.org + fi +} + function cruft() { log "Checking for cruft in overrides" dak check-overrides @@ -105,18 +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" - suites=${1:-"unstable experimental"} - # Initially only run with -n and output into a file, to check. - dstamp=$(date -u +"%Y-%m-%d_%H:%M") - echo "Report for ${dstamp}" > $webdir/auto-cruft-report_${dstamp}.txt - for suite in ${suites}; do - dak auto-decruft -n -s ${suite} >> $webdir/auto-cruft-report_${dstamp}.txt - done - cat $webdir/auto-cruft-report_${dstamp}.txt | mail -a "X-Debian: DAK" -e -s "Debian archive AUTOMATIC cruft report for ${dstamp}" -a "From: Debian FTP Masters " -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() { @@ -234,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() { @@ -414,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} @@ -461,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 @@ -504,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() { @@ -545,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() {