X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=498999eb5f879c0e394064f7cfc7b268c4cb2648;hb=2b6bf8a972c6d40b6f5686aa7676dc45e1e65850;hp=650638520b1ffba230b764a70d9ecdfeade84a9c;hpb=55610b31c864b3d2334a3d3f079350543d3cf784;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index 65063852..498999eb 100644 --- a/config/debian/dinstall.functions +++ b/config/debian/dinstall.functions @@ -87,7 +87,7 @@ function i18n1() { # Lets check! if ${scriptsdir}/ddtp-i18n-check.sh . ${scriptdir}/i18n/${TSTAMP}; then # Yay, worked, lets copy around - for dir in stretch sid; do + for dir in ${extimportdists}; do if [ -d dists/${dir}/ ]; then cd dists/${dir}/main/i18n rsync -aq --delete --delete-after --exclude Translation-en.bz2 --exclude Translation-*.diff/ . ${ftpdir}/dists/${dir}/main/i18n/. @@ -112,20 +112,21 @@ function i18n1() { function dep11() { log "Synchronizing AppStream metadata" # First sync their newest data - mkdir -p ${scriptdir}/dep11 - cd ${scriptdir}/dep11 + local dep11dir="${scriptdir}/dep11" + mkdir -p ${dep11dir} + cd ${dep11dir} rsync -aq --delete --delete-after dep11-sync:/does/not/matter . || true # Lets check! - if ${scriptsdir}/dep11-basic-validate.py . ${scriptdir}/dep11/; then + if ${scriptsdir}/dep11-basic-validate.py . ${dep11dir}/; then # Yay, worked, lets copy around - for dir in stretch sid; do + for dir in ${extimportdists}; 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 + cd ${dep11dir} done fi done @@ -614,8 +615,8 @@ function logstats() { # save timestamp when we start function savetimestamp() { - NOW=`date "+%Y.%m.%d-%H:%M:%S"` - echo ${NOW} > "${dbdir}/dinstallstart" + NOW=`date "+%Y.%m.%d-%H:%M:%S"` + echo ${NOW} > "${dbdir}/dinstallstart" } function maillogfile() { @@ -626,14 +627,6 @@ function testingsourcelist() { dak ls -s testing -f heidi -r .| egrep 'source$' > ${webdir}/testing.list } -# do a last run of process-unchecked before dinstall is on. -function process_unchecked() { - log "Processing the unchecked queue" - UNCHECKED_WITHOUT_LOCK="-p" - do_unchecked - sync_debbugs -} - # Function to update a "statefile" telling people what we are doing # (more or less). # @@ -670,35 +663,21 @@ function changelogs() { fi } -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; - done +function signotherfiles() { + log "Signing extra mirror files" + + local archiveroot - # Second, add all there is into git - cd dists - git add . - # Maybe we want to make this the same for tag and commit? But well, shouldn't matter - COMD=$(date -Is) - TAGD=$(date +%Y-%m-%d-%H-%M) - git commit -m "Commit of ${COMD}" - git tag "${TAGD}" - } + 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} + done +}