[OE-core] [PATCH 1/2] chrpath: correct subprocess.Popen.communicate() return values

Vladimir Zapolskiy vz at mleia.com
Sat Aug 6 01:43:28 UTC 2016


This is a non-functional change, which intends to correct element
names of a tuple returned by Popen.communicate().

Both in python2 and python3 subprocess.Popen.communicate() method
returns a tuple (stdoutdata, stderrdata), thus old assignments and
collateral comments are incorrect from human's point of view, however
formally there is no error in the code.

The change is desired to have to avoid copy-paste errors in future.

Signed-off-by: Vladimir Zapolskiy <vz at mleia.com>
---
 meta/classes/chrpath.bbclass | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index cdd7f27..72e8a12 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -5,17 +5,17 @@ def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
     import subprocess as sub
 
     p = sub.Popen([cmd, '-l', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
-    err, out = p.communicate()
-    # If returned successfully, process stderr for results
+    out, err = p.communicate()
+    # If returned successfully, process stdout for results
     if p.returncode != 0:
         return
 
-    err = err.decode('utf-8')
+    out = out.decode('utf-8')
 
     # Handle RUNPATH as well as RPATH
-    err = err.replace("RUNPATH=","RPATH=")
+    out = out.replace("RUNPATH=","RPATH=")
     # Throw away everything other than the rpath list
-    curr_rpath = err.partition("RPATH=")[2]
+    curr_rpath = out.partition("RPATH=")[2]
     #bb.note("Current rpath for %s is %s" % (fpath, curr_rpath.strip()))
     rpaths = curr_rpath.split(":")
     new_rpaths = []
@@ -46,11 +46,11 @@ def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
     import subprocess as sub
 
     p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
-    err, out = p.communicate()
-    # If returned successfully, process stderr for results
+    out, err = p.communicate()
+    # If returned successfully, process stdout for results
     if p.returncode != 0:
         return
-    for l in err.split("\n"):
+    for l in out.split("\n"):
         if "(compatibility" not in l:
             continue
         rpath = l.partition("(compatibility")[0].strip()
@@ -59,7 +59,7 @@ def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
 
         newpath = "@loader_path/" + os.path.relpath(rpath, os.path.dirname(fpath.replace(rootdir, "/")))
         p = sub.Popen([d.expand("${HOST_PREFIX}install_name_tool"), '-change', rpath, newpath, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
-        err, out = p.communicate()
+        out, err = p.communicate()
 
 def process_dir (rootdir, directory, d):
     import stat
-- 
2.8.1




More information about the Openembedded-core mailing list