]> code.ossystems Code Review - openembedded-core.git/commitdiff
base.bbclass: Enable fakeroot (pseudo) usage during install and packaging
authorMark Hatle <mhatle@windriver.com>
Wed, 4 Aug 2010 13:36:30 +0000 (06:36 -0700)
committerMark Hatle <mhatle@windriver.com>
Wed, 4 Aug 2010 17:40:49 +0000 (10:40 -0700)
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>
meta/classes/base.bbclass

index bcde3122209db21dc56ec61d8144d324449cf5e4..816de3fcf2fc51fc6497100326d8c89b3b0e7360 100644 (file)
@@ -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)