Skip to contentSkip to conversation

image.bbclass:specify the order of do_rootfs

PATCH In review Hongxu Jia 2 participants 3 messages Jan 5, 2013 – Jan 7, 2013

lore
Share & tools
lore

Hongxu Jia

author
#0 lore raw

cover image.bbclass:specify the order of do_rootfs

The following changes since commit 4a36a32567ecfbc7ce7b967803e6e23314953ef5:

libpng: fix packaging (2012-12-26 11:34:09 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib hongxu/do_rootfs-order
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/do_rootfs-order

Hongxu Jia (1):
image.bbclass:specify the order of do_rootfs

 meta/classes/image.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Signature · 1 line
1.7.10.4
author
#1 lore raw

PATCH 1/1 image.bbclass:specify the order of do_rootfs

The task of do_populate_lic use "bb.build.exec_func" to execute shell function "sstate_create_package", and "bb.build.exec_func" use ${B} as default dir to cd and execute the shell function. At this place, B = "${WORKDIR}/${BPN}-${PV}/", and "${WORKDIR}/${BPN}-${PV}/" is removed by task do_rootfs.

When we use more than one bitabke to run tasks, there is a chance that do_rootfs and do_populate_lic are being executed at the same time. So we should explicity specify the order of do_populate_lic and do_rootfs to let "${WORKDIR}/${BPN}-${PV}/" could be correctly used and removed.

[YOCTO #3674]

---
 meta/classes/image.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/image.bbclass +1 -1
index d3a416d..c2dab36 100644
@@ -472,4 +472,4 @@ do_package_write_ipk[noexec] = "1"
 do_package_write_deb[noexec] = "1"
 do_package_write_rpm[noexec] = "1"
 
-addtask rootfs before do_build
+addtask rootfs before do_build after do_populate_lic
Signature · 1 line
1.7.10.4
#2 lore raw
Quoted 22 lines · Hongxu Jia

The task of do_populate_lic use "bb.build.exec_func" to execute shell function "sstate_create_package", and "bb.build.exec_func" use ${B} as default dir to cd and execute the shell function. At this place, B = "${WORKDIR}/${BPN}-${PV}/", and "${WORKDIR}/${BPN}-${PV}/" is removed by task do_rootfs.

When we use more than one bitabke to run tasks, there is a chance that do_rootfs and do_populate_lic are being executed at the same time. So we should explicity specify the order of do_populate_lic and do_rootfs to let "${WORKDIR}/${BPN}-${PV}/" could be correctly used and removed.

[YOCTO #3674]

---
 meta/classes/image.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/image.bbclass +0 -0
index d3a416d..c2dab36 100644

meta/classes/image.bbclass do_package_write_ipk[noexec] = "1" · line 475

Quoted 5 lines
meta/classes/image.bbclass +1 -1
@@ -472,4 +472,4 @@ do_package_write_ipk[noexec] = "1"
 do_package_write_deb[noexec] = "1"
 do_package_write_rpm[noexec] = "1"
 
-addtask rootfs before do_build
+addtask rootfs before do_build after do_populate_lic

Lets not add pointless ordering constraints.

sstate_create_package[dirs] = "${SSTATE_BUILDDIR}" sstate_unpack_package[dirs] = "${SSTATE_INSTDIR}"

in sstate.bbclass should resolve this and another similar possible race.

Cheers,

Richard