[oe-commits] Robert Yang : rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEB

git at git.openembedded.org git at git.openembedded.org
Fri Aug 17 17:09:25 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 23ac392f8b868296eb9e7cd840f9b28ed6917b27
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=23ac392f8b868296eb9e7cd840f9b28ed6917b27

Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Mon Aug 13 21:03:45 2012 +0800

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 <liezhi.yang at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/classes/populate_sdk_deb.bbclass |    3 ++-
 meta/classes/rootfs_deb.bbclass       |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
index 6f89dcf..f2d0621 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 750a8ca..881fdbd 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 = ""
 





More information about the Openembedded-commits mailing list