bitbake.conf: use rootfs/${PN} for IMAGE_ROOTFS
[vuplus_openembedded] / classes / rm_work.bbclass
index e69de29..094f916 100644 (file)
@@ -0,0 +1,53 @@
+#
+# Removes source after build
+#
+# To use it add that line to conf/local.conf:
+#
+# INHERIT += "rm_work"
+#
+
+# Use the completion scheulder by default when rm_work is active
+# to try and reduce disk usage
+BB_SCHEDULER ?= "completion"
+
+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 $dir -rf         
+        fi
+    done
+}
+addtask rm_work after do_${RMWORK_ORIG_TASK}
+
+do_rm_work_all () {
+       :
+}
+do_rm_work_all[recrdeptask] = "do_rm_work"
+addtask rm_work_all after do_rm_work
+
+
+addhandler rmwork_stampfixing_eventhandler
+python rmwork_stampfixing_eventhandler() {
+    from bb.event import getName
+    import os
+
+    if getName(e) == "StampUpdate":
+        for (fn, task) in e.targets:
+            if task == 'rm_work_all':
+                continue
+            stamp = "%s.do_rm_work" % e.stampPrefix[fn]
+            if os.path.exists(stamp):
+                dir = "%s.*" % e.stampPrefix[fn]
+                bb.note("Removing stamps: " + dir)
+                os.system('rm -f '+ dir)
+
+    return NotHandled
+}
+