From 6c5a52ca8f47388a841eab5e3a7703b38bff3ba7 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 15 Dec 2016 19:09:16 +0000 Subject: utils: Always use datastore's PATH for host_gcc_version 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) (From OE-Core rev: e7ec3228d9a2f40165b60f273205c17438b2c9bb) Signed-off-by: Richard Purdie Hand applied and used d.getVar(True) Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/lib/oe/utils.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index 2b095f1f0a..36cf74f296 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -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) -- cgit 1.2.3-korg