[OE-core] [PATCH] base.bbclass: clean up dead symlink when handling hosttools
Chen Qi
Qi.Chen at windriver.com
Wed Dec 25 07:01:13 UTC 2019
When some hosttool is a dead symlink, bitbake any recipe will
fail with error like below.
FileExistsError: [Errno 17] File exists: '/usr/bin/chrpath' -> '/path/to/builddir/tmp-glibc/hosttools/chrpath'
So we remove dead symlink under hostools/ directory to avoid
such error.
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
meta/classes/base.bbclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 2fdab74f4b..3db8527d04 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -127,6 +127,9 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
for tool in tools:
desttool = os.path.join(dest, tool)
if not os.path.exists(desttool):
+ # clean up dead symlink
+ if os.path.islink(desttool):
+ os.unlink(desttool)
srctool = bb.utils.which(path, tool, executable=True)
# gcc/g++ may link to ccache on some hosts, e.g.,
# /usr/local/bin/ccache/gcc -> /usr/bin/ccache, then which(gcc)
--
2.17.1
More information about the Openembedded-core
mailing list