@@ -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:
@@ -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}
@@ -58,6 +58,7 @@ sysroot_stage_all() {
}
do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}"
+do_populate_sysroot[umask] = 022
addtask populate_sysroot after do_install
@@ -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}
@@ -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 = ""
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> --- meta/classes/base.bbclass | 4 ++++ meta/classes/image.bbclass | 2 ++ meta/classes/staging.bbclass | 1 + .../installer/adt-installer_1.0.bb | 2 ++ meta/recipes-kernel/linux/linux-tools.inc | 2 ++ 5 files changed, 11 insertions(+), 0 deletions(-)