All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] iputils: just set bindir, not prefix
@ 2025-12-10 18:33 Ross Burton
  2025-12-10 18:33 ` [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson Ross Burton
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

We just want to put the binaries into base_bindir and nothing else, so
set bindir instead of prefix.

This is currently moot as iputils only installs binaries, but this is
the right thing to do and allows further cleanups.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-extended/iputils/iputils_20250605.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/iputils/iputils_20250605.bb b/meta/recipes-extended/iputils/iputils_20250605.bb
index 31eb51e56d4..baeda556592 100644
--- a/meta/recipes-extended/iputils/iputils_20250605.bb
+++ b/meta/recipes-extended/iputils/iputils_20250605.bb
@@ -26,7 +26,7 @@ PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MAN
 
 inherit meson update-alternatives pkgconfig
 
-EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
+EXTRA_OEMESON += "--bindir=${base_bindir} -DSKIP_TESTS=true"
 
 ALTERNATIVE_PRIORITY = "100"
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional Ross Burton
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

These recipes no longer use libtool to build libraries, so they don't
ship .la files anymore.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/glib-networking/glib-networking_2.80.1.bb | 1 -
 meta/recipes-core/systemd/systemd_257.8.bb                  | 2 +-
 meta/recipes-graphics/harfbuzz/harfbuzz_11.5.1.bb           | 3 +--
 meta/recipes-graphics/xorg-xserver/xserver-xorg.inc         | 1 -
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc           | 2 +-
 5 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-core/glib-networking/glib-networking_2.80.1.bb b/meta/recipes-core/glib-networking/glib-networking_2.80.1.bb
index a4396af39b8..8bdbab03a6a 100644
--- a/meta/recipes-core/glib-networking/glib-networking_2.80.1.bb
+++ b/meta/recipes-core/glib-networking/glib-networking_2.80.1.bb
@@ -36,7 +36,6 @@ FILES:${PN} += "\
                 ${datadir}/dbus-1/services/ \
                 ${systemd_user_unitdir} \
                 "
-FILES:${PN}-dev += "${libdir}/gio/modules/libgio*.la"
 FILES:${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
 
 RDEPENDS:${PN}-ptest += "bash"
diff --git a/meta/recipes-core/systemd/systemd_257.8.bb b/meta/recipes-core/systemd/systemd_257.8.bb
index 20fe77fb139..5942a5663a4 100644
--- a/meta/recipes-core/systemd/systemd_257.8.bb
+++ b/meta/recipes-core/systemd/systemd_257.8.bb
@@ -734,7 +734,7 @@ FILES:${PN} = " ${base_bindir}/* \
                 ${datadir}/dbus-1/system.d/org.freedesktop.home1.conf \
                "
 
-FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+FILES:${PN}-dev += "${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
 
 RDEPENDS:${PN} += "kmod ${VIRTUAL-RUNTIME_dbus} util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff util-linux-mkswap"
 RDEPENDS:${PN} += "systemd-serialgetty"
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_11.5.1.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_11.5.1.bb
index 08b72190ca5..dd30c1237d7 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_11.5.1.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_11.5.1.bb
@@ -44,8 +44,7 @@ do_install:append() {
 }
 
 FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
-                       ${libdir}/libharfbuzz-icu.so \
+FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.so \
                        ${libdir}/pkgconfig/harfbuzz-icu.pc \
 "
 FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 0dece7bba3e..164eee8ffe2 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -85,7 +85,6 @@ RDEPENDS:${PN}-xvfb += "xkeyboard-config"
 RDEPENDS:${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
 
 FILES:${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/input/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d"
-FILES:${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la"
 FILES:${PN}-doc += "${libdir}/X11/doc ${datadir}/X11/xkb/compiled/README.compiled ${localstatedir}/lib/xkb/README.compiled"
 FILES:${PN}-sdl = "${bindir}/Xsdl"
 FILES:${PN}-fbdev = "${bindir}/Xfbdev"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 246d3363eb8..fd5a1163b10 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -192,7 +192,7 @@ FILES:libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf"
 FILES:libpulse-simple = "${libdir}/libpulse-simple.so.*"
 FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
 
-FILES:${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala"
+FILES:${PN}-dev += "${datadir}/vala"
 FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
 FILES:${PN}-pa-info = "${bindir}/pa-info"
 FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
  2025-12-10 18:33 ` [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 4/8] classes/meson: set LD Ross Burton
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

The patches to meson to add this warning were removed in 2021[1], so
remove the checks that look for them.

[1] oe-core cb2a7dcc86d ("meson: update 0.57.2 -> 0.58.0")

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/meson.bbclass | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass
index 45d43319f9c..72dbbcb67b1 100644
--- a/meta/classes-recipe/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -184,16 +184,6 @@ meson_do_configure() {
     fi
 }
 
-python meson_do_qa_configure() {
-    import re
-    warn_re = re.compile(r"^WARNING: Cross property (.+) is using default value (.+)$", re.MULTILINE)
-    with open(d.expand("${B}/meson-logs/meson-log.txt")) as logfile:
-        log = logfile.read()
-    for (prop, value) in warn_re.findall(log):
-        bb.warn("Meson cross property %s used without explicit assignment, defaulting to %s" % (prop, value))
-}
-do_configure[postfuncs] += "meson_do_qa_configure"
-
 do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
 meson_do_compile() {
     meson compile -v ${PARALLEL_MAKE} ${MESON_TARGET}
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/8] classes/meson: set LD
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
  2025-12-10 18:33 ` [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson Ross Burton
  2025-12-10 18:33 ` [PATCH 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 5/8] classes/meson: clean up path arguments Ross Burton
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

Set binaries.ld in the toolchain files and remove the unset from the
environment, as ld no longer appears to need special handling.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/meson.bbclass | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass
index 72dbbcb67b1..4cf5de6753e 100644
--- a/meta/classes-recipe/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -78,6 +78,7 @@ do_write_config() {
 [binaries]
 c = ${@meson_array('CC', d)}
 cpp = ${@meson_array('CXX', d)}
+ld = ${@meson_array('LD', d)}
 cython = 'cython3'
 ar = ${@meson_array('AR', d)}
 nm = ${@meson_array('NM', d)}
@@ -120,6 +121,7 @@ EOF
 [binaries]
 c = ${@meson_array('BUILD_CC', d)}
 cpp = ${@meson_array('BUILD_CXX', d)}
+ld = ${@meson_array('BUILD_LD', d)}
 cython = 'cython3'
 ar = ${@meson_array('BUILD_AR', d)}
 nm = ${@meson_array('BUILD_NM', d)}
@@ -168,10 +170,6 @@ do_write_config:append:class-nativesdk() {
 CONFIGURE_FILES = "meson.build"
 
 meson_do_configure() {
-    # Meson requires this to be 'bfd, 'lld' or 'gold' from 0.53 onwards
-    # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3
-    unset LD
-
     bbnote Executing meson ${EXTRA_OEMESON}...
     if ! meson setup ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
         MESON_LOG=${B}/meson-logs/meson-log.txt
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/8] classes/meson: clean up path arguments
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
                   ` (2 preceding siblings ...)
  2025-12-10 18:33 ` [PATCH 4/8] classes/meson: set LD Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 6/8] classes/meson: no need to export STAGING_DIR_HOST Ross Burton
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

The --bindir (etc.) arguments can be absolute paths, so there's no need
to work out the relative paths and we can instead pass them directly.

Also re-order the options to match the order in the Meson manual, for
ease of checking that we pass all the paths that Meson uses.

Notably, we don't set --licensedir, but we handle license manifests
ourselves.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/meson.bbclass | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass
index 4cf5de6753e..0709a1313a4 100644
--- a/meta/classes-recipe/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -25,24 +25,22 @@ MESON_TARGET ?= ""
 # Since 0.60.0 you can specify custom tags to install
 MESON_INSTALL_TAGS ?= ""
 
-def noprefix(var, d):
-    return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1)
-
 MESON_BUILDTYPE ?= "${@oe.utils.vartrue('DEBUG_BUILD', 'debug', 'plain', d)}"
 MESON_BUILDTYPE[vardeps] += "DEBUG_BUILD"
-MESONOPTS = " --prefix ${prefix} \
-              --buildtype ${MESON_BUILDTYPE} \
-              --bindir ${@noprefix('bindir', d)} \
-              --sbindir ${@noprefix('sbindir', d)} \
-              --datadir ${@noprefix('datadir', d)} \
-              --libdir ${@noprefix('libdir', d)} \
-              --libexecdir ${@noprefix('libexecdir', d)} \
-              --includedir ${@noprefix('includedir', d)} \
-              --mandir ${@noprefix('mandir', d)} \
-              --infodir ${@noprefix('infodir', d)} \
-              --sysconfdir ${sysconfdir} \
+
+MESONOPTS = " --buildtype ${MESON_BUILDTYPE} \
+              --prefix ${prefix} \
+              --bindir ${bindir} \
+              --datadir ${datadir} \
+              --includedir ${includedir} \
+              --infodir ${infodir} \
+              --libdir ${libdir} \
+              --libexecdir ${libexecdir} \
               --localstatedir ${localstatedir} \
+              --mandir ${mandir} \
+              --sbindir ${sbindir} \
               --sharedstatedir ${sharedstatedir} \
+              --sysconfdir ${sysconfdir} \
               --wrap-mode nodownload \
               --native-file ${WORKDIR}/meson.native"
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/8] classes/meson: no need to export STAGING_DIR_HOST
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
                   ` (3 preceding siblings ...)
  2025-12-10 18:33 ` [PATCH 5/8] classes/meson: clean up path arguments Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 7/8] oeqa/selftest/meson: use iputils instead of libepoxy Ross Burton
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

If we use ${} for STAGING_DIR_HOST then the correct paths get written
into the command earlier.

Also use STAGING_LIBDIR, it's the same end result but more idiomatic.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/meson.bbclass | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass
index 0709a1313a4..2c098771fec 100644
--- a/meta/classes-recipe/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -50,9 +50,6 @@ MESON_CROSS_FILE = ""
 MESON_CROSS_FILE:class-target = "--cross-file ${WORKDIR}/meson.cross"
 MESON_CROSS_FILE:class-nativesdk = "--cross-file ${WORKDIR}/meson.cross"
 
-# Needed to set up qemu wrapper below
-export STAGING_DIR_HOST
-
 def rust_tool(d, target_var):
     rustc = d.getVar('RUSTC')
     if not rustc:
@@ -141,7 +138,7 @@ EOF
 write_qemuwrapper() {
     # Write out a qemu wrapper that will be used as exe_wrapper so that meson
     # can run target helper binaries through that.
-    qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
+    qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_LIBDIR}','${STAGING_BASELIBDIR}'])}"
     cat > ${WORKDIR}/meson-qemuwrapper << EOF
 #!/bin/sh
 # Use a modules directory which doesn't exist so we don't load random things
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/8] oeqa/selftest/meson: use iputils instead of libepoxy
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
                   ` (4 preceding siblings ...)
  2025-12-10 18:33 ` [PATCH 6/8] classes/meson: no need to export STAGING_DIR_HOST Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-10 18:33 ` [PATCH 8/8] meson: upgrade to 1.10.0 Ross Burton
  2025-12-11 14:35 ` [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix Mathieu Dubois-Briand
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

libepoxy is suboptimal for the SDK testing purposes, mainly because it
is a GL-based library so we have to disable all of the functionality.
While this hasn't been a problem, meson 1.9.2 introduces a change of
behaviour which breaks the build.

Take this opportunity to switch to iputils, which is actively maintained,
has minimal dependencies, and builds faster.

Also move some asserts into build_meson() to avoid duplication in the
test case.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/lib/oeqa/sdk/cases/meson.py | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/meta/lib/oeqa/sdk/cases/meson.py b/meta/lib/oeqa/sdk/cases/meson.py
index 74199889223..a066bc134b6 100644
--- a/meta/lib/oeqa/sdk/cases/meson.py
+++ b/meta/lib/oeqa/sdk/cases/meson.py
@@ -34,6 +34,9 @@ class MesonTestBase(OESDKTestCase):
         """
         log = self._run(f"meson setup --warnlevel 1 {builddir} {sourcedir} {options}")
 
+        # Check that the build directory now exists
+        self.assertTrue(os.path.isdir(builddir))
+
         # Check that Meson thinks we're doing a cross build and not a native
         self.assertIn("Build type: cross build", log)
 
@@ -49,24 +52,24 @@ class MesonTestBase(OESDKTestCase):
 
         if installdir:
             self._run(f"meson install -C {builddir} --destdir {installdir}")
+            # Check that the install directory now exists
+            self.assertTrue(os.path.isdir(installdir))
 
 class MesonTest(MesonTestBase):
     """
     Test that Meson builds correctly.
     """
 
-    def test_epoxy(self):
-        with tempfile.TemporaryDirectory(prefix="epoxy", dir=self.tc.sdk_dir) as testdir:
-            tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/anholt/libepoxy/releases/download/1.5.3/libepoxy-1.5.3.tar.xz")
+    def test_iputils(self):
+        with tempfile.TemporaryDirectory(prefix="iputils", dir=self.tc.sdk_dir) as testdir:
+            tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/iputils/iputils/releases/download/20250605/iputils-20250605.tar.gz")
 
-            sourcedir = os.path.join(testdir, "libepoxy-1.5.3")
+            sourcedir = os.path.join(testdir, "iputils-20250605")
             builddir = os.path.join(testdir, "build")
             installdir = os.path.join(testdir, "install")
 
             subprocess.check_output(["tar", "xf", tarball, "-C", testdir], stderr=subprocess.STDOUT)
             self.assertTrue(os.path.isdir(sourcedir))
 
-            os.makedirs(builddir)
-            self.build_meson(sourcedir, builddir, installdir, "-Degl=no -Dglx=no -Dx11=false")
-            self.assertTrue(os.path.isdir(installdir))
-            self.check_elf(os.path.join(installdir, "usr", "local", "lib", "libepoxy.so"))
+            self.build_meson(sourcedir, builddir, installdir)
+            self.check_elf(os.path.join(installdir, "usr", "local", "bin", "ping"))
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 8/8] meson: upgrade to 1.10.0
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
                   ` (5 preceding siblings ...)
  2025-12-10 18:33 ` [PATCH 7/8] oeqa/selftest/meson: use iputils instead of libepoxy Ross Burton
@ 2025-12-10 18:33 ` Ross Burton
  2025-12-11 14:35 ` [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix Mathieu Dubois-Briand
  7 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-10 18:33 UTC (permalink / raw)
  To: openembedded-core

Release notes:
- Support for the `counted_by` attribute
- Added a `values()` method for dictionaries
- Add cmd_array method to ExternalProgram
- Microchip XC32 compiler support
- Added OS/2 support
- Android cross file generator
- Array `.slice()` method
- `-Db_msvcrt` on clang
- Added `build_subdir` arg to various targets
- Support for Cargo workspaces
- Experimental Codegen module
- Methods from compiler object now accept strings for include_directories
- `meson format` has a new `--check-diff` option
- `-Db_thinlto_cache` now supported for GCC
- Using `meson.get_compiler()` to get a language from another project is marked broken
- Experimental C++ import std support
- Common `Cargo.lock` for all Cargo subprojects
- Add a configure log in meson-logs
- Added new `namingscheme` option
- Rewriter improvements
- Passing `-C default-linker-libraries` to rustc
- `rustc` will receive `-C embed-bitcode=no` and `-C lto` command line options
- New method to handle GNU and Windows symbol visibility for C/C++/ObjC/ObjC++
- Vala BuildTarget dependency enhancements
- `i18n.xgettext` now accepts CustomTarget and CustomTargetIndex as sources

Drop 0001-python-module-do-not-manipulate-the-environment-when.patch as
this code no longer exists.

Rebase 0001-Make-CPU-family-warnings-fatal.patch as code moved.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../0001-Make-CPU-family-warnings-fatal.patch | 16 ++++----
 ...-not-manipulate-the-environment-when.patch | 37 -------------------
 .../meson/{meson_1.9.1.bb => meson_1.10.0.bb} |  3 +-
 3 files changed, 8 insertions(+), 48 deletions(-)
 delete mode 100644 meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
 rename meta/recipes-devtools/meson/{meson_1.9.1.bb => meson_1.10.0.bb} (96%)

diff --git a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 46754bf5084..c2dc3fffcf9 100644
--- a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -25,20 +25,18 @@ index 43fad0c..27be871 100644
  
          endian = literal['endian']
          if endian not in ('little', 'big'):
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 489ef50..1567efa 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -438,10 +438,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
-         if compilers and not any_compiler_has_define(compilers, '__mips64'):
+diff --git i/mesonbuild/envconfig.py w/mesonbuild/envconfig.py
+index dd050b011..5277693c3 100644
+--- i/mesonbuild/envconfig.py
++++ w/mesonbuild/envconfig.py
+@@ -634,9 +634,7 @@ def detect_cpu_family(compilers: T.Dict[str, Compiler]) -> str:
              trial = 'mips'
  
--    if trial not in known_cpu_families:
+     if trial not in known_cpu_families:
 -        mlog.warning(f'Unknown CPU family {trial!r}, please report this at '
 -                     'https://github.com/mesonbuild/meson/issues/new with the '
 -                     'output of `uname -a` and `cat /proc/cpuinfo`')
-+    if trial not in known_cpu_families and trail != "riscv":
-+        raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
++        raise EnvironmentException(f'Unknown CPU family {trial!r}, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.')
  
      return trial
  
diff --git a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
deleted file mode 100644
index c1b82935931..00000000000
--- a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c0ffc404415a52bfa3358e32ecd17f064a241b38 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 19 Nov 2018 14:24:26 +0100
-Subject: [PATCH] python module: do not manipulate the environment when calling
-
- pkg-config
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/dependencies/python.py | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
-index b028d9f..3d7cd9b 100644
---- a/mesonbuild/dependencies/python.py
-+++ b/mesonbuild/dependencies/python.py
-@@ -418,9 +418,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
-                     empty.name = 'python'
-                     return empty
- 
--                old_pkg_libdir = os.environ.pop('PKG_CONFIG_LIBDIR', None)
--                old_pkg_path = os.environ.pop('PKG_CONFIG_PATH', None)
--                os.environ['PKG_CONFIG_LIBDIR'] = pkg_libdir
-                 try:
-                     return PythonPkgConfigDependency(name, env, kwargs, installation, True)
-                 finally:
-@@ -429,8 +426,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
-                             os.environ[name] = value
-                         elif name in os.environ:
-                             del os.environ[name]
--                    set_env('PKG_CONFIG_LIBDIR', old_pkg_libdir)
--                    set_env('PKG_CONFIG_PATH', old_pkg_path)
-+                    pass
- 
-             # Otherwise this doesn't fulfill the interface requirements
-             wrap_in_pythons_pc_dir.log_tried = PythonPkgConfigDependency.log_tried  # type: ignore[attr-defined]
diff --git a/meta/recipes-devtools/meson/meson_1.9.1.bb b/meta/recipes-devtools/meson/meson_1.10.0.bb
similarity index 96%
rename from meta/recipes-devtools/meson/meson_1.9.1.bb
rename to meta/recipes-devtools/meson/meson_1.10.0.bb
index 4738484bbbf..6f629b7ec38 100644
--- a/meta/recipes-devtools/meson/meson_1.9.1.bb
+++ b/meta/recipes-devtools/meson/meson_1.10.0.bb
@@ -11,11 +11,10 @@ GITHUB_BASE_URI = "https://github.com/mesonbuild/meson/releases/"
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \
            file://meson-setup.py \
            file://meson-wrapper \
-           file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://0001-Make-CPU-family-warnings-fatal.patch \
            file://0002-Support-building-allarch-recipes-again.patch \
            "
-SRC_URI[sha256sum] = "4e076606f2afff7881d195574bddcd8d89286f35a17b4977a216f535dc0c74ac"
+SRC_URI[sha256sum] = "8071860c1f46a75ea34801490fd1c445c9d75147a65508cd3a10366a7006cc1c"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
 
 inherit python_setuptools_build_meta github-releases
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix
  2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
                   ` (6 preceding siblings ...)
  2025-12-10 18:33 ` [PATCH 8/8] meson: upgrade to 1.10.0 Ross Burton
@ 2025-12-11 14:35 ` Mathieu Dubois-Briand
  2025-12-11 17:56   ` Ross Burton
  7 siblings, 1 reply; 10+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-11 14:35 UTC (permalink / raw)
  To: ross.burton, openembedded-core

On Wed Dec 10, 2025 at 7:33 PM CET, Ross Burton via lists.openembedded.org wrote:
> We just want to put the binaries into base_bindir and nothing else, so
> set bindir instead of prefix.
>
> This is currently moot as iputils only installs binaries, but this is
> the right thing to do and allows further cleanups.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---

Hi Ross,

We got a configure error on iputils:

oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/environment-setup-x86-64-v3-poky-linux > /dev/null; meson setup --warnlevel 1 /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/build /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/iputils-20250605 ;' returned non-zero exit status 1.
...
tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/iputils-20250605/meson.build:103:14: ERROR: C shared or static library 'cap' not found

https://autobuilder.yoctoproject.org/valkyrie/#/builders/67/builds/2868

Can you have a loot at this?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix
  2025-12-11 14:35 ` [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix Mathieu Dubois-Briand
@ 2025-12-11 17:56   ` Ross Burton
  0 siblings, 0 replies; 10+ messages in thread
From: Ross Burton @ 2025-12-11 17:56 UTC (permalink / raw)
  To: Mathieu Dubois-Briand; +Cc: openembedded-core@lists.openembedded.org

On 11 Dec 2025, at 14:35, Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> wrote:
> We got a configure error on iputils:
> 
> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/environment-setup-x86-64-v3-poky-linux > /dev/null; meson setup --warnlevel 1 /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/build /srv/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/iputils-20250605 ;' returned non-zero exit status 1.
> ...
> tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/testimage-sdk/iputilsfzhd8meu/iputils-20250605/meson.build:103:14: ERROR: C shared or static library 'cap' not found

That will teach me to test in a core-image-base instead of -minimal.

v2 sent.

Ross

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-12-11 17:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-10 18:33 [PATCH 1/8] iputils: just set bindir, not prefix Ross Burton
2025-12-10 18:33 ` [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson Ross Burton
2025-12-10 18:33 ` [PATCH 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional Ross Burton
2025-12-10 18:33 ` [PATCH 4/8] classes/meson: set LD Ross Burton
2025-12-10 18:33 ` [PATCH 5/8] classes/meson: clean up path arguments Ross Burton
2025-12-10 18:33 ` [PATCH 6/8] classes/meson: no need to export STAGING_DIR_HOST Ross Burton
2025-12-10 18:33 ` [PATCH 7/8] oeqa/selftest/meson: use iputils instead of libepoxy Ross Burton
2025-12-10 18:33 ` [PATCH 8/8] meson: upgrade to 1.10.0 Ross Burton
2025-12-11 14:35 ` [OE-core] [PATCH 1/8] iputils: just set bindir, not prefix Mathieu Dubois-Briand
2025-12-11 17:56   ` Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.