From: Peter Kjellerstedt Date: Mon, 25 Oct 2021 14:07:13 +0000 (+0200) Subject: meson.bblcass: Remove empty egg-info directories before running meson X-Git-Tag: 2021-10.1-honister~52 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=0abc761e84ea25a4acc7633eb9b5c8ae73120116;p=openembedded-core.git 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 Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 47d9d90b4ec7d04d6f3f1a9b97c0ab7f1264a88e) Signed-off-by: Anuj Mittal --- 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"