X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fdinstall.functions;h=a7bf95ca8b8bd9d2a72deaef04ed55e5f13a1f7b;hb=01bea71d37e475eb08b1bc4e3e4fcd1cf62b078a;hp=c4a25a61396f561d9e140d8051984cc77600cbd5;hpb=a4eef13f8450fe8b109f4fafc074d50f0fda0a7c;p=dak.git diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions index c4a25a61..a7bf95ca 100644 --- a/config/debian/dinstall.functions +++ b/config/debian/dinstall.functions @@ -53,23 +53,6 @@ function updates() { $scriptsdir/update-pseudopackages.sh } -# Process (oldstable)-proposed-updates "NEW" queue -function punew_do() { - date -u -R >> REPORT - dak process-policy $1 | tee -a REPORT | mail -a "X-Debian: DAK" -e -s "NEW changes in $1" debian-release@lists.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org - echo >> REPORT -} -function punew() { - log "Doing automated p-u-new processing" - cd "${queuedir}/p-u-new" - punew_do "$1" -} -function opunew() { - log "Doing automated o-p-u-new processing" - cd "${queuedir}/o-p-u-new" - punew_do "$1" -} - # The first i18n one, syncing new descriptions function i18n1() { log "Synchronizing i18n package descriptions" @@ -91,7 +74,7 @@ function i18n1() { for dir in wheezy sid; do if [ -d dists/${dir}/ ]; then cd dists/${dir}/main/i18n - rsync -aq --delete --delete-after . ${ftpdir}/dists/${dir}/main/i18n/. + rsync -aq --delete --delete-after --exclude Translation-en.bz2 --exclude Translation-*.diff/ . ${ftpdir}/dists/${dir}/main/i18n/. fi cd ${scriptdir}/i18nsync done @@ -169,8 +152,6 @@ function mpfm() { function packages() { log "Generating Packages and Sources files" - #cd $configdir - #dak generate-packages-sources dak generate-packages-sources2 dak contents generate } @@ -181,6 +162,14 @@ function pdiff() { } function release() { + # XXX: disable once we can remove i18n/Index (#649314) + log "Generating i18n/Index" + ( + cd "$ftpdir/dists"; + for dist in testing unstable experimental proposed-updates testing-proposed-updates; do + $scriptsdir/generate-i18n-Index $dist; + done + ) log "Generating Release files" dak generate-releases } @@ -243,22 +232,10 @@ function mkmaintainers() { function copyoverrides() { log 'Copying override files into public view ...' - for ofile in $copyoverrides ; do - cd $overridedir - chmod g+w override.$ofile - - cd $indices - - 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 + for ofile in ${overridedir}/override.{squeeze,wheezy,sid}.{,extra.}{main,contrib,non-free}*; do + bname=${ofile##*/} + gzip -9cv --rsyncable ${ofile} > ${indices}/${bname}.gz + chmod g+w ${indices}/${bname}.gz done } @@ -269,7 +246,8 @@ function mkfilesindices() { ARCHLIST=$(tempfile) log "Querying postgres" - echo 'SELECT l.path, f.filename, a.arch_string FROM location l JOIN files f ON (f.location = l.id) LEFT OUTER JOIN (binaries b JOIN architecture a ON (b.architecture = a.id)) ON (f.id = b.file)' | psql -At | sed 's/|//;s,^/srv/ftp-master.debian.org/ftp,.,' | sort >$ARCHLIST + local query='SELECT l.path, f.filename, a.arch_string FROM location l JOIN files f ON (f.location = l.id) LEFT OUTER JOIN (binaries b JOIN architecture a ON (b.architecture = a.id)) ON (f.id = b.file)' + psql -At -c "$query" | sed 's/|//;s,^/srv/ftp-master.debian.org/ftp,.,' | sort >$ARCHLIST includedirs () { perl -ne 'print; while (m,/[^/]+$,) { $_=$`; print $_ . "\n" unless $d{$_}++; }' @@ -302,12 +280,15 @@ function mkfilesindices() { log "Generating suite lists" suite_list () { - printf 'SELECT DISTINCT l.path, f.filename FROM (SELECT sa.source AS source FROM src_associations sa WHERE sa.suite = %d UNION SELECT b.source AS source FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) WHERE ba.suite = %d) s JOIN dsc_files df ON (s.source = df.source) JOIN files f ON (df.file = f.id) JOIN location l ON (f.location = l.id)\n' $1 $1 | psql -F' ' -A -t + local query + query="$(printf 'SELECT DISTINCT l.path, f.filename FROM (SELECT sa.source AS source FROM src_associations sa WHERE sa.suite = %d UNION SELECT b.source AS source FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) WHERE ba.suite = %d) s JOIN dsc_files df ON (s.source = df.source) JOIN files f ON (df.file = f.id) JOIN location l ON (f.location = l.id)' $1 $1)" + psql -F' ' -A -t -c "$query" - printf 'SELECT l.path, f.filename FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) JOIN files f ON (b.file = f.id) JOIN location l ON (f.location = l.id) WHERE ba.suite = %d\n' $1 | psql -F' ' -A -t + query="$(printf 'SELECT l.path, f.filename FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) JOIN files f ON (b.file = f.id) JOIN location l ON (f.location = l.id) WHERE ba.suite = %d' $1)" + psql -F' ' -A -t -c "$query" } - printf 'SELECT id, suite_name FROM suite\n' | psql -F' ' -At | + psql -F' ' -At -c "SELECT id, suite_name FROM suite" | while read id suite; do [ -e $base/ftp/dists/$suite ] || continue ( @@ -418,14 +399,14 @@ function mirrorpush() { while read SHASUM SIZE NAME; do if ! [ -f "${subdir}/${NAME}" ]; then bname=$(basename ${NAME}) - if [ "${bname}" = "Packages" ] || [ "${bname}" = "Sources" ]; then + if [[ "${bname}" =~ ^(Packages|Sources|Translation-[a-zA-Z_]+)$ ]]; then # We don't keep unpacked files, don't check for their existance. # We might want to go and check their unpacked shasum, but right now # I don't care. I believe it should be enough if all the packed shasums # match. continue fi - broken=$(( broken + 1 )) + broken=$(( broken + 1 )) echo "File ${subdir}/${NAME} is missing" continue fi @@ -467,9 +448,12 @@ function i18n2() { STAMP=$(date "+%Y%m%d%H%M") mkdir -p ${scriptdir}/i18n/${STAMP} cd ${scriptdir}/i18n/${STAMP} - dak control-suite -l stable > squeeze - dak control-suite -l testing > wheezy - dak control-suite -l unstable > sid + for suite in stable testing unstable; do + codename=$(dak admin s show ${suite}|grep '^Codename') + codename=${codename##* } + echo "Codename is ${codename}" + dak control-suite -l ${suite} >${codename} + done echo "${STAMP}" > timestamp gpg --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 55BE302B --detach-sign -o timestamp.gpg timestamp rm -f md5sum