[1/2] pigz: provide gzip

Message ID 20190621095541.1198-1-ross.burton@intel.com
State New
Headers show
Series
  • [1/2] pigz: provide gzip
Related show

Commit Message

Ross Burton June 21, 2019, 9:55 a.m.
As pigz has the same command line interface to gzip, it should PROVIDE/RPROVIDE
gzip.

Signed-off-by: Ross Burton <ross.burton@intel.com>

---
 meta/recipes-extended/pigz/pigz_2.4.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.11.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Richard Purdie June 22, 2019, 6:20 a.m. | #1
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@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

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

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"
+
 ALTERNATIVE_PRIORITY = "110"
 ALTERNATIVE_${PN} = "gunzip gzip zcat"
 ALTERNATIVE_${PN}_class-nativesdk = ""