From 477f685ce0cb48acf04074ff5be321b38e9974d5 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 21 Jun 2011 23:56:25 -0500 Subject: 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 Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 4 ++++ meta/classes/image.bbclass | 2 ++ meta/classes/staging.bbclass | 1 + meta/recipes-devtools/installer/adt-installer_1.0.bb | 2 ++ meta/recipes-kernel/linux/linux-tools.inc | 2 ++ 5 files changed, 11 insertions(+) (limited to 'meta') 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 diff --git a/meta/recipes-devtools/installer/adt-installer_1.0.bb b/meta/recipes-devtools/installer/adt-installer_1.0.bb index 8f6e91fc5b..0537440a6f 100644 --- a/meta/recipes-devtools/installer/adt-installer_1.0.bb +++ b/meta/recipes-devtools/installer/adt-installer_1.0.bb @@ -54,6 +54,8 @@ SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ file://opkg/conf/opkg-sdk-i686.conf \ " +do_deploy[umask] = 022 + fakeroot do_deploy () { cd ${WORKDIR} mkdir -p ${ADT_DEPLOY} diff --git a/meta/recipes-kernel/linux/linux-tools.inc b/meta/recipes-kernel/linux/linux-tools.inc index e4740d73bb..729e912714 100644 --- a/meta/recipes-kernel/linux/linux-tools.inc +++ b/meta/recipes-kernel/linux/linux-tools.inc @@ -19,6 +19,8 @@ fakeroot do_install_perf() { addtask compile_perf after do_compile before do_install addtask install_perf after do_install before do_package +do_compile_perf[umask] = 022 +do_install_perf[umask] = 022 PERFDEPENDS = "virtual/libc:do_populate_sysroot elfutils:do_populate_sysroot" PERFDEPENDS_libc-uclibc = "" -- cgit v1.2.3-54-g00ecf