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>
This commit is contained in:
Mark Hatle 2011-06-21 23:56:25 -05:00 committed by Richard Purdie
parent b320f558ed
commit 477f685ce0
5 changed files with 11 additions and 0 deletions

View File

@ -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:

View File

@ -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}

View File

@ -58,6 +58,7 @@ sysroot_stage_all() {
}
do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}"
do_populate_sysroot[umask] = 022
addtask populate_sysroot after do_install

View File

@ -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}

View File

@ -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 = ""