From: Bjørn Forsman Date: Mon, 25 Apr 2016 01:10:35 +0000 (-0700) Subject: license.bbclass: fix warnings when run in unprivileged "container" env X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=e49794b9fe3391073138cb6116a46b37dd5119e7;p=openembedded-core.git license.bbclass: fix warnings when run in unprivileged "container" env An unprivileged "container" environment like this[1] doesn't have root account (uid 0) which causes tons of "Invalid argument" warnings: $ bitbake ... ... WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]' WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]' WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]' ... Fix it by handling EINVAL similar to existing handling of EPERM (which was added for when not running under pseudo). [1]: The real environemnt is buildFHSUserEnv from NixOS/nixpkgs, but a demonstration of the issue can be done like this: $ touch f $ unshare --user --mount chown 0:0 f chown: changing ownership of ‘f’: Invalid argument (From OE-Core master rev: d00b2250a6afebd7d1373c04b4006290f0cd4043) Signed-off-by: Bjørn Forsman Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index c714da31f4..db0fc51fea 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -189,9 +189,11 @@ def copy_license_files(lic_files_paths, destdir): os.chown(dst,0,0) except OSError as err: import errno - if err.errno == errno.EPERM: - # suppress "Operation not permitted" error, as - # sometimes this function is not executed under pseudo + 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