summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
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 /meta/classes/package.bbclass
parent41f88ee1dbda44605301dd7309926e04d146ef52 (diff)
downloadpoky-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>
Diffstat (limited to 'meta/classes/package.bbclass')
-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 fbb68391b9..c98c6ec4eb 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -953,6 +953,9 @@ python populate_packages () {
953 953
954 seen = [] 954 seen = []
955 955
956 # os.mkdir masks the permissions with umask so we have to unset it first
957 oldumask = os.umask(0)
958
956 for pkg in package_list: 959 for pkg in package_list:
957 root = os.path.join(pkgdest, pkg) 960 root = os.path.join(pkgdest, pkg)
958 bb.utils.mkdirhier(root) 961 bb.utils.mkdirhier(root)
@@ -1025,6 +1028,7 @@ python populate_packages () {
1025 if ret is False or ret == 0: 1028 if ret is False or ret == 0:
1026 raise bb.build.FuncFailed("File population failed") 1029 raise bb.build.FuncFailed("File population failed")
1027 1030
1031 os.umask(oldumask)
1028 os.chdir(workdir) 1032 os.chdir(workdir)
1029 1033
1030 unshipped = [] 1034 unshipped = []