[yocto] [yocto-autobuilder2][PATCH 3/3] Support for absolute paths to config files
Thomas Goodwin
btgoodwin at geontech.com
Tue Jul 30 11:36:21 PDT 2019
Using absolute paths in ABHELPER_JSON with remote-loading
now works; the paths are stripped to os.path.basename()
before being provided to the builders.
Signed-off-by: Thomas Goodwin <btgoodwin at geontech.com>
---
builders.py | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/builders.py b/builders.py
index 35903de..16c1344 100644
--- a/builders.py
+++ b/builders.py
@@ -4,6 +4,7 @@ from yoctoabb import config
from yoctoabb.steps.writelayerinfo import WriteLayerInfo
from yoctoabb.steps.observer import RunConfigLogObserver
from datetime import datetime
+import copy
import os
import json
@@ -38,6 +39,13 @@ def add_abhelper_steps(factory):
workerdest=worker_helper,
haltOnFailure=True ))
+# At the worker, all paths are relative to builddir/yocto-autobuilder-helper
+# once the add_abhelper_steps run.
+worker_env = copy.deepcopy(extra_env)
+if worker_env.get('ABHELPER_JSON'):
+ configs = [os.path.basename(c) for c in worker_env['ABHELPER_JSON'].split(" ")]
+ worker_env['ABHELPER_JSON'] = " ".join(configs)
+
@util.renderer
def get_sstate_release_number(props):
"""
@@ -216,7 +224,7 @@ for builder in config.subbuilders:
workers = config.builder_to_workers['default']
builders.append(util.BuilderConfig(name=builder,
workernames=workers,
- factory=f, env=extra_env))
+ factory=f, env=worker_env))
def create_parent_builder_factory(buildername, waitname):
factory = util.BuildFactory()
@@ -337,5 +345,5 @@ def create_parent_builder_factory(buildername, waitname):
return factory
-builders.append(util.BuilderConfig(name="a-quick", workernames=config.workers, factory=create_parent_builder_factory("a-quick", "wait-quick"), env=extra_env))
-builders.append(util.BuilderConfig(name="a-full", workernames=config.workers, factory=create_parent_builder_factory("a-full", "wait-full"), env=extra_env))
+builders.append(util.BuilderConfig(name="a-quick", workernames=config.workers, factory=create_parent_builder_factory("a-quick", "wait-quick"), env=worker_env))
+builders.append(util.BuilderConfig(name="a-full", workernames=config.workers, factory=create_parent_builder_factory("a-full", "wait-full"), env=worker_env))
--
2.17.1
More information about the yocto
mailing list