summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-25 12:36:46 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-26 16:37:56 +0100
commit2f8ce2c784ddf3f74e8ae68e594f750a47ccc3a9 (patch)
tree51de89b4b2b92044e752ad8d07889d567e226d8a
parent41f88ee1dbda44605301dd7309926e04d146ef52 (diff)
downloadast2050-yocto-poky-2f8ce2c784ddf3f74e8ae68e594f750a47ccc3a9.zip
ast2050-yocto-poky-2f8ce2c784ddf3f74e8ae68e594f750a47ccc3a9.tar.gz
package.bbclass: Clear umask when using os.mkdir
We switched to using os.mkdir with the file creation mode specified as the second parameter. Python masks this with umask behind the scenes which isn't what we want, we really want the permissions we specify. To avoid this we zero the umask beforehand and restore afterwards. Other solutions are possible but would not perform as well which is why we're using os.mkdir in the first place. Martin Jansa deserves the credit for debugging where the problem was. (From OE-Core rev: f91226553e39439bfd17ab2b06c56cb8bf41061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package.bbclass4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index fbb6839..c98c6ec 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -953,6 +953,9 @@ python populate_packages () {
seen = []
+ # os.mkdir masks the permissions with umask so we have to unset it first
+ oldumask = os.umask(0)
+
for pkg in package_list:
root = os.path.join(pkgdest, pkg)
bb.utils.mkdirhier(root)
@@ -1025,6 +1028,7 @@ python populate_packages () {
if ret is False or ret == 0:
raise bb.build.FuncFailed("File population failed")
+ os.umask(oldumask)
os.chdir(workdir)
unshipped = []
OpenPOWER on IntegriCloud