<div dir="ltr">Thanks Mikko, applied to staging.<div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 June 2017 at 14:23, Mikko Rapeli <span dir="ltr"><<a href="mailto:mikko.rapeli@bmw.de" target="_blank">mikko.rapeli@bmw.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Python function subprocess.call() returns the return value of the<br>
executed process. If return values are not checked, errors may<br>
go unnoticed and bad things can happen.<br>
<br>
Change all callers of subprocess.call() which do not check for<br>
the return value to use subprocess.check_call() which raises<br>
CalledProcessError if the subprocess returns with non-zero value.<br>
<br>
<a href="https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module" rel="noreferrer" target="_blank">https://docs.python.org/2/<wbr>library/subprocess.html#using-<wbr>the-subprocess-module</a><br>
<br>
All users of the function were found with:<br>
<br>
$ git grep "subprocess\.call" | \<br>
egrep -v 'if.*subprocess\.call|=\ +subprocess\.call|return.*<wbr>subprocess\.call'<br>
<br>
Tested similar patch on top of yocto jethro. Only compile tested<br>
core-image-minimal on poky master branch.<br>
<br>
</span><span class="">Signed-off-by: Mikko Rapeli <<a href="mailto:mikko.rapeli@bmw.de">mikko.rapeli@bmw.de</a>><br>
---<br>
</span><span class=""> meta/classes/cml1.bbclass | 2 +-<br>
meta/classes/kernel-module-<wbr>split.bbclass | 2 +-<br>
meta/classes/sstate.bbclass | 4 ++--<br>
meta/lib/oeqa/utils/<wbr>buildproject.py | 2 +-<br>
meta/lib/oeqa/utils/<wbr>targetbuild.py | 4 ++--<br>
meta/recipes-extended/cups/<wbr>cups.inc | 2 +-<br>
</span> 6 files changed, 8 insertions(+), 8 deletions(-)<br>
<br>
v3:<br>
rebased<br>
<span class="im HOEnZb"><br>
v2:<br>
split patches to bitbake, meta and scripts<br>
<br>
v1:<br>
<a href="http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136901.html" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>pipermail/openembedded-core/<wbr>2017-May/136901.html</a><br>
<br>
</span><div class="HOEnZb"><div class="h5">diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass<br>
index 38e6613..eb8e790 100644<br>
--- a/meta/classes/cml1.bbclass<br>
+++ b/meta/classes/cml1.bbclass<br>
@@ -63,7 +63,7 @@ python do_diffconfig() {<br>
<br>
if isdiff:<br>
statement = 'diff --unchanged-line-format= --old-line-format= --new-line-format="%L" ' + configorig + ' ' + config + '>' + fragment<br>
- subprocess.call(statement, shell=True)<br>
+ subprocess.check_call(<wbr>statement, shell=True)<br>
<br>
shutil.copy(configorig, config)<br>
<br>
diff --git a/meta/classes/kernel-module-<wbr>split.bbclass b/meta/classes/kernel-module-<wbr>split.bbclass<br>
index 5e10dcf..1035525 100644<br>
--- a/meta/classes/kernel-module-<wbr>split.bbclass<br>
+++ b/meta/classes/kernel-module-<wbr>split.bbclass<br>
@@ -47,7 +47,7 @@ python split_kernel_module_packages () {<br>
tf = tempfile.mkstemp()<br>
tmpfile = tf[1]<br>
cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)<br>
- subprocess.call(cmd, shell=True)<br>
+ subprocess.check_call(cmd, shell=True)<br>
f = open(tmpfile)<br>
l = f.read().split("\000")<br>
f.close()<br>
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass<br>
index 0a12935..f446c3d 100644<br>
--- a/meta/classes/sstate.bbclass<br>
+++ b/meta/classes/sstate.bbclass<br>
@@ -404,7 +404,7 @@ python sstate_hardcode_path_unpack () {<br>
return<br>
<br>
bb.note("Replacing fixme paths in sstate package: %s" % (sstate_hardcode_cmd))<br>
- subprocess.call(sstate_<wbr>hardcode_cmd, shell=True)<br>
+ subprocess.check_call(sstate_<wbr>hardcode_cmd, shell=True)<br>
<br>
# Need to remove this or we'd copy it into the target directory and may<br>
# conflict with another writer<br>
@@ -453,7 +453,7 @@ def sstate_clean_manifest(<wbr>manifest, d, prefix=None):<br>
if os.path.exists(manifest + ".postrm"):<br>
import subprocess<br>
os.chmod(postrm, 0o755)<br>
- subprocess.call(postrm, shell=True)<br>
+ subprocess.check_call(postrm, shell=True)<br>
oe.path.remove(postrm)<br>
<br>
oe.path.remove(manifest)<br>
diff --git a/meta/lib/oeqa/utils/<wbr>buildproject.py b/meta/lib/oeqa/utils/<wbr>buildproject.py<br>
index 487f08b..721f35d 100644<br>
--- a/meta/lib/oeqa/utils/<wbr>buildproject.py<br>
+++ b/meta/lib/oeqa/utils/<wbr>buildproject.py<br>
@@ -52,4 +52,4 @@ class BuildProject(metaclass=<wbr>ABCMeta):<br>
<br>
def clean(self):<br>
self._run('rm -rf %s' % self.targetdir)<br>
- subprocess.call('rm -f %s' % self.localarchive, shell=True)<br>
+ subprocess.check_call('rm -f %s' % self.localarchive, shell=True)<br>
diff --git a/meta/lib/oeqa/utils/<wbr>targetbuild.py b/meta/lib/oeqa/utils/<wbr>targetbuild.py<br>
index 9249fa2..1202d57 100644<br>
--- a/meta/lib/oeqa/utils/<wbr>targetbuild.py<br>
+++ b/meta/lib/oeqa/utils/<wbr>targetbuild.py<br>
@@ -69,7 +69,7 @@ class BuildProject(metaclass=<wbr>ABCMeta):<br>
<br>
def clean(self):<br>
self._run('rm -rf %s' % self.targetdir)<br>
- subprocess.call('rm -f %s' % self.localarchive, shell=True)<br>
+ subprocess.check_call('rm -f %s' % self.localarchive, shell=True)<br>
pass<br>
<br>
class TargetBuildProject(<wbr>BuildProject):<br>
@@ -136,4 +136,4 @@ class SDKBuildProject(BuildProject):<br>
<br>
def _run(self, cmd):<br>
self.log("Running . %s; " % self.sdkenv + cmd)<br>
- return subprocess.call(". %s; " % self.sdkenv + cmd, shell=True)<br>
+ return subprocess.check_call(". %s; " % self.sdkenv + cmd, shell=True)<br>
diff --git a/meta/recipes-extended/cups/<wbr>cups.inc b/meta/recipes-extended/cups/<wbr>cups.inc<br>
index c3fa459..699a34a 100644<br>
--- a/meta/recipes-extended/cups/<wbr>cups.inc<br>
+++ b/meta/recipes-extended/cups/<wbr>cups.inc<br>
@@ -83,7 +83,7 @@ python do_package_append() {<br>
import subprocess<br>
# Change permissions back the way they were, they probably had a reason...<br>
workdir = d.getVar('WORKDIR')<br>
- subprocess.call('chmod 0511 %s/install/cups/var/run/cups/<wbr>certs' % workdir, shell=True)<br>
+ subprocess.check_call('chmod 0511 %s/install/cups/var/run/cups/<wbr>certs' % workdir, shell=True)<br>
}<br>
<br>
PACKAGES =+ "${PN}-lib ${PN}-libimage"<br>
--<br>
1.9.1<br>
<br>
--<br>
______________________________<wbr>_________________<br>
poky mailing list<br>
<a href="mailto:poky@yoctoproject.org">poky@yoctoproject.org</a><br>
<a href="https://lists.yoctoproject.org/listinfo/poky" rel="noreferrer" target="_blank">https://lists.yoctoproject.<wbr>org/listinfo/poky</a><br>
</div></div></blockquote></div><br></div>