diff mbox series

[5/7] class/pkgconfig: use pkgconf instead of pkgconfig

Message ID 20260320122732.1630715-5-ross.burton@arm.com
State New
Headers show
Series [1/7] sstate/relocatable: remove manual relocation of .pc files | expand

Commit Message

Ross Burton March 20, 2026, 12:27 p.m. UTC
The last meaningful change to freedesktop.org pkgconfig was in 2019, but
pkgconf is actively maintained.

Major distributions such as Fedora (and derivates), Debian (ditto), Arch
Linux, Buildroot, and Alpine have all moved to pkgconf already.

There's a subtle behaviour change between pkgconfig and pkgconf, whereas
pkgconfig appends the sysroot to PKG_CONFIG_SYSTEM_INCLUDE_PATH pkgconf
does not, so we need to sysroot-prefix those variables.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/pkgconfig.bbclass          | 6 +++---
 meta/conf/distro/include/default-providers.inc | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

Comments

Khem Raj March 21, 2026, 1:40 a.m. UTC | #1
FWIW there are two recipes in meta-oe which are regressing with this

xmlsec1 and protobuf

https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/5941365/raw_inline

On Fri, Mar 20, 2026 at 5:27 AM Ross Burton via lists.openembedded.org
<ross.burton=arm.com@lists.openembedded.org> wrote:

> The last meaningful change to freedesktop.org pkgconfig was in 2019, but
> pkgconf is actively maintained.
>
> Major distributions such as Fedora (and derivates), Debian (ditto), Arch
> Linux, Buildroot, and Alpine have all moved to pkgconf already.
>
> There's a subtle behaviour change between pkgconfig and pkgconf, whereas
> pkgconfig appends the sysroot to PKG_CONFIG_SYSTEM_INCLUDE_PATH pkgconf
> does not, so we need to sysroot-prefix those variables.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/classes-recipe/pkgconfig.bbclass          | 6 +++---
>  meta/conf/distro/include/default-providers.inc | 6 +++---
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/meta/classes-recipe/pkgconfig.bbclass
> b/meta/classes-recipe/pkgconfig.bbclass
> index c0d91393b36..4912b9904ba 100644
> --- a/meta/classes-recipe/pkgconfig.bbclass
> +++ b/meta/classes-recipe/pkgconfig.bbclass
> @@ -4,7 +4,7 @@
>  # SPDX-License-Identifier: MIT
>  #
>
> -DEPENDS:prepend = "pkgconfig-native "
> +DEPENDS:prepend = "pkgconf-native "
>
>  export PKG_CONFIG_PATH ?= ""
>  export PKG_CONFIG_LIBDIR ?=
> "${STAGING_LIBDIR}/pkgconfig:${STAGING_DATADIR}/pkgconfig"
> @@ -12,5 +12,5 @@ export PKG_CONFIG_LIBDIR ?=
> "${STAGING_LIBDIR}/pkgconfig:${STAGING_DATADIR}/pkgc
>  export PKG_CONFIG_SYSROOT_DIR ?= "${STAGING_DIR_HOST}"
>  export PKG_CONFIG_DISABLE_UNINSTALLED ?= "yes"
>
> -export PKG_CONFIG_SYSTEM_LIBRARY_PATH ?= "${base_libdir}:${libdir}"
> -export PKG_CONFIG_SYSTEM_INCLUDE_PATH ?= "${includedir}"
> +export PKG_CONFIG_SYSTEM_LIBRARY_PATH ?=
> "${STAGING_BASELIBDIR}:${STAGING_LIBDIR}"
> +export PKG_CONFIG_SYSTEM_INCLUDE_PATH ?= "${STAGING_INCDIR}"
> diff --git a/meta/conf/distro/include/default-providers.inc
> b/meta/conf/distro/include/default-providers.inc
> index 5101ad78f88..c0a5d1c75e5 100644
> --- a/meta/conf/distro/include/default-providers.inc
> +++ b/meta/conf/distro/include/default-providers.inc
> @@ -56,9 +56,9 @@ PREFERRED_PROVIDER_getopt ?= "util-linux-getopt"
>  PREFERRED_PROVIDER_openssl ?= "openssl"
>  PREFERRED_PROVIDER_openssl-native ?= "openssl-native"
>  PREFERRED_PROVIDER_nativesdk-openssl ?= "nativesdk-openssl"
> -PREFERRED_PROVIDER_pkgconfig ?= "pkgconfig"
> -PREFERRED_PROVIDER_nativesdk-pkgconfig ?= "nativesdk-pkgconfig"
> -PREFERRED_PROVIDER_pkgconfig-native ?= "pkgconfig-native"
> +PREFERRED_PROVIDER_pkgconfig ?= "pkgconf"
> +PREFERRED_PROVIDER_nativesdk-pkgconfig ?= "nativesdk-pkgconf"
> +PREFERRED_PROVIDER_pkgconfig-native ?= "pkgconf-native"
>  PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
>
>  PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa"
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#233603):
> https://lists.openembedded.org/g/openembedded-core/message/233603
> Mute This Topic: https://lists.openembedded.org/mt/118416246/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta/classes-recipe/pkgconfig.bbclass b/meta/classes-recipe/pkgconfig.bbclass
index c0d91393b36..4912b9904ba 100644
--- a/meta/classes-recipe/pkgconfig.bbclass
+++ b/meta/classes-recipe/pkgconfig.bbclass
@@ -4,7 +4,7 @@ 
 # SPDX-License-Identifier: MIT
 #
 
-DEPENDS:prepend = "pkgconfig-native "
+DEPENDS:prepend = "pkgconf-native "
 
 export PKG_CONFIG_PATH ?= ""
 export PKG_CONFIG_LIBDIR ?= "${STAGING_LIBDIR}/pkgconfig:${STAGING_DATADIR}/pkgconfig"
@@ -12,5 +12,5 @@  export PKG_CONFIG_LIBDIR ?= "${STAGING_LIBDIR}/pkgconfig:${STAGING_DATADIR}/pkgc
 export PKG_CONFIG_SYSROOT_DIR ?= "${STAGING_DIR_HOST}"
 export PKG_CONFIG_DISABLE_UNINSTALLED ?= "yes"
 
-export PKG_CONFIG_SYSTEM_LIBRARY_PATH ?= "${base_libdir}:${libdir}"
-export PKG_CONFIG_SYSTEM_INCLUDE_PATH ?= "${includedir}"
+export PKG_CONFIG_SYSTEM_LIBRARY_PATH ?= "${STAGING_BASELIBDIR}:${STAGING_LIBDIR}"
+export PKG_CONFIG_SYSTEM_INCLUDE_PATH ?= "${STAGING_INCDIR}"
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc
index 5101ad78f88..c0a5d1c75e5 100644
--- a/meta/conf/distro/include/default-providers.inc
+++ b/meta/conf/distro/include/default-providers.inc
@@ -56,9 +56,9 @@  PREFERRED_PROVIDER_getopt ?= "util-linux-getopt"
 PREFERRED_PROVIDER_openssl ?= "openssl"
 PREFERRED_PROVIDER_openssl-native ?= "openssl-native"
 PREFERRED_PROVIDER_nativesdk-openssl ?= "nativesdk-openssl"
-PREFERRED_PROVIDER_pkgconfig ?= "pkgconfig"
-PREFERRED_PROVIDER_nativesdk-pkgconfig ?= "nativesdk-pkgconfig"
-PREFERRED_PROVIDER_pkgconfig-native ?= "pkgconfig-native"
+PREFERRED_PROVIDER_pkgconfig ?= "pkgconf"
+PREFERRED_PROVIDER_nativesdk-pkgconfig ?= "nativesdk-pkgconf"
+PREFERRED_PROVIDER_pkgconfig-native ?= "pkgconf-native"
 PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
 
 PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa"