X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=26c1c8b8bd33c5a0fc30480468c82991cefbcd12;hb=2df1ebdd5dc4423d8425311c0de28d5adfbc9fa8;hp=f1e49e4244cc844e75c6b4971fa150d4845a8ecd;hpb=67b6abb95803ccd67d999f5f0174310776927534;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index f1e49e42..26c1c8b8 100644 --- a/config/debian/dinstall.functions +++ b/config/debian/dinstall.functions @@ -129,9 +129,9 @@ function cruft() { dak check-overrides } -function msfl() { - log "Generating suite file lists for apt-ftparchive" - dak make-suite-file-list +function dominate() { + log "Removing obsolete source and binary associations" + dak dominate } function filelist() { @@ -202,8 +202,7 @@ function release() { function dakcleanup() { log "Cleanup old packages/files" - # TODO: Fix up clean-suites - #dak clean-suites -m 10000 + dak clean-suites -m 10000 dak clean-queues } @@ -248,54 +247,41 @@ function mklslar() { } function mkmaintainers() { - log -n 'Creating Maintainers index ... ' + log 'Creating Maintainers index ... ' cd $indices dak make-maintainers ${scriptdir}/masterfiles/pseudo-packages.maintainers | \ - sed -e "s/~[^ ]*\([ ]\)/\1/" | awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers - - set +e - cmp .new-maintainers Maintainers >/dev/null - rc=$? - set -e - if [ $rc = 1 ] || [ ! -f Maintainers ] ; then - log -n "installing Maintainers ... " + sed -e "s/~[^ ]*\([ ]\)/\1/" | \ + awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers + + if ! cmp -s .new-maintainers Maintainers || [ ! -f Maintainers ]; then + log "installing Maintainers ... " mv -f .new-maintainers Maintainers gzip --rsyncable -9v .new-maintainers.gz mv -f .new-maintainers.gz Maintainers.gz - elif [ $rc = 0 ] ; then - log '(same as before)' - rm -f .new-maintainers else - log cmp returned $rc - false + rm -f .new-maintainers fi } function copyoverrides() { log 'Copying override files into public view ...' - for f in $copyoverrides ; do + for ofile in $copyoverrides ; do cd $overridedir - chmod g+w override.$f + chmod g+w override.$ofile cd $indices - rm -f .newover-$f.gz - pc="`gzip 2>&1 -9nv <$overridedir/override.$f >.newover-$f.gz`" - set +e - nf=override.$f.gz - cmp -s .newover-$f.gz $nf - rc=$? - set -e - if [ $rc = 0 ]; then - rm -f .newover-$f.gz - elif [ $rc = 1 -o ! -f $nf ]; then - log " installing new $nf $pc" - mv -f .newover-$f.gz $nf - chmod g+w $nf - else - log $? $pc - exit 1 + + newofile=override.$ofile.gz + rm -f .newover-$ofile.gz + pc="`gzip 2>&1 -9nv <$overridedir/override.$ofile >.newover-$ofile.gz`" + if ! cmp -s .newover-$ofile.gz $newofile || [ ! -f $newofile ]; then + log " installing new $newofile $pc" + mv -f .newover-$ofile.gz $newofile + chmod g+w $newofile + else + rm -f .newover-$ofile.gz fi done } @@ -316,7 +302,7 @@ function mkfilesindices() { perl -e '@nonpool=(); while (<>) { if (m,^\./pool/,) { print; } else { push @nonpool, $_; } } print for (@nonpool);' } - log "Generating sources list + log "Generating sources list" ( sed -n 's/|$//p' $ARCHLIST cd $base/ftp @@ -324,7 +310,7 @@ function mkfilesindices() { find ./dists \! -type d | grep "/source/" ) | sort -u | gzip --rsyncable -9 > source.list.gz - log "Generating arch lists + log "Generating arch lists" ARCHES=$( (<$ARCHLIST sed -n 's/^.*|//p'; echo amd64) | grep . | grep -v all | sort -u) for a in $ARCHES; do @@ -361,7 +347,6 @@ function mkfilesindices() { done log "Finding everything on the ftp site to generate sundries" - (cd $base/ftp; find . \! -type d \! -name 'Archive_Maintenance_In_Progress' | sort) >$ARCHLIST rm -f sundries.list @@ -401,15 +386,6 @@ function mkchecksums() { ${bindir}/dsync-flist -q link-dups $dsynclist || true } -function scripts() { - log "Running various scripts from $scriptsdir" - mkmaintainers - copyoverrides - mklslar - mkfilesindices - mkchecksums -} - function mirror() { log "Regenerating \"public\" mirror/ hardlink fun" cd ${mirrordir} @@ -418,7 +394,7 @@ function mirror() { function wb() { log "Trigger daily wanna-build run" - ssh -o BatchMode=yes -o SetupTimeOut=90 -o ConnectTimeout=90 wbadm@buildd /org/wanna-build/trigger.daily || echo "W-B trigger.daily failed" | mail -s "W-B Daily trigger failed" ftpmaster@ftp-master.debian.org + wbtrigger "daily" } function expire() {