RE: [OE-core] [PATCH] meson.bblcass: Remove empty egg-info directories before running meson
From: Peter Kjellerstedt <hidden>
Date: 2021-10-21 02:21:02
-----Original Message----- From: openembedded-core@lists.openembedded.org <openembedded- core@lists.openembedded.org> On Behalf Of Peter Kjellerstedt Sent: den 20 oktober 2021 16:11 To: openembedded-core@lists.openembedded.org Subject: [OE-core] [PATCH] meson.bblcass: Remove empty egg-info directories before running meson
Just noticed a tiny typo above: meson.bblcass -> meson.bbclass //Peter
quoted hunk
sstate.bbclass no longer removes empty directories to avoid a race (see commit 4f94d929 "sstate/staging: Handle directory creation race issue"). Unfortunately Python apparently treats an empty egg-info directory as if the version it previously contained still exists and fails if a newer version is required, which Meson does. To avoid this, make sure there are no empty egg-info directories from previous versions left behind. Signed-off-by: Peter Kjellerstedt <redacted> --- RP: This is the solution I came up with regarding our discussion at the meeting yesterday. With this in place the upgrade to meson 0.59.1 now went without a hitch. meta/classes/meson.bbclass | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass index e124d18144..d07b34fc5e 100644 --- a/meta/classes/meson.bbclass +++ b/meta/classes/meson.bbclass@@ -103,6 +103,14 @@ meson_do_configure() { #https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901c de90fa2b3 unset LD + # sstate.bbclass no longer removes empty directories to avoid a race (see + # commit 4f94d929 "sstate/staging: Handle directory creation race issue"). + # Unfortunately Python apparently treats an empty egg-info directory as if + # the version it previously contained still exists and fails if a newer + # version is required, which Meson does. To avoid this, make sure there are + # no empty egg-info directories from previous versions left behind. + rmdir --ignore-fail-on-non-empty ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info + # Work around "Meson fails if /tmp is mounted with noexec #2972" mkdir -p "${B}/meson-private/tmp" export TMPDIR="${B}/meson-private/tmp"