diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2012-08-13 21:03:45 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-08-17 18:04:23 +0100 |
commit | 21dcd88ceefda09d1c03d982d5de984a8f85d9b4 (patch) | |
tree | b841aacba15eac5086d40c45b56d7728b64104e7 | |
parent | 0348e2c1c2b1b96b57d9f96f2f8c988dbd7fcb9a (diff) | |
download | ast2050-yocto-poky-21dcd88ceefda09d1c03d982d5de984a8f85d9b4.zip ast2050-yocto-poky-21dcd88ceefda09d1c03d982d5de984a8f85d9b4.tar.gz |
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]
(From OE-Core rev: 23ac392f8b868296eb9e7cd840f9b28ed6917b27)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/populate_sdk_deb.bbclass | 3 | ||||
-rw-r--r-- | 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 = "" |