From: Tom Rini Date: Mon, 7 Jun 2010 15:54:13 +0000 (-0700) Subject: rootfs_ipk/meta-toolchain: Add locking on tasks that add package_update_index_ipk X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e813f8a9e1b607233f3794b2c981ce1d8c84fac;p=openembedded.git rootfs_ipk/meta-toolchain: Add locking on tasks that add package_update_index_ipk We add a lockfile of do_populate_sdk and do_rootfs (in rootfs_ipk) that is also the lockfile that package_update_index_ipk uses. With enough threads it is possible that one image (or meta-toolchain) is attempting to use the package index while another has only reached the point of generating the index leading to an empty index being seen later on. Acked-by: Chris Larson Acked-by: Roman I Khimov Signed-off-by: Tom Rini --- diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 9fa1d5ec6c..0303c54cc6 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -6,6 +6,7 @@ # do_rootfs[depends] += "opkg-native:do_populate_sysroot" +do_rootfs[lockfiles] = "${DEPLOY_DIR_IPK}.lock" IPKG_TMP_DIR = "${IMAGE_ROOTFS}-tmp" IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} -t ${IPKG_TMP_DIR} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}" diff --git a/recipes/meta/canadian-sdk.bb b/recipes/meta/canadian-sdk.bb index 47529a2d96..216044156d 100644 --- a/recipes/meta/canadian-sdk.bb +++ b/recipes/meta/canadian-sdk.bb @@ -169,5 +169,6 @@ do_populate_sdk() { } do_populate_sdk[nostamp] = "1" +do_populate_sdk[lockfiles] = "${DEPLOY_DIR_IPK}.lock" addtask package_update_index_ipk before do_populate_sdk addtask populate_sdk before do_build after do_install diff --git a/recipes/meta/meta-toolchain.bb b/recipes/meta/meta-toolchain.bb index 064fc3b193..82918addec 100644 --- a/recipes/meta/meta-toolchain.bb +++ b/recipes/meta/meta-toolchain.bb @@ -177,5 +177,6 @@ do_populate_sdk() { } do_populate_sdk[nostamp] = "1" +do_populate_sdk[lockfiles] = "${DEPLOY_DIR_IPK}.lock" addtask package_update_index_ipk before do_populate_sdk addtask populate_sdk before do_build after do_install