[oe-commits] [openembedded-core] 06/51: package.bbclass: remove unneeded chmod() and chown()

git at git.openembedded.org git at git.openembedded.org
Wed Aug 10 09:47:31 UTC 2016


rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 26ab4b431da0c00010e8d399f890c5fbf0b03c94
Author: Robert Yang <liezhi.yang at windriver.com>
AuthorDate: Wed Aug 3 01:37:53 2016 -0700

    package.bbclass: remove unneeded chmod() and chown()
    
    * The mode and owner info are saved in inode, hardlink won't change them,
    so remove unneeded chmod() and chown().
    
    * This can avoid the problem that when do_package re-run, the file's mode
    maybe different if it is 0444 (changed to 0644 when re-run), this is
    caused by pseudo adds 'w' on real file, and doesn't track linked source
    when hard link, Peter and Mark may fix pseudo, but the removed code is not
    needed, which can avoid the problem.
    
    * To reproduce the problem, for example, version.c from gzip's ${B}:
    1) bitbake gzip
    2) Edit rpm-native or package.bbclass to make do_package re-run.
    3) bitbake gzip
    After the first build, build/version.c in gzip-dbg is 0444, but after
    the second build, it will be 0644, this because do_package does:
    $ ln ${B}/version.c gzip-dbg/version.c,
    $ chmod 0444 gzip-dbg/version.c (it runs chmod 0644 on the real filesystem)
    And in the second build, the gzip-dbg/version.c will be removed and
    created again, so that stat() can't get 0444 but 0644 since
    ${B}/version.c is not tracked by pseudo.
    
    Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/package.bbclass | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d6204cf..81acc10 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1152,9 +1152,6 @@ python populate_packages () {
             fpath = os.path.join(root,file)
             if not cpath.islink(file):
                 os.link(file, fpath)
-                fstat = cpath.stat(file)
-                os.chmod(fpath, fstat.st_mode)
-                os.chown(fpath, fstat.st_uid, fstat.st_gid)
                 continue
             ret = bb.utils.copyfile(file, fpath)
             if ret is False or ret == 0:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list