summaryrefslogtreecommitdiff
path: root/meta/classes
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes')
-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 bcde31222..816de3fcf 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)