]> code.ossystems Code Review - openembedded-core.git/commitdiff
utils: Always use datastore's PATH for host_gcc_version
authorRoss Burton <ross.burton@intel.com>
Thu, 15 Dec 2016 19:09:16 +0000 (19:09 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 11 Jan 2017 11:46:53 +0000 (11:46 +0000)
BUILD_CC may reference something like ccache and expect this to come from
ccache-native, we at least have some selftests which assume this. Modify the
code to use PATH when runnig BUILD_CC to ensure the tests continue to work
as expected.

(From OE-Core rev: f3e753372baac43d0921186340cf260df056de20)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hand applied and used d.getVar(True)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/lib/oe/utils.py

index 2b095f1f0a028dade0166b1262f6009cc9c60c81..36cf74f2968303ba1d3396a643fedb5cf9a452c4 100644 (file)
@@ -231,12 +231,17 @@ def format_pkg_list(pkg_dict, ret_format=None):
     return '\n'.join(output)
 
 def host_gcc_version(d):
+    import re, subprocess
+
     compiler = d.getVar("BUILD_CC", True)
-    retval, output = getstatusoutput("%s --version" % compiler)
-    if retval:
-        bb.fatal("Error running %s --version: %s" % (compiler, output))
 
-    import re
+    try:
+        env = os.environ.copy()
+        env["PATH"] = d.getVar("PATH", True)
+        output = subprocess.check_output("%s --version" % compiler, shell=True, env=env).decode("utf-8")
+    except subprocess.CalledProcessError as e:
+        bb.fatal("Error running %s --version: %s" % (compiler, e.output.decode("utf-8")))
+
     match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0])
     if not match:
         bb.fatal("Can't get compiler version from %s --version output" % compiler)