summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2012-08-13 21:03:45 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-17 18:04:23 +0100
commit21dcd88ceefda09d1c03d982d5de984a8f85d9b4 (patch)
treeb841aacba15eac5086d40c45b56d7728b64104e7
parent0348e2c1c2b1b96b57d9f96f2f8c988dbd7fcb9a (diff)
downloadpoky-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.bbclass3
-rw-r--r--meta/classes/rootfs_deb.bbclass2
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
9do_populate_sdk[lockfiles] += "${WORKDIR}/deb.lock" 9do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
10 10
11populate_sdk_post_deb () { 11populate_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"
8do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" 8do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"
9do_rootfs[recrdeptask] += "do_package_write_deb" 9do_rootfs[recrdeptask] += "do_package_write_deb"
10 10
11do_rootfs[lockfiles] += "${WORKDIR}/deb.lock" 11do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
12 12
13DEB_POSTPROCESS_COMMANDS = "" 13DEB_POSTPROCESS_COMMANDS = ""
14 14