summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bitbake/ChangeLog2
-rw-r--r--bitbake/lib/bb/build.py7
2 files changed, 7 insertions, 2 deletions
diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog
index 0c7e6d8a8e..4125e03169 100644
--- a/bitbake/ChangeLog
+++ b/bitbake/ChangeLog
@@ -10,6 +10,8 @@ Changes in BitBake 1.8.x:
- Handle paths in svn fetcher module parameter
- Support the syntax "export VARIABLE"
- Add bzr fetcher
+ - Add support for cleaning directories before a task in the form:
+ do_taskname[cleandirs] = "dir"
Changes in Bitbake 1.8.8:
- Rewrite svn fetcher to make adding extra operations easier
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index e9a6fc8c61..501f4f8206 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -74,10 +74,13 @@ def exec_func(func, d, dirs = None):
if not body:
return
+ cleandirs = (data.expand(data.getVarFlag(func, 'cleandirs', d), d) or "").split()
+ for cdir in cleandirs:
+ os.system("rm -rf %s" % cdir)
+
if not dirs:
- dirs = (data.getVarFlag(func, 'dirs', d) or "").split()
+ dirs = (data.expand(data.getVarFlag(func, 'dirs', d), d) or "").split()
for adir in dirs:
- adir = data.expand(adir, d)
mkdirhier(adir)
if len(dirs) > 0: