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 | ||
