summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-06-21 23:56:25 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-30 20:46:34 +0100
commit0cfa7ebcf661aa0645c6d4d858b04946ebacb7e4 (patch)
tree38957f48c6aee97271a6494fb7fd1d192e700767 /meta/classes
parentdb6a4e07f3a35163c751996ca3ac86b6bf5650e9 (diff)
downloadopenembedded-core-0cfa7ebcf661aa0645c6d4d858b04946ebacb7e4.tar.gz
Add umask task control
Bitbake now allows the umask to be specified per task. The following tasks will have a umask of 022 set by default: do_configure do_compile do_install do_package do_populate_sysroot do_rootfs do_configure and do_compile need a umask of 022 set because -many- recipes directly copy generated files out of recipe's build directory. Instead of fixing each existing and future recipe, it was shown to be much easier to just set the umask. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/base.bbclass4
-rw-r--r--meta/classes/image.bbclass2
-rw-r--r--meta/classes/staging.bbclass1
3 files changed, 7 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 1f9baf93bf..52f231675c 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -262,14 +262,18 @@ python () {
# 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):
+ bb.data.setVarFlag('do_configure', 'umask', 022, d)
+ bb.data.setVarFlag('do_compile', 'umask', 022, 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)
+ bb.data.setVarFlag('do_install', 'umask', 022, 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)
+ bb.data.setVarFlag('do_package', 'umask', 022, d)
bb.data.setVarFlag('do_package_setscene', 'fakeroot', 1, d)
source_mirror_fetch = bb.data.getVar('SOURCE_MIRROR_FETCH', d, 0)
if not source_mirror_fetch:
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 2469442d70..e77ec427fc 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -83,6 +83,8 @@ do_build[nostamp] = "1"
# Must call real_do_rootfs() from inside here, rather than as a separate
# task, so that we have a single fakeroot context for the whole process.
+do_rootfs[umask] = 022
+
fakeroot do_rootfs () {
#set -x
rm -rf ${IMAGE_ROOTFS}
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index fef6457398..04d51ede42 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -58,6 +58,7 @@ sysroot_stage_all() {
}
do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}"
+do_populate_sysroot[umask] = 022
addtask populate_sysroot after do_install