mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
classes/externalsrc: fix source being wiped out on clean with kernel
kernel.bbclass adds ${S} do do_clean[cleandirs], but this means if you
run bitbake -c clean <kernelrecipe> then your external source tree will
be trashed, which could be a disaster. For safety, remove ${S} from
cleandirs for every task. We also have to do the same for ${B} in the
case where EXTERNALSRC_BUILD is set to the same value as EXTERNALSRC.
(From OE-Core rev: b5071fb2667b8751885d38ca62fa36c870177cd5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f205ccaf48
commit
db7f7b5097
@@ -47,6 +47,20 @@ python () {
|
||||
# Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
|
||||
d.appendVarFlag(task, "lockfiles", "${S}/singletask.lock")
|
||||
|
||||
# We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean)
|
||||
cleandirs = d.getVarFlag(task, 'cleandirs', False)
|
||||
if cleandirs:
|
||||
cleandirs = cleandirs.split()
|
||||
setvalue = False
|
||||
if '${S}' in cleandirs:
|
||||
cleandirs.remove('${S}')
|
||||
setvalue = True
|
||||
if externalsrcbuild == externalsrc and '${B}' in cleandirs:
|
||||
cleandirs.remove('${B}')
|
||||
setvalue = True
|
||||
if setvalue:
|
||||
d.setVarFlag(task, 'cleandirs', ' '.join(cleandirs))
|
||||
|
||||
for task in d.getVar("SRCTREECOVEREDTASKS", True).split():
|
||||
bb.build.deltask(task, d)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user