aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-10-07 15:41:17 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-07 15:41:17 +0100
commit0e0fadb400b4656c4b15ae4120aa39ff8ed72985 (patch)
treeff7a68626867d8176f791bf95bce8ab64b147cf1 /meta
parentfafb40364dfc3951a1d62a49a412f0e15e284d03 (diff)
downloadopenembedded-core-contrib-0e0fadb400b4656c4b15ae4120aa39ff8ed72985.tar.gz
rootfs_rpm: Add lock file in the rpm deploy directory to allow mutliple rootfs creation tasks to coexist without breaking each other
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/image.bbclass2
-rw-r--r--meta/classes/rootfs_rpm.bbclass4
2 files changed, 5 insertions, 1 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 1b34ac423b..3db34ac193 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -90,7 +90,7 @@ LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVa
do_rootfs[nostamp] = "1"
do_rootfs[dirs] = "${TOPDIR}"
-do_rootfs[lockfiles] = "${IMAGE_ROOTFS}.lock"
+do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
do_build[nostamp] = "1"
# Must call real_do_rootfs() from inside here, rather than as a separate
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index a57894ae5d..f82fcacf5d 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -28,6 +28,10 @@ opkglibdir = "${localstatedir}/lib/opkg"
RPMOPTS="--dbpath ${rpmlibdir} --define='_openall_before_chroot 1'"
RPM="rpm ${RPMOPTS}"
+# RPM doesn't work with multiple rootfs generation at once due to collisions in the use of files
+# in ${DEPLOY_DIR_RPM}. This can be removed if package_update_index_rpm can be called concurrently
+do_rootfs[lockfiles] += "${DEPLOY_DIR_RPM}/rpm.lock"
+
fakeroot rootfs_rpm_do_rootfs () {
set +x