failure-cleanup.bbclass: class that does -c clean on a package that fails to build
authorKoen Kooi <koen@openembedded.org>
Tue, 17 Feb 2009 15:59:16 +0000 (16:59 +0100)
committerKoen Kooi <koen@openembedded.org>
Tue, 17 Feb 2009 15:59:16 +0000 (16:59 +0100)
classes/failure-cleanup.bbclass [new file with mode: 0644]

diff --git a/classes/failure-cleanup.bbclass b/classes/failure-cleanup.bbclass
new file mode 100644 (file)
index 0000000..3870c75
--- /dev/null
@@ -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
+}