[OE-core] [PATCH 1/2] pigz: provide gzip

Richard Purdie richard.purdie at linuxfoundation.org
Sat Jun 22 06:20:18 UTC 2019


On Fri, 2019-06-21 at 10:55 +0100, Ross Burton wrote:
> As pigz has the same command line interface to gzip, it should
> PROVIDE/RPROVIDE
> gzip.
> 
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/recipes-extended/pigz/pigz_2.4.bb | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-extended/pigz/pigz_2.4.bb b/meta/recipes-
> extended/pigz/pigz_2.4.bb
> index 8c65ec34f06..a173268eaa8 100644
> --- a/meta/recipes-extended/pigz/pigz_2.4.bb
> +++ b/meta/recipes-extended/pigz/pigz_2.4.bb
> @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "
> file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline
>  SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
>  SRC_URI[md5sum] = "def2f6e19d9d8231445adc1349d346df"
>  SRC_URI[sha256sum] =
> "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73"
> -PROVIDES_class-native += "gzip-native"
>  
>  # Point this at the homepage in case /fossils/ isn't updated
>  UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
>  UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar"
>  
> +PROVIDES = "gzip"
>  DEPENDS = "zlib"
>  
>  EXTRA_OEMAKE = "-e MAKEFLAGS="
> @@ -38,6 +38,8 @@ do_install_append_class-native() {
>  	ln -nsf gzip ${D}${bindir}/zcat
>  }
>  
> +RPROVIDES_${PN} = "gzip"
> +

The RPROVIDES is fine, not sure the PROVIDES is going to work though as
bitbake handles things a little differently.

It throws errors on the AB:

https://autobuilder.yoctoproject.org/typhoon/#/builders/62/builds/734

Initialising tasks...ERROR: Multiple .bb files are due to be built which each provide gzip:
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/pigz/pigz_2.4.bb
A list of tasks depending on these providers is shown and may help explain where the dependency comes from.
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb has unique dependees:
  
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/pigz/pigz_2.4.bb has unique dependees:
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/ltp/ltp_20190115.bb:do_package_write_rpm
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb:do_package_write_ipk
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/ltp/ltp_20190115.bb:do_package_qa
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/ltp/ltp_20190115.bb:do_package_write_deb
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/ltp/ltp_20190115.bb:do_package_write_ipk
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/ltp/ltp_20190115.bb:do_build
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb:do_build
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-sato/images/core-image-sato-sdk.bb:do_build
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-sato/images/core-image-sato-sdk.bb:do_rootfs
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb:do_build
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb:do_package_write_rpm
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb:do_package_write_deb
  /home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb:do_package_qa
It could be that one recipe provides something the other doesn't and should. The following provider and runtime provider differences may be helpful.
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb has unique provides:
  
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/gzip/gzip_1.10.bb has unique rprovides:
  gzip-ptest
  gzip-dbg
  gzip-src
  gzip-dev
  ^gzip-locale-.*
  gzip-locale
  gzip-doc
  gzip-staticdev
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/pigz/pigz_2.4.bb has unique provides:
  pigz
/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-extended/pigz/pigz_2.4.bb has unique rprovides:
  pigz-dbg
  pigz-locale
  pigz-dev
  pigz-doc
  ^pigz-locale-.*
  pigz-staticdev
  pigz-src
  pigz
done.

Cheers,

Richard



More information about the Openembedded-core mailing list