Thread (1 message) 1 message, 1 author, 2021-10-27

RE: [OE-core] [PATCHv2 1/2] meson.bblcass: Remove empty egg-info directories before running meson

From: Peter Kjellerstedt <hidden>
Date: 2021-10-27 15:38:29

quoted hunk
-----Original Message-----
From: openembedded-core@lists.openembedded.org <redacted> On Behalf Of Peter Kjellerstedt
Sent: den 25 oktober 2021 16:07
To: openembedded-core@lists.openembedded.org
Subject: [OE-core] [PATCHv2 1/2] meson.bblcass: Remove empty egg-info directories before running meson

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>
---

PATCHv2: Ignore all errors from rmdir since apparently egg-info may be
         files rather than directories.

 meta/classes/meson.bbclass | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index e124d18144..da58cb4bec 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -103,6 +103,16 @@ meson_do_configure() {
     # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3
     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. Ignore
+    # all errors from rmdir since the egg-info may be a file rather than a
+    # directory.
+    rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || :
+
     # Work around "Meson fails if /tmp is mounted with noexec #2972"
     mkdir -p "${B}/meson-private/tmp"
     export TMPDIR="${B}/meson-private/tmp"
Can this patch and the corresponding qemu.inc patch please be backported 
to Honister now that they have been accepted for master?

//Peter

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help