Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> --- scripts/run-config | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/scripts/run-config b/scripts/run-config index a0e0204..161cca4 100755 --- a/scripts/run-config +++ b/scripts/run-config @@ -8,6 +8,8 @@ import os import sys import subprocess import errno +import fnmatch +import glob import utils @@ -92,6 +94,34 @@ if args.target in ourconfig['overrides']: hp.printheader("Target task %s has %d steps" % (args.target, maxsteps)) +bttarball = None +if "buildtools" in ourconfig and args.workername: + btcfg = utils.getconfig("buildtools", ourconfig) + for entry in btcfg: + if fnmatch.fnmatch(args.workername, entry): + bttarball = btcfg[entry] + break + +btenv = None +if bttarball: + btdir = args.builddir + "../buildtools" + if not os.path.exists(btdir): + btdlpath = utils.getconfig("BASE_SHAREDDIR", ourconfig) + "/buildtools/" + os.path.basename(bttarball) + if not os.path.exists(btdlpath): + os.makedirs(os.path.dirname(btdlpath), exist_ok=True) + subprocess.check_call(["wget", "-O", btdlpath, bttarball]) + os.chmod(btdlpath, 0o775) + subprocess.check_call(["bash", btdlpath, "-d", btdir, "-y"]) + btenv = glob.glob(btdir + "/environment-setup*") + # We either parse or wrap all our execution calls, rock and a hard place :( + with open(btenv[0], "r") as f: + for line in f.readlines(): + if line.startswith("export "): + line = line.split(" ", 1)[1].split("=", 1) + if "$PATH" in line[1]: + line[1] = line[1].replace("$PATH", os.environ["PATH"]) + os.environ[line[0]] = line[1] + finalret = 0 def flush(): -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#50474): https://lists.yoctoproject.org/g/yocto/message/50474 Mute This Topic: https://lists.yoctoproject.org/mt/76695558/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-