diff options
| author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2021-10-25 16:07:13 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-27 09:46:41 +0100 |
| commit | 2fc0ba7efadf8c2f255f71e87eba3679e4a6ec5c (patch) | |
| tree | 380a2e4c532be9aac6922484fd2ee5885854ebdd /meta | |
| parent | ec2eaed9016bd62b521ab12169843c2d1339bdfa (diff) | |
| download | poky-2fc0ba7efadf8c2f255f71e87eba3679e4a6ec5c.tar.gz | |
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.
(From OE-Core rev: 47d9d90b4ec7d04d6f3f1a9b97c0ab7f1264a88e)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/classes/meson.bbclass | 10 |
1 files changed, 10 insertions, 0 deletions
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() { | |||
| 103 | # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3 | 103 | # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3 |
| 104 | unset LD | 104 | unset LD |
| 105 | 105 | ||
| 106 | # sstate.bbclass no longer removes empty directories to avoid a race (see | ||
| 107 | # commit 4f94d929 "sstate/staging: Handle directory creation race issue"). | ||
| 108 | # Unfortunately Python apparently treats an empty egg-info directory as if | ||
| 109 | # the version it previously contained still exists and fails if a newer | ||
| 110 | # version is required, which Meson does. To avoid this, make sure there are | ||
| 111 | # no empty egg-info directories from previous versions left behind. Ignore | ||
| 112 | # all errors from rmdir since the egg-info may be a file rather than a | ||
| 113 | # directory. | ||
| 114 | rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || : | ||
| 115 | |||
| 106 | # Work around "Meson fails if /tmp is mounted with noexec #2972" | 116 | # Work around "Meson fails if /tmp is mounted with noexec #2972" |
| 107 | mkdir -p "${B}/meson-private/tmp" | 117 | mkdir -p "${B}/meson-private/tmp" |
| 108 | export TMPDIR="${B}/meson-private/tmp" | 118 | export TMPDIR="${B}/meson-private/tmp" |
