X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=26c1c8b8bd33c5a0fc30480468c82991cefbcd12;hb=7e8c25ac4f1a7084c3ddff80c42b6470f0c35ce8;hp=77ef651da6d220395abef131dfdcc30b2e138ab8;hpb=406692a03dacf3bd74d09c153802a3ea90886b7d;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index 77ef651d..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}