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:10 +0100 |
commit | 23ac392f8b868296eb9e7cd840f9b28ed6917b27 (patch) | |
tree | cf879e4a39ecdbb6a5431264519f092d5e350de0 /meta/classes | |
parent | 2d6d2549676bb6a84a049f41d6ed31107efc28ad (diff) | |
download | openembedded-core-23ac392f8b868296eb9e7cd840f9b28ed6917b27.tar.gz openembedded-core-23ac392f8b868296eb9e7cd840f9b28ed6917b27.tar.bz2 openembedded-core-23ac392f8b868296eb9e7cd840f9b28ed6917b27.zip |
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@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes')
-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 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 = "" |