提交 8154d2b2 编写于 作者: J Joerg Jaspert

rsyncable

use --rsyncable for most of our gzip compressions.

For Packages.gz ... 2% bigger, 1/8th of the transfer
For Contents-lala.gz ... ~4% bigger, 1/4th of the transfer
Signed-off-by: NJoerg Jaspert <joerg@debian.org>
上级 ec13716a
...@@ -252,6 +252,7 @@ function mpfm() { ...@@ -252,6 +252,7 @@ function mpfm() {
function packages() { function packages() {
log "Generating Packages and Sources files" log "Generating Packages and Sources files"
cd $configdir cd $configdir
GZIP='--rsyncable' ; export GZIP
apt-ftparchive generate apt.conf apt-ftparchive generate apt.conf
} }
......
...@@ -254,7 +254,7 @@ def genchanges(Options, outdir, oldfile, origfile, maxdiffs = 14): ...@@ -254,7 +254,7 @@ def genchanges(Options, outdir, oldfile, origfile, maxdiffs = 14):
if not os.path.isdir(outdir): if not os.path.isdir(outdir):
os.mkdir(outdir) os.mkdir(outdir)
w = os.popen("diff --ed - %s | gzip -c -9 > %s.gz" % w = os.popen("diff --ed - %s | gzip --rsyncable -c -9 > %s.gz" %
(newfile, difffile), "w") (newfile, difffile), "w")
pipe_file(oldf, w) pipe_file(oldf, w)
oldf.close() oldf.close()
......
...@@ -27,7 +27,7 @@ echo "Generating sources list..." ...@@ -27,7 +27,7 @@ echo "Generating sources list..."
cd $base/ftp cd $base/ftp
find ./dists -maxdepth 1 \! -type d find ./dists -maxdepth 1 \! -type d
find ./dists \! -type d | grep "/source/" find ./dists \! -type d | grep "/source/"
) | sort -u | gzip -9 > source.list.gz ) | sort -u | gzip --rsyncable -9 > source.list.gz
echo "Generating arch lists..." echo "Generating arch lists..."
...@@ -39,7 +39,7 @@ for a in $ARCHES; do ...@@ -39,7 +39,7 @@ for a in $ARCHES; do
cd $base/ftp cd $base/ftp
find ./dists -maxdepth 1 \! -type d find ./dists -maxdepth 1 \! -type d
find ./dists \! -type d | grep -E "(proposed-updates.*_$a.changes$|/main/disks-$a/|/main/installer-$a/|/Contents-$a|/binary-$a/)" find ./dists \! -type d | grep -E "(proposed-updates.*_$a.changes$|/main/disks-$a/|/main/installer-$a/|/Contents-$a|/binary-$a/)"
) | sort -u | gzip -9 > arch-$a.list.gz ) | sort -u | gzip --rsyncable -9 > arch-$a.list.gz
done done
echo "Generating suite lists..." echo "Generating suite lists..."
...@@ -62,7 +62,7 @@ printf 'SELECT id, suite_name FROM suite\n' | psql -F' ' -At projectb | ...@@ -62,7 +62,7 @@ printf 'SELECT id, suite_name FROM suite\n' | psql -F' ' -At projectb |
done done
) )
suite_list $id | tr -d ' ' | sed 's,^/srv/ftp.debian.org/ftp,.,' suite_list $id | tr -d ' ' | sed 's,^/srv/ftp.debian.org/ftp,.,'
) | sort -u | gzip -9 > suite-${suite}.list.gz ) | sort -u | gzip --rsyncable -9 > suite-${suite}.list.gz
done done
echo "Finding everything on the ftp site to generate sundries $(date +"%X")..." echo "Finding everything on the ftp site to generate sundries $(date +"%X")..."
...@@ -83,7 +83,7 @@ done ...@@ -83,7 +83,7 @@ done
(cd $base/ftp/ (cd $base/ftp/
for dist in sid squeeze; do for dist in sid squeeze; do
find ./dists/$dist/main/i18n/ \! -type d | sort -u | gzip -9 > $base/ftp/indices/files/components/translation-$dist.list.gz find ./dists/$dist/main/i18n/ \! -type d | sort -u | gzip --rsyncable -9 > $base/ftp/indices/files/components/translation-$dist.list.gz
done done
) )
......
...@@ -26,11 +26,11 @@ if [ -r ${filename}.gz ] ; then ...@@ -26,11 +26,11 @@ if [ -r ${filename}.gz ] ; then
mv -f ${filename}.gz $filename.old.gz mv -f ${filename}.gz $filename.old.gz
mv -f .$filename.new $filename mv -f .$filename.new $filename
rm -f $filename.patch.gz rm -f $filename.patch.gz
zcat $filename.old.gz | diff -u - $filename | gzip -9cfn - >$filename.patch.gz zcat $filename.old.gz | diff -u - $filename | gzip --rsyncable -9cfn - >$filename.patch.gz
rm -f $filename.old.gz rm -f $filename.old.gz
else else
mv -f .$filename.new $filename mv -f .$filename.new $filename
fi fi
gzip -9cfN $filename >$filename.gz gzip --rsyncable -9cfN $filename >$filename.gz
rm -f $filename rm -f $filename
...@@ -17,7 +17,7 @@ set -e ...@@ -17,7 +17,7 @@ set -e
if [ $rc = 1 ] || [ ! -f Maintainers ] ; then if [ $rc = 1 ] || [ ! -f Maintainers ] ; then
echo -n "installing Maintainers ... " echo -n "installing Maintainers ... "
mv -f .new-maintainers Maintainers mv -f .new-maintainers Maintainers
gzip -9v <Maintainers >.new-maintainers.gz gzip --rsyncable -9v <Maintainers >.new-maintainers.gz
mv -f .new-maintainers.gz Maintainers.gz mv -f .new-maintainers.gz Maintainers.gz
elif [ $rc = 0 ] ; then elif [ $rc = 0 ] ; then
echo '(same as before)' echo '(same as before)'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册