[oe-commits] [openembedded-core] 55/91: license.bbclass: run chown only under pseudo

git at git.openembedded.org git at git.openembedded.org
Wed Mar 1 12:56:37 UTC 2017


This is an automated email from the git hooks/post-receive script.

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

commit 19118a1408f32bb24d95ab3d7d7faed58cbae900
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Wed Feb 22 17:26:50 2017 +0200

    license.bbclass: run chown only under pseudo
    
    The copy_license_files() function in license.bbclass is called in two
    different contexts. First, it is run as part of the do_populate_lic
    task. In addition, it is called from do_package task when
    LICENSE_CREATE_PACKAGE is enabled. The function has code that changes
    the owner of license files to root which is meant only to happend in the
    latter case - i.e. under do_package which is run under pseudo.
    Previously, the code was blindly always running chown and just ignored
    errors that happened when running from do_populate_lic. This patch
    changes it to be more intelligent, only doing chown when running under
    pseudo.
    
    [YOCTO #10897]
    
    Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/license.bbclass | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index f97e39f..0ff6560 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -377,18 +377,9 @@ def copy_license_files(lic_files_paths, destdir):
                         canlink = False
                     else:
                         raise
-                try:
-                    if canlink:
-                        os.chown(dst,0,0)
-                except OSError as err:
-                    if err.errno in (errno.EPERM, errno.EINVAL):
-                        # Suppress "Operation not permitted" error, as
-                        # sometimes this function is not executed under pseudo.
-                        # Also ignore "Invalid argument" errors that happen in
-                        # some (unprivileged) container environments (no root).
-                        pass
-                    else:
-                        raise
+                # Only chown if we did hardling, and, we're running under pseudo
+                if canlink and os.environ.get('PSEUDO_DISABLED') == '0':
+                    os.chown(dst,0,0)
             if not canlink:
                 begin_idx = int(beginline)-1 if beginline is not None else None
                 end_idx = int(endline) if endline is not None else None

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


More information about the Openembedded-commits mailing list