<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">&lt;<a href="mailto:mikko.rapeli@bmw.de" target="_blank">mikko.rapeli@bmw.de</a>&gt;</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 &quot;subprocess\.call&quot; | \<br>
  egrep -v &#39;if.*subprocess\.call|=\ +subprocess\.call|return.*<wbr>subprocess\.call&#39;<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 &lt;<a href="mailto:mikko.rapeli@bmw.de">mikko.rapeli@bmw.de</a>&gt;<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 = &#39;diff --unchanged-line-format= --old-line-format= --new-line-format=&quot;%L&quot; &#39; + configorig + &#39; &#39; + config + &#39;&gt;&#39; + 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 = &quot;%sobjcopy -j .modinfo -O binary %s %s&quot; % (d.getVar(&quot;HOST_PREFIX&quot;) or &quot;&quot;, file, tmpfile)<br>
-        subprocess.call(cmd, shell=True)<br>
+        subprocess.check_call(cmd, shell=True)<br>
         f = open(tmpfile)<br>
         l = f.read().split(&quot;\000&quot;)<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(&quot;Replacing fixme paths in sstate package: %s&quot; % (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&#39;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 + &quot;.postrm&quot;):<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(&#39;rm -rf %s&#39; % self.targetdir)<br>
-        subprocess.call(&#39;rm -f %s&#39; % self.localarchive, shell=True)<br>
+        subprocess.check_call(&#39;rm -f %s&#39; % 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(&#39;rm -rf %s&#39; % self.targetdir)<br>
-        subprocess.call(&#39;rm -f %s&#39; % self.localarchive, shell=True)<br>
+        subprocess.check_call(&#39;rm -f %s&#39; % 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(&quot;Running . %s; &quot; % self.sdkenv + cmd)<br>
-        return subprocess.call(&quot;. %s; &quot; % self.sdkenv + cmd, shell=True)<br>
+        return subprocess.check_call(&quot;. %s; &quot; % 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(&#39;WORKDIR&#39;)<br>
-    subprocess.call(&#39;chmod 0511 %s/install/cups/var/run/cups/<wbr>certs&#39; % workdir, shell=True)<br>
+    subprocess.check_call(&#39;chmod 0511 %s/install/cups/var/run/cups/<wbr>certs&#39; % workdir, shell=True)<br>
 }<br>
<br>
 PACKAGES =+ &quot;${PN}-lib ${PN}-libimage&quot;<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>