diff mbox series

pkgconf: upgrade 2.5.1 -> 3.0.3

Message ID 20260715110253.1693306-1-ross.burton@arm.com
State New
Headers show
Series pkgconf: upgrade 2.5.1 -> 3.0.3 | expand

Commit Message

Ross Burton July 15, 2026, 11:02 a.m. UTC
Abridged release notes:

* Restore correct handling of sysroots when emulating legacy pkg-config, and
  add explicit regression tests for this case.

* DEPRECATION: The autotools build system will be dropped after the 3.0 release.
  Building pkgconf with muon is recommended for early bootstrap and meson in later
  stages of bootstrap.
  Alternatively users can use pkgconf-lite for early bootstrap.

* SPDX Software Bill of Materials (SBOM) generation

* The libpkgconf API and ABI were substantially reworked, breaking both API and
  ABI compatibility.  Consumers will need source changes as well as a rebuild.
  The libpkgconf soversion is now 8.

* Correctness fixes:
  - The built-in pkg-config and pkgconf packages are now constructed from the
    configured personality instead of being hardcoded, so their reported data
    reflects the active personality.  They are also exposed as proper versioned
    virtual packages.
  - ${pc_sysrootdir} now defaults to an empty string instead of '/'.
  - Variable substitution was reimplemented using a bytecode engine, which
    tracks whether special variables such as ${pc_sysrootdir} have already been
    applied so that they are not substituted more than once.
  - Requires.internal is now treated as a weaker form of Requires.private: its
    dependency nodes need not be satisfied when link libraries are not
    requested.
  - pkgconf now warns about .pc files that duplicate a dependency-list field,
    whose behavior is inconsistent across pkg-config implementations.
  - Version comparison was reworked to use a structured algorithm modeled on
    apk-tools.
  - Newline folding behavior when parsing multi-line fields has been adjusted.
  - Bare variable expansions inside fragment lists are now re-parsed so that any
    flags they expand to are tokenized correctly.
  - ${pc_sysrootdir} is now only injected when it matches a complete path
    boundary, and obviously bogus sysroot_dir definitions are ignored, fixing
    incorrect sysroot injection.
  - Arguments are now combined when a flag is expected to carry a separate
    value, such as -I dir or -framework name.
  - SPDX license expressions in the License field are now properly parsed and
    validated.  Patches by Tuukka Pasanen.

License-Update: copyright statement updated

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../pkgconf/{pkgconf_2.5.1.bb => pkgconf_3.0.3.bb}            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/pkgconf/{pkgconf_2.5.1.bb => pkgconf_3.0.3.bb} (95%)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb b/meta/recipes-devtools/pkgconf/pkgconf_3.0.3.bb
similarity index 95%
rename from meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb
rename to meta/recipes-devtools/pkgconf/pkgconf_3.0.3.bb
index 7d9205e5606..dfb6919ff71 100644
--- a/meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb
+++ b/meta/recipes-devtools/pkgconf/pkgconf_3.0.3.bb
@@ -12,7 +12,7 @@  RPROVIDES:${PN} += "pkgconfig"
 # The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
 # ISC, but has different wording, so needs its own name.
 LICENSE = "pkgconf"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e33c297f35e165ecf4fbc81974dc9ca"
 
 SRC_URI = "\
     https://distfiles.ariadne.space/pkgconf/pkgconf-${PV}.tar.xz \
@@ -20,7 +20,7 @@  SRC_URI = "\
     file://pkg-config-native.in \
     file://pkg-config-esdk.in \
 "
-SRC_URI[sha256sum] = "cd05c9589b9f86ecf044c10a2269822bc9eb001eced2582cfffd658b0a50c243"
+SRC_URI[sha256sum] = "aa033abb2b777ba4e66635495a931e53c49d86e4e4e38af68c0f76d666cbd8cf"
 UPSTREAM_CHECK_REGEX = "pkgconf-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)\.tar"
 
 inherit autotools pkgconfig