merge of '17c778274717898b377338f8552576cb4fd350eb'
[vuplus_openembedded] / 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 RMWORK_ORIG_TASK := "${BB_DEFAULT_TASK}"
10 BB_DEFAULT_TASK = "rm_work_all"
11
12 do_rm_work () {
13     cd ${WORKDIR}
14     for dir in *
15     do
16         if [ `basename ${S}` = $dir ]; then
17             rm -rf $dir
18         fi
19     done
20 }
21 addtask rm_work after do_${RMWORK_ORIG_TASK}
22
23 do_rm_work_all () {
24         :
25 }
26 do_rm_work_all[recrdeptask] = "do_rm_work"
27 addtask rm_work_all after do_rm_work
28
29
30 addhandler rmwork_stampfixing_eventhandler
31 python rmwork_stampfixing_eventhandler() {
32     from bb.event import getName
33     import os
34
35     if getName(e) == "StampUpdate":
36         for (fn, task) in e.targets:
37             if task == 'rm_work_all':
38                 continue
39             stamp = "%s.do_rm_work" % e.stampPrefix[fn]
40             if os.path.exists(stamp):
41                 dir = "%s.*" % e.stampPrefix[fn]
42                 bb.note("Removing stamps: " + dir)
43                 os.system('rm -f '+ dir)
44
45     return NotHandled
46 }
47