From patchwork Sun Dec 12 15:03:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: rm_work.bbclass: allow a shell var to override rm_work Date: Sun, 12 Dec 2010 15:03:49 -0000 From: Frans Meulenbroeks X-Patchwork-Id: 53 Message-Id: <1292166229-23112-1-git-send-email-fransmeulenbroeks@gmail.com> To: openembedded-devel@lists.openembedded.org Sometimes one is building with rm_work, but for a specific build you want to keep the work even if the build is successful. One way to achieve this is to comment the INHERIT += "rm_work" from your local.conf file, but this means that all recipes need to be reparsed which takes some time. This patch introduces a variable KEEP_WORK If this variable is set the work will not be removed. Intended use is KEEP_WORK=1 bitbake yourrecipe.bb Default behaviour is kept the same (in case KEEP_WORK is not set) Note that in order for this to work KEEP_WORK needs to be added to the env var BB_ENV_EXTRAWHITE e.g. export BB_ENV_EXTRAWHITE="KEEP_WORK" We still might want to improve the test so it only keeps the work if KEEP_WORK is > 0 (or do not execute the task at all if KEEP_WORK is not set). Also we might want to add KEEP_WORK to the whitelist of vars that are always ok Signed-off-by: Frans Meulenbroeks Acked-by: Andreas Oberritter --- classes/rm_work.bbclass | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) diff --git a/classes/rm_work.bbclass b/classes/rm_work.bbclass index e6f3aa0..cab74cc 100644 --- a/classes/rm_work.bbclass +++ b/classes/rm_work.bbclass @@ -14,15 +14,18 @@ RMWORK_ORIG_TASK := "${BB_DEFAULT_TASK}" BB_DEFAULT_TASK = "rm_work_all" do_rm_work () { - cd ${WORKDIR} - for dir in * - do - if [ `basename ${dir}` = "temp" ]; then - echo "Not removing temp" - else - echo "Removing $dir" ; rm -rf $dir - fi - done + if [ ! ${KEEP_WORK} ] + then + cd ${WORKDIR} + for dir in * + do + if [ `basename ${dir}` = "temp" ]; then + echo "Not removing temp" + else + echo "Removing $dir" ; rm -rf $dir + fi + done + fi } addtask rm_work after do_${RMWORK_ORIG_TASK}