mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
sstate/utility-tasks: Ensure do_clean functions correctly and removes shared state
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
@@ -188,23 +188,24 @@ def sstate_clean(ss, d):
|
|||||||
bb.utils.unlockfile(lock)
|
bb.utils.unlockfile(lock)
|
||||||
|
|
||||||
SCENEFUNCS += "sstate_cleanall"
|
SCENEFUNCS += "sstate_cleanall"
|
||||||
|
CLEANFUNCS += "sstate_cleanall"
|
||||||
|
|
||||||
python sstate_cleanall() {
|
python sstate_cleanall() {
|
||||||
import fnmatch
|
import fnmatch
|
||||||
|
|
||||||
bb.note("Removing %s from staging" % bb.data.getVar('PN', d, True))
|
bb.note("Removing shared state for package %s" % bb.data.getVar('PN', d, True))
|
||||||
|
|
||||||
manifest_dir = bb.data.getVar('PSTAGE2_MANIFESTS', d, True)
|
manifest_dir = bb.data.getVar('PSTAGE2_MANIFESTS', d, True)
|
||||||
manifest_pattern = bb.data.expand("manifest-${PN}.*", d)
|
manifest_pattern = bb.data.expand("manifest-${PN}.*", d)
|
||||||
|
|
||||||
|
if not os.path.exists(manifest_dir):
|
||||||
|
return
|
||||||
|
|
||||||
for manifest in (os.listdir(manifest_dir)):
|
for manifest in (os.listdir(manifest_dir)):
|
||||||
if fnmatch.fnmatch(manifest, manifest_pattern):
|
if fnmatch.fnmatch(manifest, manifest_pattern):
|
||||||
sstate_clean_manifest(manifest_dir + "/" + manifest, d)
|
sstate_clean_manifest(manifest_dir + "/" + manifest, d)
|
||||||
}
|
}
|
||||||
|
|
||||||
do_clean[postfuncs] += "sstate_cleanall"
|
|
||||||
do_clean[dirs] += "${PSTAGE2_MANIFESTS}"
|
|
||||||
|
|
||||||
def sstate_package(ss, d):
|
def sstate_package(ss, d):
|
||||||
import oe.path
|
import oe.path
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ python do_listtasks() {
|
|||||||
sys.__stdout__.write("%s\n" % e)
|
sys.__stdout__.write("%s\n" % e)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CLEANFUNCS ?= ""
|
||||||
|
|
||||||
addtask clean
|
addtask clean
|
||||||
do_clean[nostamp] = "1"
|
do_clean[nostamp] = "1"
|
||||||
python do_clean() {
|
python do_clean() {
|
||||||
@@ -21,6 +23,9 @@ python do_clean() {
|
|||||||
dir = "%s.*" % bb.data.expand(bb.data.getVar('STAMP', d), d)
|
dir = "%s.*" % bb.data.expand(bb.data.getVar('STAMP', d), d)
|
||||||
bb.note("Removing " + dir)
|
bb.note("Removing " + dir)
|
||||||
oe.path.remove(dir)
|
oe.path.remove(dir)
|
||||||
|
|
||||||
|
for f in (bb.data.getVar('CLEANFUNCS', d, 1) or '').split():
|
||||||
|
bb.build.exec_func(f, d)
|
||||||
}
|
}
|
||||||
|
|
||||||
addtask rebuild after do_${BB_DEFAULT_TASK}
|
addtask rebuild after do_${BB_DEFAULT_TASK}
|
||||||
|
|||||||
Reference in New Issue
Block a user