diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-09-18 16:54:42 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-21 09:24:24 +0100 |
commit | 14a0736751741d8df77977356959e10182f452cb (patch) | |
tree | c9fd93034b6c0b948655780d16130844c891ea8b /meta | |
parent | ab1caf80b2746909c2fc4f7f581fcad86bc170b6 (diff) | |
download | poky-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')
-rw-r--r-- | meta/classes/externalsrc.bbclass | 1 |
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" | |||
172 | do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}" | 172 | do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}" |
173 | externalsrc_do_buildclean() { | 173 | externalsrc_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" |