diff mbox series

fix: use pkgconf instead of pkg-config

Message ID 20250829114713.1577609-2-frederikbraendstrup@gmail.com (mailing list archive)
State New
Headers show
Series fix: use pkgconf instead of pkg-config | expand

Commit Message

Frede Braendstrup Aug. 29, 2025, 11:47 a.m. UTC
As a preface, I know this is probably a bit of an aggressive move. But
pkg-config doesn't build on newer GCC and Clang compilers due to a lot
of hardening. The old K&R style C code is deprecated and cannot compile
in the gcc default mode.

pkgconf is a modern and compatible (although not necessarily bug
compatible) alternative that is maintained, and has more features
that are not available in the old pkg-config. I've been using this patch
for a while now, and it has worked flawlessly.

Signed-off-by: Frede Braendstrup <frederikbraendstrup@gmail.com>
---
 meta/classes-recipe/pkgconfig.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Antonin Godard Aug. 29, 2025, 12:45 p.m. UTC | #1
Hi,

To get reviewed this patch should be sent to the openembedded-core mailing list
and should apply to the openembedded-core repository, not Poky.

Please see https://docs.yoctoproject.org/contributor-guide/identify-component.html.

Thanks,
Antonin
Martin Jansa Aug. 29, 2025, 2:08 p.m. UTC | #2
And the prefix should be "pkgconfig.bbclass: " instead of "fix: " as
it's rather change in behavior/feature not fix of a bug. FWIW:
pkgconfig-native builds fine here even with gcc-15 on host and it
surely builds fine on autobuilder as well, so the explanation in
commit message should be improved a bit to describe how it's actually
failing in your setup.

On Fri, Aug 29, 2025 at 2:45 PM Antonin Godard via
lists.yoctoproject.org
<antonin.godard=bootlin.com@lists.yoctoproject.org> wrote:
>
> Hi,
>
> To get reviewed this patch should be sent to the openembedded-core mailing list
> and should apply to the openembedded-core repository, not Poky.
>
> Please see https://docs.yoctoproject.org/contributor-guide/identify-component.html.
>
> Thanks,
> Antonin
>
> --
> Antonin Godard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13737): https://lists.yoctoproject.org/g/poky/message/13737
> Mute This Topic: https://lists.yoctoproject.org/mt/114950667/3617156
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Aug. 29, 2025, 4:27 p.m. UTC | #3
On Fri, Aug 29, 2025 at 4:48 AM Frederik Brændstrup via
lists.yoctoproject.org
<frederikbraendstrup=gmail.com@lists.yoctoproject.org> wrote:
>
> As a preface, I know this is probably a bit of an aggressive move. But
> pkg-config doesn't build on newer GCC and Clang compilers due to a lot
> of hardening. The old K&R style C code is deprecated and cannot compile
> in the gcc default mode.
>
> pkgconf is a modern and compatible (although not necessarily bug
> compatible) alternative that is maintained, and has more features
> that are not available in the old pkg-config. I've been using this patch
> for a while now, and it has worked flawlessly.
>

This is bold and worth consideration, some other distros e.g.
archlinux use it too however
we need to soak it a bit more for yocto because its not battle tested
for cross-compiled systems.
Yoe distro defaulted to it in 2018 [1] for a while but some packages
e.g. chromium/firefox
builds were not happy. Perhaps things have improved overtime.

[1] https://github.com/YoeDistro/yoe-distro/blob/master/sources/meta-yoe/conf/distro/yoe.inc#L126-L129

> Signed-off-by: Frede Braendstrup <frederikbraendstrup@gmail.com>
> ---
>  meta/classes-recipe/pkgconfig.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes-recipe/pkgconfig.bbclass b/meta/classes-recipe/pkgconfig.bbclass
> index 1e1f3824dd..55847fb705 100644
> --- a/meta/classes-recipe/pkgconfig.bbclass
> +++ b/meta/classes-recipe/pkgconfig.bbclass
> @@ -4,5 +4,5 @@
>  # SPDX-License-Identifier: MIT
>  #
>
> -DEPENDS:prepend = "pkgconfig-native "
> +DEPENDS:prepend = "pkgconf-native "
>
> --
> 2.50.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13736): https://lists.yoctoproject.org/g/poky/message/13736
> Mute This Topic: https://lists.yoctoproject.org/mt/114950667/1997914
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/classes-recipe/pkgconfig.bbclass b/meta/classes-recipe/pkgconfig.bbclass
index 1e1f3824dd..55847fb705 100644
--- a/meta/classes-recipe/pkgconfig.bbclass
+++ b/meta/classes-recipe/pkgconfig.bbclass
@@ -4,5 +4,5 @@ 
 # SPDX-License-Identifier: MIT
 #
 
-DEPENDS:prepend = "pkgconfig-native "
+DEPENDS:prepend = "pkgconf-native "