summaryrefslogtreecommitdiff
path: root/classes/failure-cleanup.bbclass
diff options
context:
space:
mode:
authorCliff Brake <cbrake@bec-systems.com>2009-02-20 12:05:35 -0500
committerCliff Brake <cbrake@bec-systems.com>2009-02-20 12:05:35 -0500
commitab066eb3b73656186a445667aa4f8c46b48644b3 (patch)
treed3b964b9c48ef1a6fce2d48534d1a8367df40768 /classes/failure-cleanup.bbclass
parentd512927cbf42dc9a3302ecac790a18d397ea012f (diff)
parentb8215aff2a8d11d99368d7794785b08a6fc0ed4c (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'classes/failure-cleanup.bbclass')
-rw-r--r--classes/failure-cleanup.bbclass18
1 files changed, 18 insertions, 0 deletions
diff --git a/classes/failure-cleanup.bbclass b/classes/failure-cleanup.bbclass
new file mode 100644
index 0000000000..3870c756c8
--- /dev/null
+++ b/classes/failure-cleanup.bbclass
@@ -0,0 +1,18 @@
+# This class clean a package on failure, a nice way to keep diskspace usage down and force rebuilds
+
+# we want to be an event handler
+addhandler failure_eventhandler
+python failure_eventhandler() {
+ from bb import build, event, note, error, data
+ from bb.event import NotHandled, getName
+
+ if e.data is None or getName(e) == "MsgNote":
+ return NotHandled
+
+ name = getName(e)
+ if name == "PkgFailed":
+ bb.note("Exectuting -c clean on failed build")
+ build.exec_func('do_clean', e.data)
+
+ return NotHandled
+}