qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] build: change dist target to use xz
@ 2012-08-02 10:08 Brad Smith
  2013-01-05  0:28 ` Brad Smith
  2013-01-09  2:22 ` Anthony Liguori
  0 siblings, 2 replies; 6+ messages in thread
From: Brad Smith @ 2012-08-02 10:08 UTC (permalink / raw)
  To: qemu-devel

If a compression format other than gzip is used we might
as well move to xz instead of bzip2.

11.0M qemu-1.1.1-1.tar.gz
9.2M  qemu-1.1.1-1.tar.bz2
7.3M  qemu-1.1.1-1.tar.xz

---
 Makefile             |    6 +++---
 scripts/make-release |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 621cb86..9fbaa0e 100644
--- a/Makefile
+++ b/Makefile
@@ -234,10 +234,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..2237afd 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=-9 tar cfJ ${destination}.tar.xz ${destination}
 rm -rf ${destination}
-- 
1.7.6


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] build: change dist target to use xz
  2012-08-02 10:08 [Qemu-devel] [PATCH] build: change dist target to use xz Brad Smith
@ 2013-01-05  0:28 ` Brad Smith
  2013-01-05  0:41   ` Eric Blake
  2013-01-09  2:22 ` Anthony Liguori
  1 sibling, 1 reply; 6+ messages in thread
From: Brad Smith @ 2013-01-05  0:28 UTC (permalink / raw)
  To: qemu-devel

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.

11.8M qemu-1.3.0.tar.gz
9.8M  qemu-1.3.0.tar.bz2
7.8M  qemu-1.3.0.tar.xz

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..2237afd 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=-9 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.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] build: change dist target to use xz
  2013-01-05  0:28 ` Brad Smith
@ 2013-01-05  0:41   ` Eric Blake
  2013-01-05  1:03     ` Brad Smith
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Blake @ 2013-01-05  0:41 UTC (permalink / raw)
  To: Brad Smith; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1643 bytes --]

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?  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).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] build: change dist target to use xz
  2013-01-05  0:41   ` Eric Blake
@ 2013-01-05  1:03     ` Brad Smith
  2013-01-09  1:59       ` Brad Smith
  0 siblings, 1 reply; 6+ messages in thread
From: Brad Smith @ 2013-01-05  1:03 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

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.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] build: change dist target to use xz
  2013-01-05  1:03     ` Brad Smith
@ 2013-01-09  1:59       ` Brad Smith
  0 siblings, 0 replies; 6+ messages in thread
From: Brad Smith @ 2013-01-09  1:59 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

On Fri, Jan 04, 2013 at 08:03:05PM -0500, Brad Smith wrote:
> 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?

ping.

> 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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] build: change dist target to use xz
  2012-08-02 10:08 [Qemu-devel] [PATCH] build: change dist target to use xz Brad Smith
  2013-01-05  0:28 ` Brad Smith
@ 2013-01-09  2:22 ` Anthony Liguori
  1 sibling, 0 replies; 6+ messages in thread
From: Anthony Liguori @ 2013-01-09  2:22 UTC (permalink / raw)
  To: Brad Smith, qemu-devel

Brad Smith <brad@comstyle.com> writes:

> If a compression format other than gzip is used we might
> as well move to xz instead of bzip2.

xz support was introduced in tar only in 2009.  We only expose one
source tarball and I don't think relying on something so new is a good
idea.

Regards,

Anthoyn Liguori

>
> 11.0M qemu-1.1.1-1.tar.gz
> 9.2M  qemu-1.1.1-1.tar.bz2
> 7.3M  qemu-1.1.1-1.tar.xz
>
> ---
>  Makefile             |    6 +++---
>  scripts/make-release |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 621cb86..9fbaa0e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -234,10 +234,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..2237afd 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=-9 tar cfJ ${destination}.tar.xz ${destination}
>  rm -rf ${destination}
> -- 
> 1.7.6
>
>
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-01-09  2:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-02 10:08 [Qemu-devel] [PATCH] build: change dist target to use xz Brad Smith
2013-01-05  0:28 ` Brad Smith
2013-01-05  0:41   ` Eric Blake
2013-01-05  1:03     ` Brad Smith
2013-01-09  1:59       ` Brad Smith
2013-01-09  2:22 ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).