Patchwork Add pigz as gzip-native alternative.

login
register
mail settings
Submitter Björn Stenberg
Date March 13, 2012, 2:52 p.m.
Message ID <1331650371-6055-1-git-send-email-bjst@enea.com>
Download mbox | patch
Permalink /patch/23175/
State New
Headers show

Comments

Björn Stenberg - March 13, 2012, 2:52 p.m.
pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.

This recipe adds pigz as an alternative provider of gzip-native. Pigz is much faster than gzip on multi-core machines.

Upstream-status: Pending
Signed-off-by: Björn Stenberg <bjst@enea.com>
---
 meta/recipes-extended/pigz/files/ldflags.patch |   11 +++++++++++
 meta/recipes-extended/pigz/pigz.inc            |   21 +++++++++++++++++++++
 meta/recipes-extended/pigz/pigz_2.2.4.bb       |    9 +++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-extended/pigz/files/ldflags.patch
 create mode 100644 meta/recipes-extended/pigz/pigz.inc
 create mode 100644 meta/recipes-extended/pigz/pigz_2.2.4.bb
Paul Eggleton - March 13, 2012, 3:05 p.m.
Hi Björn,

On Tuesday 13 March 2012 15:52:51 Björn Stenberg wrote:
> pigz, which stands for parallel implementation of gzip, is a fully
> functional replacement for gzip that exploits multiple processors and
> multiple cores to the hilt when compressing data. pigz was written by Mark
> Adler, and uses the zlib and pthread libraries.
> 
> This recipe adds pigz as an alternative provider of gzip-native. Pigz is
> much faster than gzip on multi-core machines.
> 
> Upstream-status: Pending

This needs to be moved to the inner ldflags.patch, and..

> Signed-off-by: Björn Stenberg <bjst@enea.com>

this should be copied to there. The patch should also start with an 
explanation of what the patch does (in this case it's trivial, but still worth 
having in there.)

Thanks,
Paul
Saul Wold - March 19, 2012, 4:32 p.m.
On 03/13/2012 07:52 AM, Björn Stenberg wrote:
> pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.
>
> This recipe adds pigz as an alternative provider of gzip-native. Pigz is much faster than gzip on multi-core machines.
>
> Upstream-status: Pending
> Signed-off-by: Björn Stenberg<bjst@enea.com>
> ---
>   meta/recipes-extended/pigz/files/ldflags.patch |   11 +++++++++++
>   meta/recipes-extended/pigz/pigz.inc            |   21 +++++++++++++++++++++
>   meta/recipes-extended/pigz/pigz_2.2.4.bb       |    9 +++++++++
>   3 files changed, 41 insertions(+), 0 deletions(-)
>   create mode 100644 meta/recipes-extended/pigz/files/ldflags.patch
>   create mode 100644 meta/recipes-extended/pigz/pigz.inc
>   create mode 100644 meta/recipes-extended/pigz/pigz_2.2.4.bb
>
> diff --git a/meta/recipes-extended/pigz/files/ldflags.patch b/meta/recipes-extended/pigz/files/ldflags.patch
> new file mode 100644
> index 0000000..534d280
> --- /dev/null
> +++ b/meta/recipes-extended/pigz/files/ldflags.patch
> @@ -0,0 +1,11 @@
> +--- pigz-2.2.4/Makefile.orig	2012-01-01 02:46:58.000000000 +0100
> ++++ pigz-2.2.4/Makefile	2012-03-09 08:47:40.025094863 +0100
> +@@ -2,7 +2,7 @@
> + CFLAGS=-O3 -Wall -Wextra
> +
> + pigz: pigz.o yarn.o
> +-	$(CC) -o pigz pigz.o yarn.o -lpthread -lz
> ++	$(CC) $(LDFLAGS) -o pigz pigz.o yarn.o -lpthread -lz
> + 	ln -f pigz unpigz
> +
> + pigz.o: pigz.c yarn.h
> diff --git a/meta/recipes-extended/pigz/pigz.inc b/meta/recipes-extended/pigz/pigz.inc
> new file mode 100644
> index 0000000..b501d7a
> --- /dev/null
> +++ b/meta/recipes-extended/pigz/pigz.inc
> @@ -0,0 +1,21 @@
> +SUMMARY = "A parallel implementation of gzip"
> +DESCRIPTION = "pigz, which stands for parallel implementation of gzip, is a \
> +fully functional replacement for gzip that exploits multiple processors and \
> +multiple cores to the hilt when compressing data. pigz was written by Mark \
> +Adler, and uses the zlib and pthread libraries."
> +HOMEPAGE = "http://zlib.net/pigz/"
> +SECTION = "console/utils"
> +LICENSE = "Zlib"
> +
> +SRC_URI = "http://zlib.net/pigz/pigz-${PV}.tar.gz \
> +           file://ldflags.patch"
> +
> +PROVIDES += "gzip-native"
> +
> +DEPENDS_virtclass-native = "zlib-native"
> +
> +do_install () {
> +        install -d ${D}${bindir}
> +        install ${B}/pigz ${D}${bindir}/gzip
> +        install ${B}/unpigz ${D}${bindir}/gunzip
> +}
> diff --git a/meta/recipes-extended/pigz/pigz_2.2.4.bb b/meta/recipes-extended/pigz/pigz_2.2.4.bb
> new file mode 100644
> index 0000000..598bbe3
> --- /dev/null
> +++ b/meta/recipes-extended/pigz/pigz_2.2.4.bb
> @@ -0,0 +1,9 @@
> +require pigz.inc
> +
> +PR = "r0"
> +
> +BBCLASSEXTEND = "native"
> +
> +SRC_URI[md5sum] = "9df2a3c742524446fa4e797c17e8fd85"
> +SRC_URI[sha256sum] = "7e7967c47f66c07be97cbfa25c8816b72f9d35258466ea31eddc7666c914160e"
> +LIC_FILES_CHKSUM = "file://pigz.c;md5=53f47c097bbf11b937a421b1816a8dc5"

Merged and enabled in OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-extended/pigz/files/ldflags.patch b/meta/recipes-extended/pigz/files/ldflags.patch
new file mode 100644
index 0000000..534d280
--- /dev/null
+++ b/meta/recipes-extended/pigz/files/ldflags.patch
@@ -0,0 +1,11 @@ 
+--- pigz-2.2.4/Makefile.orig	2012-01-01 02:46:58.000000000 +0100
++++ pigz-2.2.4/Makefile	2012-03-09 08:47:40.025094863 +0100
+@@ -2,7 +2,7 @@
+ CFLAGS=-O3 -Wall -Wextra
+ 
+ pigz: pigz.o yarn.o
+-	$(CC) -o pigz pigz.o yarn.o -lpthread -lz
++	$(CC) $(LDFLAGS) -o pigz pigz.o yarn.o -lpthread -lz
+ 	ln -f pigz unpigz
+ 
+ pigz.o: pigz.c yarn.h
diff --git a/meta/recipes-extended/pigz/pigz.inc b/meta/recipes-extended/pigz/pigz.inc
new file mode 100644
index 0000000..b501d7a
--- /dev/null
+++ b/meta/recipes-extended/pigz/pigz.inc
@@ -0,0 +1,21 @@ 
+SUMMARY = "A parallel implementation of gzip"
+DESCRIPTION = "pigz, which stands for parallel implementation of gzip, is a \
+fully functional replacement for gzip that exploits multiple processors and \
+multiple cores to the hilt when compressing data. pigz was written by Mark \
+Adler, and uses the zlib and pthread libraries."
+HOMEPAGE = "http://zlib.net/pigz/"
+SECTION = "console/utils"
+LICENSE = "Zlib"
+
+SRC_URI = "http://zlib.net/pigz/pigz-${PV}.tar.gz \
+           file://ldflags.patch"
+
+PROVIDES += "gzip-native"
+
+DEPENDS_virtclass-native = "zlib-native"
+
+do_install () {
+        install -d ${D}${bindir}
+        install ${B}/pigz ${D}${bindir}/gzip
+        install ${B}/unpigz ${D}${bindir}/gunzip
+}
diff --git a/meta/recipes-extended/pigz/pigz_2.2.4.bb b/meta/recipes-extended/pigz/pigz_2.2.4.bb
new file mode 100644
index 0000000..598bbe3
--- /dev/null
+++ b/meta/recipes-extended/pigz/pigz_2.2.4.bb
@@ -0,0 +1,9 @@ 
+require pigz.inc
+
+PR = "r0"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "9df2a3c742524446fa4e797c17e8fd85"
+SRC_URI[sha256sum] = "7e7967c47f66c07be97cbfa25c8816b72f9d35258466ea31eddc7666c914160e"
+LIC_FILES_CHKSUM = "file://pigz.c;md5=53f47c097bbf11b937a421b1816a8dc5"