summaryrefslogtreecommitdiffstats
path: root/meta/classes/rm_work.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-27 11:05:14 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-27 11:10:57 +0000
commite8e9f56057f3732d2550375a23573ab7231eac22 (patch)
treecea9c90633cf00c59f24dcc980a35ef9afc3aff3 /meta/classes/rm_work.bbclass
parent7476df3fa2cf52cde6785e4fb4e4f59e6a525047 (diff)
downloadpoky-e8e9f56057f3732d2550375a23573ab7231eac22.tar.gz
rm_work.bbclass: Update to convert stamps to setscene stamps
We need to manipulate the stamps when removing WORKDIR to indicte that tasks like compile or install can't just rerun. The most effective method to do this is to convert the layout to match that which would have been the case had the system been build from sstate packages. For example, we'd task stamps like: xxx-1.4.7-r3.do_compile xxx-1.4.7-r3.do_configure xxx-1.4.7-r3.do_fetch xxx-1.4.7-r3.do_generate_toolchain_file xxx-1.4.7-r3.do_install xxx-1.4.7-r3.do_package.emenlow xxx-1.4.7-r3.do_package_write xxx-1.4.7-r3.do_package_write_ipk xxx-1.4.7-r3.do_package_write_rpm xxx-1.4.7-r3.do_patch xxx-1.4.7-r3.do_populate_sysroot.emenlow xxx-1.4.7-r3.do_setscene xxx-1.4.7-r3.do_unpack and after rm_work, we'd have stamps of: xxx-1.4.7-r3.do_package_setscene.emenlow xxx-1.4.7-r3.do_package_write_ipk_setscene xxx-1.4.7-r3.do_package_write_rpm_setscene xxx-1.4.7-r3.do_populate_sysroot_setscene.emenlow We also need to handle stamps in the form xxx-1.4.7-r3.do_package.MACHINE.TASKHASH as used by some signature generators. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/rm_work.bbclass')
-rw-r--r--meta/classes/rm_work.bbclass25
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 260ecb0d8f..501583cdc9 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -26,6 +26,31 @@ do_rm_work () {
26 # Need to add pseudo back or subsqeuent work in this workdir 26 # Need to add pseudo back or subsqeuent work in this workdir
27 # might fail since setscene may not rerun to recreate it 27 # might fail since setscene may not rerun to recreate it
28 mkdir ${WORKDIR}/pseudo/ 28 mkdir ${WORKDIR}/pseudo/
29
30 # Change normal stamps into setscene stamps as they better reflect the
31 # fact WORKDIR is now empty
32 cd `dirname ${STAMP}`
33 for i in `basename ${STAMP}`*
34 do
35 for j in ${SSTATETASKS}
36 do
37 case $i in
38 *do_setscene*)
39 break
40 ;;
41 *_setscene*)
42 i=dummy
43 break
44 ;;
45 *$j|*$j.*)
46 mv $i `echo $i | sed -e "s#${j}#${j}_setscene#"`
47 i=dummy
48 break
49 ;;
50 esac
51 done
52 rm -f $i
53 done
29} 54}
30addtask rm_work after do_${RMWORK_ORIG_TASK} 55addtask rm_work after do_${RMWORK_ORIG_TASK}
31 56