[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7965/8267] cml1: remove diffconfig return code checking
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 7965/8267] cml1: remove diffconfig return code checking
- Date: Sun, 17 Dec 2017 06:59:18 +0000 (UTC)
commit 748356ff34899ce74d3d682e13d05b8bc2bc05e3
Author: Bruce Ashfield <bruce ashfield windriver com>
Date: Thu Sep 28 11:59:09 2017 -0400
cml1: remove diffconfig return code checking
The following commit:
[
commit 578c8205fd14c48c6d30ef2889d86f1b4aee060a
Author: Mikko Rapeli <mikko rapeli bmw de>
Date: Thu Jun 22 16:23:14 2017 +0300
meta: Fix return value checks from subprocess.call()'s
Python function subprocess.call() returns the return value of the
executed process. If return values are not checked, errors may
go unnoticed and bad things can happen.
Change all callers of subprocess.call() which do not check for
the return value to use subprocess.check_call() which raises
CalledProcessError if the subprocess returns with non-zero value.
https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module
All users of the function were found with:
$ git grep "subprocess\.call" | \
egrep -v 'if.*subprocess\.call|=\
+subprocess\.call|return.*subprocess\.call'
Tested similar patch on top of yocto jethro. Only compile tested
core-image-minimal on poky master branch.
Signed-off-by: Mikko Rapeli <mikko rapeli bmw de>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
]
Added return code checking to do_diffconfig. Although the change is
well intentioned, it isn't correct in this instance since 'diff' returns
'1' to indicate that there are differences in the files .. and not as
an error code.
subprocess.check_call() flags this as an error and the routine aborts.
We are already checking the inputs, and in fact already know there's a
diff in the files before we even make the call, so there's no need to
look for an error in this case.
Putting back subprocess.call() restores the routine to working order.
[YOCTO #12132]
(From OE-Core rev: ec48b8fd79181978f90b4b0ab00fbe78ddbd416e)
Signed-off-by: Bruce Ashfield <bruce ashfield windriver com>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/classes/cml1.bbclass | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass
index eb8e790..926747f 100644
--- a/meta/classes/cml1.bbclass
+++ b/meta/classes/cml1.bbclass
@@ -63,8 +63,9 @@ python do_diffconfig() {
if isdiff:
statement = 'diff --unchanged-line-format= --old-line-format= --new-line-format="%L" ' + configorig
+ ' ' + config + '>' + fragment
- subprocess.check_call(statement, shell=True)
-
+ subprocess.call(statement, shell=True)
+ # No need to check the exit code as we know it's going to be
+ # non-zero, but that's what we expect.
shutil.copy(configorig, config)
bb.plain("Config fragment has been dumped into:\n %s" % fragment)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]