xf86-video-omapfb: pandora: handle cycle/forcer events better
[openembedded.git] / classes / rm_work.bbclass
1 #
2 # Removes source after build
3 #
4 # To use it add that line to conf/local.conf:
5 #
6 # INHERIT += "rm_work"
7 #
8
9 # Use the completion scheulder by default when rm_work is active
10 # to try and reduce disk usage
11 BB_SCHEDULER ?= "completion"
12
13 RMWORK_ORIG_TASK := "${BB_DEFAULT_TASK}"
14 BB_DEFAULT_TASK = "rm_work_all"
15
16 do_rm_work () {
17     cd ${WORKDIR}
18     for dir in *
19     do
20         if [ `basename ${dir}` = "temp" ]; then
21             echo "Not removing temp"
22         else 
23             echo "Removing $dir" ; rm -rf $dir
24         fi
25     done
26 }
27 addtask rm_work after do_${RMWORK_ORIG_TASK}
28
29 do_rm_work_all () {
30         :
31 }
32 do_rm_work_all[recrdeptask] = "do_rm_work"
33 addtask rm_work_all after do_rm_work
34
35
36 addhandler rmwork_stampfixing_eventhandler
37 python rmwork_stampfixing_eventhandler() {
38     if bb.event.getName(e) == "StampUpdate":
39         for (fn, task) in e.targets:
40             if task == 'rm_work_all':
41                 continue
42             stamp = "%s.do_rm_work" % e.stampPrefix[fn]
43             if os.path.exists(stamp):
44                 dir = "%s.*" % e.stampPrefix[fn]
45                 bb.note("Removing stamps: " + dir)
46                 os.system('rm -f '+ dir)
47
48     return NotHandled
49 }
50