From patchwork Wed Dec 10 18:33:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76251 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 270E1D3E76E for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3242.1765391594669258235 for ; Wed, 10 Dec 2025 10:33:15 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BE214153B for ; Wed, 10 Dec 2025 10:33:06 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 978153F762 for ; Wed, 10 Dec 2025 10:33:13 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/8] iputils: just set bindir, not prefix Date: Wed, 10 Dec 2025 18:33:00 +0000 Message-ID: <20251210183308.4022909-1-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227497 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 --- 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" From patchwork Wed Dec 10 18:33:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76257 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5BB4CD3E77A for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3205.1765391595323155146 for ; Wed, 10 Dec 2025 10:33:15 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 65265175D for ; Wed, 10 Dec 2025 10:33:07 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4A3B23F762 for ; Wed, 10 Dec 2025 10:33:14 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/8] recipes: remove *.la from FILES for recipes using meson Date: Wed, 10 Dec 2025 18:33:01 +0000 Message-ID: <20251210183308.4022909-2-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227498 These recipes no longer use libtool to build libraries, so they don't ship .la files anymore. Signed-off-by: Ross Burton --- 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}/*" From patchwork Wed Dec 10 18:33:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76255 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F0D9D3E77B for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3206.1765391595743980966 for ; Wed, 10 Dec 2025 10:33:15 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 177D51762 for ; Wed, 10 Dec 2025 10:33:08 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E6FE53F762 for ; Wed, 10 Dec 2025 10:33:14 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional Date: Wed, 10 Dec 2025 18:33:02 +0000 Message-ID: <20251210183308.4022909-3-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227499 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 --- 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} From patchwork Wed Dec 10 18:33:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76258 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A124D3E77D for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3207.1765391596352376510 for ; Wed, 10 Dec 2025 10:33:16 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B664E153B for ; Wed, 10 Dec 2025 10:33:08 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9A2543F762 for ; Wed, 10 Dec 2025 10:33:15 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/8] classes/meson: set LD Date: Wed, 10 Dec 2025 18:33:03 +0000 Message-ID: <20251210183308.4022909-4-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227500 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 --- 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 From patchwork Wed Dec 10 18:33:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76252 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 24BD3D3E771 for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3208.1765391597058142971 for ; Wed, 10 Dec 2025 10:33:17 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5C464153B for ; Wed, 10 Dec 2025 10:33:09 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 43F533F762 for ; Wed, 10 Dec 2025 10:33:16 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 5/8] classes/meson: clean up path arguments Date: Wed, 10 Dec 2025 18:33:04 +0000 Message-ID: <20251210183308.4022909-5-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227501 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 --- 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" From patchwork Wed Dec 10 18:33:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76253 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28232D3E773 for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3244.1765391597619233494 for ; Wed, 10 Dec 2025 10:33:17 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 07C3F153B for ; Wed, 10 Dec 2025 10:33:10 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E12EA3F762 for ; Wed, 10 Dec 2025 10:33:16 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 6/8] classes/meson: no need to export STAGING_DIR_HOST Date: Wed, 10 Dec 2025 18:33:05 +0000 Message-ID: <20251210183308.4022909-6-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227502 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 --- 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 From patchwork Wed Dec 10 18:33:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76254 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E492D3E775 for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3209.1765391598441972931 for ; Wed, 10 Dec 2025 10:33:18 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A5291153B for ; Wed, 10 Dec 2025 10:33:10 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8A0883F762 for ; Wed, 10 Dec 2025 10:33:17 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 7/8] oeqa/selftest/meson: use iputils instead of libepoxy Date: Wed, 10 Dec 2025 18:33:06 +0000 Message-ID: <20251210183308.4022909-7-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227503 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 --- 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")) From patchwork Wed Dec 10 18:33:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76256 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 46F24D3E774 for ; Wed, 10 Dec 2025 18:33:24 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3246.1765391598868442060 for ; Wed, 10 Dec 2025 10:33:18 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4D990175D for ; Wed, 10 Dec 2025 10:33:11 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 33F463F762 for ; Wed, 10 Dec 2025 10:33:18 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 8/8] meson: upgrade to 1.10.0 Date: Wed, 10 Dec 2025 18:33:07 +0000 Message-ID: <20251210183308.4022909-8-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251210183308.4022909-1-ross.burton@arm.com> References: <20251210183308.4022909-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 10 Dec 2025 18:33:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227504 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 --- .../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 -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 ---- - 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\d+(\.\d+)+)$" inherit python_setuptools_build_meta github-releases