From: Robert Yang Date: Mon, 13 Aug 2012 13:03:45 +0000 (+0800) Subject: rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEB X-Git-Tag: 2015-4~9510 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=23ac392f8b868296eb9e7cd840f9b28ed6917b27;p=openembedded-core.git rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEB * There would be race issue if we put the lock to the WORKDIR, for example: bitbake core-image-sato core-image-sato-sdk If the lock is in their own WORKDIR, the apt-rootfs.conf and Packages.gz maybe be written by two tasks at the same time, which would cause unexpected errors. * Create ${target_rootfs}/etc since the "tar -C" needs it. Note: * The rpm has put the lock to DEPLOY_DIR_RPM * The ipk doesn't need it since it has locks for each deploy directory and put the opkg.conf in his own WORKDIR, which doesn't like deb put the apt-rootfs.conf in ${STAGING_ETCDIR_NATIVE}/apt/. [YOCTO #2495] Signed-off-by: Robert Yang Signed-off-by: Saul Wold --- diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass index 6f89dcfa06..f2d0621b66 100644 --- a/meta/classes/populate_sdk_deb.bbclass +++ b/meta/classes/populate_sdk_deb.bbclass @@ -6,12 +6,13 @@ DEB_SDK_ARCH = "${@[d.getVar('SDK_ARCH', True), "i386"]\ [d.getVar('SDK_ARCH', True) in \ ["x86", "i486", "i586", "i686", "pentium"]]}" -do_populate_sdk[lockfiles] += "${WORKDIR}/deb.lock" +do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" populate_sdk_post_deb () { local target_rootfs=$1 + mkdir -p ${target_rootfs}/etc tar -cf - -C ${STAGING_ETCDIR_NATIVE} -ps apt | tar -xf - -C ${target_rootfs}/etc } diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index 750a8ca082..881fdbd980 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -8,7 +8,7 @@ ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts" do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" do_rootfs[recrdeptask] += "do_package_write_deb" -do_rootfs[lockfiles] += "${WORKDIR}/deb.lock" +do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" DEB_POSTPROCESS_COMMANDS = ""