diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2020-10-09 14:58:12 +0200 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2021-01-28 04:41:47 -1000 |
commit | bbc0bdd8e3f839a5f3b398668574fc6b157db381 (patch) | |
tree | 6c75bd92c5ae8e94eb83b7b59941e458e2673780 /meta/classes | |
parent | 893f6700b21cdd86c05a1eb04f2c4849aca0b6f0 (diff) | |
download | openembedded-core-contrib-bbc0bdd8e3f839a5f3b398668574fc6b157db381.tar.gz |
base.bbclass: use os.path.normpath instead of just comparing WORKDIR and S as strings
* cannot use os.path.samefile, because S/B might not exist at this time yet
* there is issue with PSEUDO_IGNORE_PATHS when some recipe sets e.g.
S = "${WORKDIR}/"
whole WORKDIR gets added to PSEUDO_IGNORE_PATHS and then the build
can fail with various strange errors, in my case do_package was
failing when do_package calls:
fix_perms(.../1.0-r0/package/etc, 755, 0, 0, /etc)
and fails with "[Errno 1] Operation not permitted:"
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50b11a61ab29acb8ec990668353e0b7305114628)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/base.bbclass | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index a710abdbd7..65b9d954c7 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -388,9 +388,9 @@ python () { oe.utils.features_backfill("DISTRO_FEATURES", d) oe.utils.features_backfill("MACHINE_FEATURES", d) - if d.getVar("WORKDIR") != d.getVar("S"): + if os.path.normpath(d.getVar("WORKDIR")) != os.path.normpath(d.getVar("S")): d.appendVar("PSEUDO_IGNORE_PATHS", ",${S}") - if d.getVar("WORKDIR") != d.getVar("B"): + if os.path.normpath(d.getVar("WORKDIR")) != os.path.normpath(d.getVar("B")): d.appendVar("PSEUDO_IGNORE_PATHS", ",${B}") # Handle PACKAGECONFIG |