rm_work.bbclass: inhibit rm_work per recipe

Use RM_WORK_WHITELIST to inhibit rm_work per recipe. In this way,
one can use rm_work for the most of the recipes but still keep the
work area for the recipe(s) one is working on.

As an example, the following settings in local.conf will inhibit
rm_work for icu-native, icu and busybox.
    INHERIT += "rm_work"
    RM_WORK_WHITELIST += "icu-native icu busybox"

If we comment out the RM_WORK_WHITELIST line and do a rebuild, the
working area of these recipes will be cleaned up.

[YOCTO #3675]

(From OE-Core rev: 6c930c3c06f2e698540626c87bd7f7f571df35ef)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi 2013-03-13 15:01:33 +08:00 committed by Richard Purdie
parent 52026492c6
commit 83409910dd
1 changed files with 13 additions and 0 deletions

View File

@ -5,6 +5,11 @@
#
# INHERIT += "rm_work"
#
# To inhibit rm_work for some recipes, specify them in RM_WORK_WHITELIST.
# For example, in conf/local.conf:
#
# RM_WORK_WHITELIST += "icu-native icu busybox"
#
# Use the completion scheduler by default when rm_work is active
# to try and reduce disk usage
@ -14,6 +19,14 @@ RMWORK_ORIG_TASK := "${BB_DEFAULT_TASK}"
BB_DEFAULT_TASK = "rm_work_all"
do_rm_work () {
# If the recipe name is in the RM_WORK_WHITELIST, skip the recipe.
for p in ${RM_WORK_WHITELIST}; do
if [ "$p" = "${PN}" ]; then
bbnote "rm_work: Skipping ${PN} since it is in RM_WORK_WHITELIST"
exit 0
fi
done
cd ${WORKDIR}
for dir in *
do