[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4846/8267] license.bbclass: run chown only under pseudo
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 4846/8267] license.bbclass: run chown only under pseudo
- Date: Sun, 17 Dec 2017 02:36:34 +0000 (UTC)
commit 6e1aad45967b1f4f52d919a886a2dd394e45e2d2
Author: Markus Lehtonen <markus lehtonen linux intel com>
Date: 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]
(From OE-Core rev: 19118a1408f32bb24d95ab3d7d7faed58cbae900)
Signed-off-by: Markus Lehtonen <markus lehtonen linux intel com>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/classes/license.bbclass | 15 +++------------
1 files 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]