bitbake: build/siggen.py: Avoid removing too many stamps when cleaning
The "*" part of the mask is to ensure we clean both any stamp, and any setscene varient. It turns out we would also trample other tasks, e.g. do_package_write could trample do_package_write_rpm. do_package also tramples do_package_write_* but this is less of an issue since the other tasks depend on it. Rather than use the wildcard, we can just use a list instead. [YOCTO #3484] (Bitbake rev: c14d831ea3f625e9a47266a0c4e6deefc924ca5a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
4493b107a7
commit
9de050111b
|
@ -491,9 +491,11 @@ def stamp_cleanmask_internal(taskname, d, file_name):
|
||||||
extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
|
extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
|
||||||
|
|
||||||
if not stamp:
|
if not stamp:
|
||||||
return
|
return []
|
||||||
|
|
||||||
return bb.parse.siggen.stampcleanmask(stamp, file_name, taskname, extrainfo)
|
cleanmask = bb.parse.siggen.stampcleanmask(stamp, file_name, taskname, extrainfo)
|
||||||
|
|
||||||
|
return [cleanmask, cleanmask.replace(taskflagname, taskflagname + "_setscene")]
|
||||||
|
|
||||||
def make_stamp(task, d, file_name = None):
|
def make_stamp(task, d, file_name = None):
|
||||||
"""
|
"""
|
||||||
|
@ -501,8 +503,8 @@ def make_stamp(task, d, file_name = None):
|
||||||
(d can be a data dict or dataCache)
|
(d can be a data dict or dataCache)
|
||||||
"""
|
"""
|
||||||
cleanmask = stamp_cleanmask_internal(task, d, file_name)
|
cleanmask = stamp_cleanmask_internal(task, d, file_name)
|
||||||
if cleanmask:
|
for mask in cleanmask:
|
||||||
bb.utils.remove(cleanmask)
|
bb.utils.remove(mask)
|
||||||
|
|
||||||
stamp = stamp_internal(task, d, file_name)
|
stamp = stamp_internal(task, d, file_name)
|
||||||
# Remove the file and recreate to force timestamp
|
# Remove the file and recreate to force timestamp
|
||||||
|
|
|
@ -49,7 +49,7 @@ class SignatureGenerator(object):
|
||||||
return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
|
return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
|
||||||
|
|
||||||
def stampcleanmask(self, stampbase, file_name, taskname, extrainfo):
|
def stampcleanmask(self, stampbase, file_name, taskname, extrainfo):
|
||||||
return ("%s.%s*.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
|
return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
|
||||||
|
|
||||||
def dump_sigtask(self, fn, task, stampbase, runtime):
|
def dump_sigtask(self, fn, task, stampbase, runtime):
|
||||||
return
|
return
|
||||||
|
@ -276,7 +276,6 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
|
||||||
k = fn + "." + taskname
|
k = fn + "." + taskname
|
||||||
if clean:
|
if clean:
|
||||||
h = "*"
|
h = "*"
|
||||||
taskname = taskname + "*"
|
|
||||||
elif k in self.taskhash:
|
elif k in self.taskhash:
|
||||||
h = self.taskhash[k]
|
h = self.taskhash[k]
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue