From 5f920c841a4d83fb903ccdf9127cb0fb5617eda1 Mon Sep 17 00:00:00 2001 From: Roman I Khimov Date: Wed, 17 Jun 2009 23:22:57 +0400 Subject: Make package_update_index_ipk proper task with locking Parallel image builds race in package_update_index_ipk, so locking is needed and for a proper lock package_update_index_ipk needs to be a proper task. Acked-by: Tom Rini --- classes/package_ipk.bbclass | 9 ++++++++- classes/rootfs_ipk.bbclass | 4 +--- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass index d4cb3b62e2..1f1b5c9a79 100644 --- a/classes/package_ipk.bbclass +++ b/classes/package_ipk.bbclass @@ -67,10 +67,16 @@ python package_ipk_install () { raise bb.build.FuncFailed } +do_package_update_index_ipk[lockfiles] = "${DEPLOY_DIR_IPK}.lock" +do_package_update_index_ipk[nostamp] = "1" +do_package_update_index_ipk[recrdeptask] += "do_package_write_ipk" +do_package_update_index_ipk[recrdeptask] += "do_package_write_ipk" +do_package_update_index_ipk[depends] += "ipkg-utils-native:do_populate_staging" + # # Update the Packages index files in ${DEPLOY_DIR_IPK} # -package_update_index_ipk () { +do_package_update_index_ipk () { set -x ipkgarchs="${PACKAGE_ARCHS}" @@ -322,3 +328,4 @@ python do_package_write_ipk () { } do_package_write_ipk[dirs] = "${D}" addtask package_write_ipk before do_package_write after do_package +addtask package_update_index_ipk before do_rootfs diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 99a8ed22c2..16dd511fcb 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -5,8 +5,7 @@ # See image.bbclass for a usage of this. # -do_rootfs[depends] += "opkg-native:do_populate_staging ipkg-utils-native:do_populate_staging" -do_rootfs[recrdeptask] += "do_package_write_ipk" +do_rootfs[depends] += "opkg-native:do_populate_staging" IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}" @@ -29,7 +28,6 @@ PACKAGE_INSTALL_append = " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "non fakeroot rootfs_ipk_do_rootfs () { set -x - package_update_index_ipk package_generate_ipkg_conf mkdir -p ${T} -- cgit v1.2.3