X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=faa063330c11bb5ce10a2f5ed6996a2bc4fadb01;hb=f9a5d2fc1826cc796b822f1d21c394545c942227;hp=21d75e004245e913fee9a72b8374a1e824e49236;hpb=0afe19266afa3f9995dd4e17c76cfbca8a9f1216;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index 21d75e00..faa06333 100644 --- a/config/debian/dinstall.functions +++ b/config/debian/dinstall.functions @@ -385,19 +385,26 @@ function mkfilesindices() { } function mkchecksums() { - dsynclist=$dbdir/dsync.list - md5list=$indices/md5sums + local archiveroot + + for archive in "${public_archives[@]}"; do + dsynclist=$dbdir/dsync.${archive}.list + md5list=$indices/md5sums - log -n "Creating md5 / dsync index file ... " + log -n "Creating md5 / dsync index file for ${archive}... " - cd "$ftpdir" - ${bindir}/dsync-flist -q generate $dsynclist --exclude $dsynclist --md5 - ${bindir}/dsync-flist -q md5sums $dsynclist | gzip -9n > ${md5list}.gz - ${bindir}/dsync-flist -q link-dups $dsynclist || true + archiveroot="$(get_archiveroot "${archive}")" + cd "$archiveroot" + ${bindir}/dsync-flist -q generate $dsynclist --exclude $dsynclist --md5 + ${bindir}/dsync-flist -q md5sums $dsynclist | gzip -9n > ${md5list}.gz + ${bindir}/dsync-flist -q link-dups $dsynclist || true + done } function mirror() { - log "Regenerating \"public\" mirror/ hardlink fun" + local archiveroot + + log "Regenerating \"public\" mirror/ hardlink fun for ${archive}" DATE_SERIAL=$(date +"%Y%m%d01") FILESOAPLUS1=$(awk '/serial/ { print $3+1 }' ${TRACEFILE} ) if [ "$DATE_SERIAL" -gt "$FILESOAPLUS1" ]; then @@ -409,8 +416,16 @@ function mirror() { echo "Using dak v1" >> ${TRACEFILE} echo "Running on host: $(hostname -f)" >> ${TRACEFILE} echo "Archive serial: ${SERIAL}" >> ${TRACEFILE} - cd ${mirrordir} - rsync -aH --link-dest ${ftpdir} --delete --delete-after --delete-excluded --exclude Packages.*.new --exclude Sources.*.new --ignore-errors ${ftpdir}/. . + + # Ugly "hack", but hey, it does what we want. + cp ${TRACEFILE} ${TRACEFILE_BDO} + + for archive in "${public_archives[@]}"; do + archiveroot="$(get_archiveroot "${archive}")" + mirrordir="${archiveroot}/../mirror" + cd ${mirrordir} + rsync -aH --link-dest ${archiveroot} --delete --delete-after --delete-excluded --exclude Packages.*.new --exclude Sources.*.new --ignore-errors ${archiveroot}/. . + done } function expire() { @@ -494,6 +509,7 @@ function mirrorpush() { echo "Using dak v1" >> /srv/ftp.debian.org/web/mirrorstart 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 & } function i18n2() {