- log "Extracting changelogs"
- #dak make-changelog -e -a ftp-master
- mkdir -p ${exportpublic}/changelogs
- cd ${exportpublic}/changelogs
- rsync -aHW --delete --delete-after --ignore-errors ${exportdir}/changelogs/. .
- sudo -H -u archvsync /home/archvsync/runmirrors metaftpdo > ~dak/runmirrors-metadata.log 2>&1 &
-}
-
-function gitpdiff() {
- # Might be that we want to change this to have more than one git repository.
- # Advantage of one is that we do not need much space in terms of storage in git itself,
- # git gc is pretty good on our input.
- # But it might be faster. Well, lets test.
- log "Adjusting the git tree for pdiffs"
- cd ${dbdir}/git/git/
-
- # The regex needs the architectures seperated with \|
- garchs=$(dak admin a list|sed -e ':q;N;s/\n/\\|/g;t q')
-
- # First, get all the files we want to work on. ../dists/ is a symlink to the real dists/ we
- # want to work with.
- # Also, we only want contents, packages and sources.
- for file in $(find ../dists/ -regex ".*/\(Contents-\($archs\)\|\(Packages\|Sources\)\).gz"); do
- log "${file}"
- basen=${file%%.gz};
- basen=${basen##../};
- dir=${basen%/*};
- mkdir -p $dir;
- zcat $file > $basen;
+ if lockfile -r3 $LOCK_CHANGELOG; then
+ log "Extracting changelogs"
+ dak make-changelog -e -a ftp-master
+ [ -f ${exportdir}/changelogs/filelist.yaml ] && xz -f ${exportdir}/changelogs/filelist.yaml
+ mkdir -p ${exportpublic}/changelogs
+ cd ${exportpublic}/changelogs
+ rsync -aHW --delete --delete-after --ignore-errors ${exportdir}/changelogs/. .
+ sudo -H -u staticsync /usr/local/bin/static-update-component metadata.ftp-master.debian.org >/dev/null 2>&1 &
+
+ dak make-changelog -e -a backports
+ [ -f /srv/backports-master.debian.org/export/changelogs/filelist.yaml ] && xz -f /srv/backports-master.debian.org/export/changelogs/filelist.yaml
+ mkdir -p /srv/backports-master.debian.org/rsync/export/changelogs
+ cd /srv/backports-master.debian.org/rsync/export/changelogs
+ rsync -aHW --delete --delete-after --ignore-errors /srv/backports-master.debian.org/export/changelogs/. .
+ remove_changelog_lock
+ trap remove_changelog_lock EXIT TERM HUP INT QUIT
+ fi
+}
+
+# Generate a list of extra mirror files, sha256sum em and sign that
+function signotherfiles() {
+ log "Signing extra mirror files"
+
+ local archiveroot
+
+ for archive in "${public_archives[@]}"; do
+ log "... archive: ${archive}"
+ archiveroot="$(get_archiveroot "${archive}")"
+ local TMPLO=$( mktemp -p ${TMPDIR} )
+ trap "rm -f ${TMPLO}" ERR EXIT TERM HUP INT QUIT
+
+ cd ${archiveroot}
+ rm -f extrafiles
+ sha256sum $(find * -type f | egrep -v '(pool|i18n|dep11|source)/|Contents-.*\.(gz|diff)|installer|binary-|(In)?Release(.gpg)?|\.changes' | sort) > ${TMPLO}
+ gpg --no-options --batch --no-tty --armour --personal-digest-preferences=SHA256 --secret-keyring /srv/ftp-master.debian.org/s3kr1t/dot-gnupg/secring.gpg --keyring /srv/ftp-master.debian.org/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 473041FA --clearsign --output ${archiveroot}/extrafiles ${TMPLO}
+ rm -f ${TMPLO}