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 | 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 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"]\ | |||
6 | [d.getVar('SDK_ARCH', True) in \ | 6 | [d.getVar('SDK_ARCH', True) in \ |
7 | ["x86", "i486", "i586", "i686", "pentium"]]}" | 7 | ["x86", "i486", "i586", "i686", "pentium"]]}" |
8 | 8 | ||
9 | do_populate_sdk[lockfiles] += "${WORKDIR}/deb.lock" | 9 | do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" |
10 | 10 | ||
11 | populate_sdk_post_deb () { | 11 | populate_sdk_post_deb () { |
12 | 12 | ||
13 | local target_rootfs=$1 | 13 | local target_rootfs=$1 |
14 | 14 | ||
15 | mkdir -p ${target_rootfs}/etc | ||
15 | tar -cf - -C ${STAGING_ETCDIR_NATIVE} -ps apt | tar -xf - -C ${target_rootfs}/etc | 16 | tar -cf - -C ${STAGING_ETCDIR_NATIVE} -ps apt | tar -xf - -C ${target_rootfs}/etc |
16 | } | 17 | } |
17 | 18 | ||
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" | |||
8 | do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" | 8 | do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" |
9 | do_rootfs[recrdeptask] += "do_package_write_deb" | 9 | do_rootfs[recrdeptask] += "do_package_write_deb" |
10 | 10 | ||
11 | do_rootfs[lockfiles] += "${WORKDIR}/deb.lock" | 11 | do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" |
12 | 12 | ||
13 | DEB_POSTPROCESS_COMMANDS = "" | 13 | DEB_POSTPROCESS_COMMANDS = "" |
14 | 14 | ||