On Fri, Jan 04, 2013 at 05:41:41PM -0700, Eric Blake wrote: > On 01/04/2013 05:28 PM, Brad Smith wrote: > > On Thu, Aug 02, 2012 at 06:08:15AM -0400, Brad Smith wrote: > >> If a compression format other than gzip is used we might > >> as well move to xz instead of bzip2. > > Agreed, many projects are dropping bzip2 as irrelevant (slower than the > more-widely-available gz, compresses worse than newcomer xz). > > > +++ b/scripts/make-release > > @@ -20,5 +20,5 @@ git checkout "v${version}" > > git submodule update --init > > rm -rf .git roms/*/.git > > popd > > -tar cfj ${destination}.tar.bz2 ${destination} > > +XZ_OPT=-9 tar cfJ ${destination}.tar.xz ${destination} > > Do we really need -9?
No. There isn't much of a difference between 8e and 9 with QEMU's tar archive.. 8175644 qemu-1.3.0.tar.xz_8e 8164188 qemu-1.3.0.tar.xz_9 > For example, coreutils did an interesting > benchmark in its cfg.mk file, and chose to use -8e instead of -9 as a > result: > > >> # Comparing tarball sizes compressed using different xz presets, we see > >> that > >> # an -8e-compressed tarball is only 9KiB larger than the -9e-compressed > >> one. > >> # Using -8e is preferred, since that lets the decompression process use > >> half > >> # the memory (32MiB rather than 64MiB). > >> # $ for i in {7,8,9}{e,}; do \ > >> # (n=$(xz -$i < coreutils-8.15*.tar|wc -c);echo $n $i) & done |sort -nr > >> # 5129388 7 > >> # 5036524 7e > >> # 5017476 8 > >> # 5010604 9 > >> # 4923016 8e > >> # 4914152 9e > > Also, your use of tar cfJ assumes relatively new GNU tar; it won't work > on other systems (but this is a pre-existing non-portability, and may be > irrelevant, if you are willing to require that the only people likely to > make a release tarball are using appropriate tools). It is already using a GNU tar-ism with the j vs J flags and IMO GNU tar 1.22 at almost 4 years old has been around more than long enough. diff --git a/Makefile b/Makefile index a7ac04b..9073a86 100644 --- a/Makefile +++ b/Makefile @@ -251,10 +251,10 @@ clean: VERSION ?= $(shell cat VERSION) -dist: qemu-$(VERSION).tar.bz2 +dist: qemu-$(VERSION).tar.xz -qemu-%.tar.bz2: - $(SRC_PATH)/scripts/make-release "$(SRC_PATH)" "$(patsubst qemu-%.tar.bz2,%,$@)" +qemu-%.tar.xz: + $(SRC_PATH)/scripts/make-release "$(SRC_PATH)" "$(patsubst qemu-%.tar.xz,%,$@)" distclean: clean rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi diff --git a/scripts/make-release b/scripts/make-release index 196c755..9b70650 100755 --- a/scripts/make-release +++ b/scripts/make-release @@ -20,5 +20,5 @@ git checkout "v${version}" git submodule update --init rm -rf .git roms/*/.git popd -tar cfj ${destination}.tar.bz2 ${destination} +XZ_OPT=-8e tar cfJ ${destination}.tar.xz ${destination} rm -rf ${destination} -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.