From 50b11a61ab29acb8ec990668353e0b7305114628 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 9 Oct 2020 14:58:12 +0200 Subject: 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 Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 6309d709b8..62e34d0079 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 -- cgit 1.2.3-korg