diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2011-06-21 23:56:25 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-30 20:57:05 +0100 |
commit | 477f685ce0cb48acf04074ff5be321b38e9974d5 (patch) | |
tree | 041dbede777e5e3c1fb54260301d408e64d06874 /meta/classes | |
parent | b320f558ed06fc1b1f5a61c638fbaabeb0e24f64 (diff) | |
download | poky-477f685ce0cb48acf04074ff5be321b38e9974d5.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.
(From OE-Core rev: 0cfa7ebcf661aa0645c6d4d858b04946ebacb7e4)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/base.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/image.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/staging.bbclass | 1 |
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 () { | |||
262 | # If we're building a target package we need to use fakeroot (pseudo) | 262 | # If we're building a target package we need to use fakeroot (pseudo) |
263 | # in order to capture permissions, owners, groups and special files | 263 | # in order to capture permissions, owners, groups and special files |
264 | if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): | 264 | if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): |
265 | bb.data.setVarFlag('do_configure', 'umask', 022, d) | ||
266 | bb.data.setVarFlag('do_compile', 'umask', 022, d) | ||
265 | deps = (bb.data.getVarFlag('do_install', 'depends', d) or "").split() | 267 | deps = (bb.data.getVarFlag('do_install', 'depends', d) or "").split() |
266 | deps.append('virtual/fakeroot-native:do_populate_sysroot') | 268 | deps.append('virtual/fakeroot-native:do_populate_sysroot') |
267 | bb.data.setVarFlag('do_install', 'depends', " ".join(deps),d) | 269 | bb.data.setVarFlag('do_install', 'depends', " ".join(deps),d) |
268 | bb.data.setVarFlag('do_install', 'fakeroot', 1, d) | 270 | bb.data.setVarFlag('do_install', 'fakeroot', 1, d) |
271 | bb.data.setVarFlag('do_install', 'umask', 022, d) | ||
269 | deps = (bb.data.getVarFlag('do_package', 'depends', d) or "").split() | 272 | deps = (bb.data.getVarFlag('do_package', 'depends', d) or "").split() |
270 | deps.append('virtual/fakeroot-native:do_populate_sysroot') | 273 | deps.append('virtual/fakeroot-native:do_populate_sysroot') |
271 | bb.data.setVarFlag('do_package', 'depends', " ".join(deps),d) | 274 | bb.data.setVarFlag('do_package', 'depends', " ".join(deps),d) |
272 | bb.data.setVarFlag('do_package', 'fakeroot', 1, d) | 275 | bb.data.setVarFlag('do_package', 'fakeroot', 1, d) |
276 | bb.data.setVarFlag('do_package', 'umask', 022, d) | ||
273 | bb.data.setVarFlag('do_package_setscene', 'fakeroot', 1, d) | 277 | bb.data.setVarFlag('do_package_setscene', 'fakeroot', 1, d) |
274 | source_mirror_fetch = bb.data.getVar('SOURCE_MIRROR_FETCH', d, 0) | 278 | source_mirror_fetch = bb.data.getVar('SOURCE_MIRROR_FETCH', d, 0) |
275 | if not source_mirror_fetch: | 279 | 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" | |||
83 | 83 | ||
84 | # Must call real_do_rootfs() from inside here, rather than as a separate | 84 | # Must call real_do_rootfs() from inside here, rather than as a separate |
85 | # task, so that we have a single fakeroot context for the whole process. | 85 | # task, so that we have a single fakeroot context for the whole process. |
86 | do_rootfs[umask] = 022 | ||
87 | |||
86 | fakeroot do_rootfs () { | 88 | fakeroot do_rootfs () { |
87 | #set -x | 89 | #set -x |
88 | rm -rf ${IMAGE_ROOTFS} | 90 | 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() { | |||
58 | } | 58 | } |
59 | 59 | ||
60 | do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}" | 60 | do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}" |
61 | do_populate_sysroot[umask] = 022 | ||
61 | 62 | ||
62 | addtask populate_sysroot after do_install | 63 | addtask populate_sysroot after do_install |
63 | 64 | ||