From patchwork Thu Dec 11 17:55:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76302 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 4C703D41D6B for ; Thu, 11 Dec 2025 17:56:04 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16038.1765475756853483600 for ; Thu, 11 Dec 2025 09:55:57 -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 2E33F1063 for ; Thu, 11 Dec 2025 09:55:49 -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 01FF13F73B for ; Thu, 11 Dec 2025 09:55:55 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 1/8] iputils: just set bindir, not prefix Date: Thu, 11 Dec 2025 17:55:40 +0000 Message-ID: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:04 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227552 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 Thu Dec 11 17:55:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76304 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 35C5FD41D6D for ; Thu, 11 Dec 2025 17:56:34 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16058.1765475791870241545 for ; Thu, 11 Dec 2025 09:56:32 -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 42CEB1688 for ; Thu, 11 Dec 2025 09:56:24 -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 2006E3F73B for ; Thu, 11 Dec 2025 09:56:31 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 2/8] recipes: remove *.la from FILES for recipes using meson Date: Thu, 11 Dec 2025 17:55:41 +0000 Message-ID: <20251211175547.3944470-2-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227553 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_258.1.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_258.1.bb b/meta/recipes-core/systemd/systemd_258.1.bb index 68b22265f29..dcbd4d92f33 100644 --- a/meta/recipes-core/systemd/systemd_258.1.bb +++ b/meta/recipes-core/systemd/systemd_258.1.bb @@ -709,7 +709,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 Thu Dec 11 17:55:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76303 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 39016D41D77 for ; Thu, 11 Dec 2025 17:56:34 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16060.1765475792535205171 for ; Thu, 11 Dec 2025 09:56:32 -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 E7DED1063 for ; Thu, 11 Dec 2025 09:56:24 -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 BC9473F73B for ; Thu, 11 Dec 2025 09:56:31 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 3/8] classes/meson: drop meson_do_qa_configure as it is non-functional Date: Thu, 11 Dec 2025 17:55:42 +0000 Message-ID: <20251211175547.3944470-3-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227554 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 Thu Dec 11 17:55:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76306 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 49BC6D41D7A for ; Thu, 11 Dec 2025 17:56:34 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16061.1765475793160454071 for ; Thu, 11 Dec 2025 09:56:33 -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 91DE51063 for ; Thu, 11 Dec 2025 09:56:25 -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 6F7323F73B for ; Thu, 11 Dec 2025 09:56:32 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 4/8] classes/meson: set LD Date: Thu, 11 Dec 2025 17:55:43 +0000 Message-ID: <20251211175547.3944470-4-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227555 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 Thu Dec 11 17:55:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76305 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 4EA60D41D7B for ; Thu, 11 Dec 2025 17:56:34 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16027.1765475793858602989 for ; Thu, 11 Dec 2025 09:56:33 -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 371C71063 for ; Thu, 11 Dec 2025 09:56:26 -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 1831C3F73B for ; Thu, 11 Dec 2025 09:56:32 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 5/8] classes/meson: clean up path arguments Date: Thu, 11 Dec 2025 17:55:44 +0000 Message-ID: <20251211175547.3944470-5-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227556 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 Thu Dec 11 17:55:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76308 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 4978AD41D79 for ; Thu, 11 Dec 2025 17:56:44 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16029.1765475794442112352 for ; Thu, 11 Dec 2025 09:56:34 -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 D62911063 for ; Thu, 11 Dec 2025 09:56:26 -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 B460F3F73B for ; Thu, 11 Dec 2025 09:56:33 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 6/8] classes/meson: no need to export STAGING_DIR_HOST Date: Thu, 11 Dec 2025 17:55:45 +0000 Message-ID: <20251211175547.3944470-6-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:44 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227557 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 Thu Dec 11 17:55:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76307 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 59EC6D41D7C for ; Thu, 11 Dec 2025 17:56:44 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16032.1765475795045496723 for ; Thu, 11 Dec 2025 09:56:35 -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 7E7D51063 for ; Thu, 11 Dec 2025 09:56:27 -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 5D1743F73B for ; Thu, 11 Dec 2025 09:56:34 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 7/8] oeqa/selftest/meson: use iputils instead of libepoxy Date: Thu, 11 Dec 2025 17:55:46 +0000 Message-ID: <20251211175547.3944470-7-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:44 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227558 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..77864b2f8d3 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, "-DUSE_CAP=false -DUSE_IDN=false") + self.check_elf(os.path.join(installdir, "usr", "local", "bin", "ping")) From patchwork Thu Dec 11 17:55:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76309 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 64474D41D7E for ; Thu, 11 Dec 2025 17:56:44 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16062.1765475795720893435 for ; Thu, 11 Dec 2025 09:56:35 -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 2890D1063 for ; Thu, 11 Dec 2025 09:56:28 -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 064E83F73B for ; Thu, 11 Dec 2025 09:56:34 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2 8/8] meson: upgrade to 1.10.0 Date: Thu, 11 Dec 2025 17:55:47 +0000 Message-ID: <20251211175547.3944470-8-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251211175547.3944470-1-ross.burton@arm.com> References: <20251211175547.3944470-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 ; Thu, 11 Dec 2025 17:56:44 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227559 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