diff mbox series

[2/4] p11-kit: add PACKAGECONFIG for trust and systemd

Message ID 20260427204640.2003231-2-ross.burton@arm.com
State Accepted, archived
Commit f0891ed94c58c270b3d445ff4237be25fffff469
Headers show
Series [1/4] p11-kit: remove obsolete compile error workaround | expand

Commit Message

Ross Burton April 27, 2026, 8:46 p.m. UTC
libtasn dependencies are specific to the trust module, add a PACKAGECONFIG
for that and move the dependencies. This is currently enabled by default
to preserve behaviour.

p11-kit has optional systemd user units for the remote server, add a
PACKAGECONFIG for that that respects the systemd DISTRO_FEATURE.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-support/p11-kit/p11-kit_0.26.2.bb | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Peter Kjellerstedt May 7, 2026, 10:49 a.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Ross Burton via lists.openembedded.org
> Sent: den 27 april 2026 22:47
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH 2/4] p11-kit: add PACKAGECONFIG for trust and systemd
> 
> libtasn dependencies are specific to the trust module, add a PACKAGECONFIG
> for that and move the dependencies. This is currently enabled by default
> to preserve behaviour.
> 
> p11-kit has optional systemd user units for the remote server, add a
> PACKAGECONFIG for that that respects the systemd DISTRO_FEATURE.
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/recipes-support/p11-kit/p11-kit_0.26.2.bb | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb b/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
> index aa8b28e0e71..a0e2e17d026 100644
> --- a/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
> +++ b/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
> @@ -6,16 +6,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
> 
>  inherit meson gettext pkgconfig gtk-doc bash-completion manpages
> 
> -DEPENDS = "libtasn1 libtasn1-native libffi"
> +DEPENDS = "libffi"
> 
>  DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
> 
> -SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https;tag=${PV} \
> -           "
> +SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https;tag=${PV}"
>  SRCREV = "8e6e4e6d64d9fe91c62b0052c105b2b72d4c24ef"
> 
> -PACKAGECONFIG ??= ""
> +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} trust"
> +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"

If one has the p11-kit PACKAGECONFIG enabled in gnutls, then this will result in 
a circular dependency: systemd -> libmicrohttpd -> gnutls -> p11-kit -> systemd

I also noticed that systemd has a p11-kit PACKAGECONFIG, which I expect 
will result in another circular dependency now if it is enabled...

Maybe it would be better to not enable the systemd PACKAGECONFIG here by 
default? Or better, add a patch that allows bitbake to specify the path 
for systemduserunitdir using a Meson option so that p11-kit does not have 
to depend on systemd just to find that path.

We often use something like this in our Meson files to be able to avoid the 
dependency on systemd:

  systemdsystemunitdir = get_option('systemdsystemunitdir')
  if systemdsystemunitdir == ''
    systemd = dependency('systemd')
    systemdsystemunitdir = systemd.get_variable(pkgconfig: 'systemdsystemunitdir')
  endif

>  PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native"
> +PACKAGECONFIG[trust] = "-Dtrust_module=enabled,-Dtrust_module=disabled,libtasn1-native libtasn1"
>  PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates"
> 
>  EXTRA_OEMESON:append = " -Dnls=${@'false' if d.getVar('USE_NLS') == 'no' else 'true'}"
> --
> 2.43.0

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb b/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
index aa8b28e0e71..a0e2e17d026 100644
--- a/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
+++ b/meta/recipes-support/p11-kit/p11-kit_0.26.2.bb
@@ -6,16 +6,17 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
 
 inherit meson gettext pkgconfig gtk-doc bash-completion manpages
 
-DEPENDS = "libtasn1 libtasn1-native libffi"
+DEPENDS = "libffi"
 
 DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
 
-SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https;tag=${PV} \
-           "
+SRC_URI = "gitsm://github.com/p11-glue/p11-kit;branch=master;protocol=https;tag=${PV}"
 SRCREV = "8e6e4e6d64d9fe91c62b0052c105b2b72d4c24ef"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} trust"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native"
+PACKAGECONFIG[trust] = "-Dtrust_module=enabled,-Dtrust_module=disabled,libtasn1-native libtasn1"
 PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates"
 
 EXTRA_OEMESON:append = " -Dnls=${@'false' if d.getVar('USE_NLS') == 'no' else 'true'}"