summaryrefslogtreecommitdiff
path: root/classes/failure-cleanup.bbclass
diff options
context:
space:
mode:
authorTom Rini <trini@embeddedalley.com>2009-02-17 12:03:03 -0500
committerTom Rini <trini@embeddedalley.com>2009-02-17 12:03:03 -0500
commitf81fec7605c65dbb3723eed0f651e7ed775ef147 (patch)
tree94363e39f3c40dc90a1bcbf17e2273a21c36a48e /classes/failure-cleanup.bbclass
parentac7555718d48add4e796811b7206417a18e02bf4 (diff)
parentdd9f28f3c110721a1ff61e0ff60060501d75d9f9 (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
+}