Skip to contentSkip to conversation

Enable libgcrypt nativesdk, add PACKAGECONFIG and allow binconfig

PATCH In review Nathan Rossi 2 participants 7 messages Jan 30, 2017 – Feb 3, 2017

lore
Share & tools
lore
#0 lore raw

cover Enable libgcrypt nativesdk, add PACKAGECONFIG and allow binconfig

This series enables nativesdk for libgcrypt and libgpg-error (one of its dependencies), enables binconfig to be used when configuring to build against libgcrypt and additionally adds a 'capabilities' PACKAGECONFIG option.

Nathan Rossi (4):
libgpg-error_1.25.bb: Enable nativesdk libgcrypt.inc: Enable nativesdk libgcrypt.inc: Add PACKAGECONFIG for 'capabilities' libgcrypt.inc: Enable use of binconfig

 meta/recipes-support/libgcrypt/libgcrypt.inc           | 11 +++++++----
 meta/recipes-support/libgpg-error/libgpg-error_1.25.bb |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/4 libgpg-error_1.25.bb: Enable nativesdk

Enable nativesdk on this recipe.

---
 meta/recipes-support/libgpg-error/libgpg-error_1.25.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/libgpg-error/libgpg-error_1.25.bb +1 -1
index 9d402ffbb6..d4ce224948 100644
@@ -51,4 +51,4 @@ do_install_append() {
 
 FILES_${PN}-dev += "${bindir}/gpg-error"
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.11.0
#2 lore raw

PATCH 2/4 libgcrypt.inc: Enable nativesdk

In reply to Nathan Rossi

Enable nativesdk on this recipe.

---
 meta/recipes-support/libgcrypt/libgcrypt.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/libgcrypt/libgcrypt.inc +1 -1
index 15805cd436..c8a48623b4 100644
@@ -46,4 +46,4 @@ FILES_dumpsexp-dev += "${bindir}/dumpsexp"
 
 ARM_INSTRUCTION_SET = "arm"
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.11.0
#3 lore raw

PATCH 3/4 libgcrypt.inc: Add PACKAGECONFIG for 'capabilities'

In reply to Nathan Rossi

Add PACKAGECONFIG options for 'capabilities' which enables the libcap dependency.

---
 meta/recipes-support/libgcrypt/libgcrypt.inc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
meta/recipes-support/libgcrypt/libgcrypt.inc +5 -2
index c8a48623b4..84c1cc018b 100644
@@ -12,7 +12,7 @@ LICENSE_dumpsexp-dev = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff"
 
-DEPENDS = "libgpg-error libcap"
+DEPENDS = "libgpg-error"
 
 UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \
@@ -26,7 +26,10 @@ BINCONFIG = "${bindir}/libgcrypt-config"
 
 inherit autotools texinfo binconfig-disabled pkgconfig
 
-EXTRA_OECONF = "--disable-asm --with-capabilities"
+EXTRA_OECONF = "--disable-asm"
+
+PACKAGECONFIG ??= "capabilities"
+PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap"
 
 do_configure_prepend () {
 	# Else this could be used in preference to the one in aclocal-copy
Signature · 1 line
2.11.0
#4 lore raw

PATCH 4/4 libgcrypt.inc: Enable use of binconfig

In reply to Nathan Rossi

Due to pkg-config support for libgcrypt being un-available for upstream libgcrypt, some packages that depend on libgcrypt rely on the use of libgcrypt-config (e.g. QEMU).

---
 meta/recipes-support/libgcrypt/libgcrypt.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/libgcrypt/libgcrypt.inc +1 -1
index 84c1cc018b..a1a9066097 100644
@@ -24,7 +24,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \
 
 BINCONFIG = "${bindir}/libgcrypt-config"
 
-inherit autotools texinfo binconfig-disabled pkgconfig
+inherit autotools texinfo binconfig pkgconfig
 
 EXTRA_OECONF = "--disable-asm"
 
Signature · 1 line
2.11.0
#5 lore raw

Re: [PATCH 4/4] libgcrypt.inc: Enable use of binconfig

Quoted 4 lines · Nathan Rossi

Due to pkg-config support for libgcrypt being un-available for upstream libgcrypt, some packages that depend on libgcrypt rely on the use of libgcrypt-config (e.g. QEMU).

We disable those scripts for a good reason: they're generally either broken
entirely in a cross-environment, or fail badly if sstate is used. A
better solution really is to just patch qemu's configure (yes, I know this sucks).

Ross

#6 lore raw

Re: [PATCH 4/4] libgcrypt.inc: Enable use of binconfig

Quoted 8 lines · Ross
Quoted 4 lines · Nathan Rossi

Due to pkg-config support for libgcrypt being un-available for upstream libgcrypt, some packages that depend on libgcrypt rely on the use of libgcrypt-config (e.g. QEMU).

Quoted 5 lines

We disable those scripts for a good reason: they're generally either broken
entirely in a cross-environment, or fail badly if sstate is used. A
better solution really is to just patch qemu's configure (yes, I know this sucks).

Agreed, at first that was the approach I went for, even went so far as to sending a patch upstream for QEMU (before realizing that libgcrypt upstream doesn't have pkgconfig). But upstream QEMU are not to interested in having such change.

https://patchwork.ozlabs.org/patch/711018/

However since this is not really required for the QEMU in oe-core, this patch can be dropped from the series and I will sort this out by patching the configure in the QEMU recipe that needs this.

Should I send a v2 of this series which removes this patch?

Regards,
Nathan