summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorMark Hatle <mhatle@windriver.com>2010-08-04 06:36:30 -0700
committerMark Hatle <mhatle@windriver.com>2010-08-04 10:40:49 -0700
commitaed7ee04fdd4bb49997a30785fbb100e33a3f2c7 (patch)
treec72ded6dec3a00464eead384f88f0969898408e1 /meta
parentf4322c6adb10ff45e27181cd785ff45a7a68f76a (diff)
downloadopenembedded-core-aed7ee04fdd4bb49997a30785fbb100e33a3f2c7.tar.gz
openembedded-core-aed7ee04fdd4bb49997a30785fbb100e33a3f2c7.tar.bz2
openembedded-core-aed7ee04fdd4bb49997a30785fbb100e33a3f2c7.zip
base.bbclass: Enable fakeroot (pseudo) usage during install and packaging
Use the virtual fakeroot program when installing a package and also during packaging. This is important as it allows us to track full permissions, owners, groups and special files generated by packages. Signed-off-by: Mark Hatle <mhatle@windriver.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/base.bbclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index bcde312220..816de3fcf2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -453,6 +453,17 @@ do_build[func] = "1"
python () {
import exceptions
+ # If we're building a target package we need to use fakeroot (pseudo)
+ # in order to capture permissions, owners, groups and special files
+ if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
+ deps = (bb.data.getVarFlag('do_install', 'depends', d) or "").split()
+ deps.append('virtual/fakeroot-native:do_populate_sysroot')
+ bb.data.setVarFlag('do_install', 'depends', " ".join(deps),d)
+ bb.data.setVarFlag('do_install', 'fakeroot', 1, d)
+ deps = (bb.data.getVarFlag('do_package', 'depends', d) or "").split()
+ deps.append('virtual/fakeroot-native:do_populate_sysroot')
+ bb.data.setVarFlag('do_package', 'depends', " ".join(deps),d)
+ bb.data.setVarFlag('do_package', 'fakeroot', 1, d)
source_mirror_fetch = bb.data.getVar('SOURCE_MIRROR_FETCH', d, 0)
if not source_mirror_fetch:
need_host = bb.data.getVar('COMPATIBLE_HOST', d, 1)