[OE-core] [PATCH] Add pigz as gzip-native alternative.

Saul Wold sgw at linux.intel.com
Mon Mar 19 16:32:31 UTC 2012


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 at 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!




More information about the Openembedded-core mailing list