* [PATCH] package.bbclass: Call os.chmod after os.mkdir
@ 2013-09-08 15:01 Martin Jansa
2013-09-08 23:03 ` Richard Purdie
0 siblings, 1 reply; 2+ messages in thread
From: Martin Jansa @ 2013-09-08 15:01 UTC (permalink / raw)
To: openembedded-core
* in 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18 os.chmod was replaced by 2nd param
to os.mkdir:
- bb.utils.mkdirhier(dest)
- fstat = os.stat(src)
- os.chmod(dest, fstat.st_mode)
+ fstat = cpath.stat(src)
+ os.mkdir(dest, fstat.st_mode)
but fstat in os.mkdir, doesn't work the same as good old os.chmod:
>>> p='test-p'
>>> os.mkdir(p, 041777)
>>> oct(os.stat(p).st_mode)
'041775'
>>> os.chmod(p, 041777)
>>> oct(os.stat(p).st_mode)
'041777'
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/classes/package.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index bdac2bd..c96acd2 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -988,8 +988,9 @@ python populate_packages () {
def mkdir(src, dest, p):
src = os.path.join(src, p)
dest = os.path.join(dest, p)
+ bb.utils.mkdirhier(dest)
fstat = cpath.stat(src)
- os.mkdir(dest, fstat.st_mode)
+ os.chmod(dest, fstat.st_mode)
os.chown(dest, fstat.st_uid, fstat.st_gid)
if p not in seen:
seen.append(p)
--
1.8.3.2
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] package.bbclass: Call os.chmod after os.mkdir
2013-09-08 15:01 [PATCH] package.bbclass: Call os.chmod after os.mkdir Martin Jansa
@ 2013-09-08 23:03 ` Richard Purdie
0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2013-09-08 23:03 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-core
On Sun, 2013-09-08 at 17:01 +0200, Martin Jansa wrote:
> * in 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18 os.chmod was replaced by 2nd param
> to os.mkdir:
> - bb.utils.mkdirhier(dest)
> - fstat = os.stat(src)
> - os.chmod(dest, fstat.st_mode)
> + fstat = cpath.stat(src)
> + os.mkdir(dest, fstat.st_mode)
>
> but fstat in os.mkdir, doesn't work the same as good old os.chmod:
> >>> p='test-p'
> >>> os.mkdir(p, 041777)
> >>> oct(os.stat(p).st_mode)
> '041775'
> >>> os.chmod(p, 041777)
> >>> oct(os.stat(p).st_mode)
> '041777'
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> meta/classes/package.bbclass | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index bdac2bd..c96acd2 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -988,8 +988,9 @@ python populate_packages () {
> def mkdir(src, dest, p):
> src = os.path.join(src, p)
> dest = os.path.join(dest, p)
> + bb.utils.mkdirhier(dest)
> fstat = cpath.stat(src)
> - os.mkdir(dest, fstat.st_mode)
> + os.chmod(dest, fstat.st_mode)
> os.chown(dest, fstat.st_uid, fstat.st_gid)
> if p not in seen:
> seen.append(p)
Can we set and then restore the umask to avoid having to do this? I ask
since from what I remember, changing things like this is quite expensive
performance wise :(
Cheers,
Richard
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-08 23:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-08 15:01 [PATCH] package.bbclass: Call os.chmod after os.mkdir Martin Jansa
2013-09-08 23:03 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox