summaryrefslogtreecommitdiffstats
path: root/meta/classes/externalsrc.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-09-18 16:54:42 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-21 09:24:24 +0100
commit14a0736751741d8df77977356959e10182f452cb (patch)
treec9fd93034b6c0b948655780d16130844c891ea8b /meta/classes/externalsrc.bbclass
parentab1caf80b2746909c2fc4f7f581fcad86bc170b6 (diff)
downloadpoky-14a0736751741d8df77977356959e10182f452cb.tar.gz
classes/externalsrc: delete symlinks at start of do_buildclean
To help users find the work and log directories (especially within the eSDK) we create symlinks to these from the source tree. However during do_buildclean we call "make clean", and some project Makefiles which delete something like "*/*/lib" which will match files underneath the oe-workdir symlink and fail. do_buildclean is called from do_clean which is in turn called by devtool reset by default, and thus devtool reset is blocked. An example of a recipe where this is visible is the openssl-qat recipe in meta-intel. In order to fix this, delete the symlinks at the start of do_buildclean since we shouldn't need them at that point anyway, and thus make clean won't be able to trip over them. Fixes [YOCTO #11036]. (From OE-Core rev: 927b3b05a7f6b85967f7375b1942605fe8d37d0c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/externalsrc.bbclass')
-rw-r--r--meta/classes/externalsrc.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 8141f25e04..08e6e47901 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -172,6 +172,7 @@ do_buildclean[nostamp] = "1"
172do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}" 172do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}"
173externalsrc_do_buildclean() { 173externalsrc_do_buildclean() {
174 if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then 174 if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
175 rm -f ${@' '.join([x.split(':')[0] for x in (d.getVar('EXTERNALSRC_SYMLINKS') or '').split()])}
175 oe_runmake clean || die "make failed" 176 oe_runmake clean || die "make failed"
176 else 177 else
177 bbnote "nothing to do - no makefile found" 178 bbnote "nothing to do - no makefile found"