diff --git a/osbuild/__init__.py b/osbuild/__init__.py index 19b2934f..e6d55296 100644 --- a/osbuild/__init__.py +++ b/osbuild/__init__.py @@ -8,11 +8,10 @@ The utility module `osbuild.util` provides access to common functionality independent of osbuild but used across the osbuild codebase. """ -from .pipeline import Assembler, Manifest, Pipeline, Stage +from .pipeline import Manifest, Pipeline, Stage __all__ = [ - "Assembler", "Manifest", "Pipeline", "Stage", diff --git a/osbuild/monitor.py b/osbuild/monitor.py index f8da0d07..f7e538a1 100644 --- a/osbuild/monitor.py +++ b/osbuild/monitor.py @@ -66,7 +66,7 @@ class BaseMonitor(abc.ABC): def stage(self, stage: osbuild.Stage): """Called when a stage is being built""" - def assembler(self, assembler: osbuild.Assembler): + def assembler(self, assembler: osbuild.Stage): """Called when an assembler is being built""" def result(self, result: osbuild.pipeline.BuildResult): diff --git a/osbuild/pipeline.py b/osbuild/pipeline.py index 314d0ad8..4973d17d 100644 --- a/osbuild/pipeline.py +++ b/osbuild/pipeline.py @@ -110,57 +110,6 @@ class Stage: return BuildResult(self, r.returncode, r.output, api.metadata, api.error) -class Assembler: - def __init__(self, name, build, base, options): - self.name = name - self.build = build - self.base = base - self.options = options - self.checkpoint = False - - @property - def id(self): - m = hashlib.sha256() - m.update(json.dumps(self.name, sort_keys=True).encode()) - m.update(json.dumps(self.build, sort_keys=True).encode()) - m.update(json.dumps(self.base, sort_keys=True).encode()) - m.update(json.dumps(self.options, sort_keys=True).encode()) - return m.hexdigest() - - def run(self, tree, runner, build_tree, monitor, libdir, output_dir, var="/var/tmp"): - with buildroot.BuildRoot(build_tree, runner, libdir, var=var) as build_root: - - args = { - "tree": "/run/osbuild/tree", - "options": self.options, - "meta": { - "id": self.id - } - } - - binds = [] - - output_dir = os.fspath(output_dir) - os.makedirs(output_dir, exist_ok=True) - binds.append(f"{output_dir}:/run/osbuild/output") - args["output_dir"] = "/run/osbuild/output" - - ro_binds = [os.fspath(tree) + ":/run/osbuild/tree"] - - api = API(args, monitor) - build_root.register_api(api) - - rls = remoteloop.LoopServer() - build_root.register_api(rls) - - r = build_root.run([f"/run/osbuild/lib/assemblers/{self.name}"], - monitor, - binds=binds, - readonly_binds=ro_binds) - - return BuildResult(self, r.returncode, r.output, api.metadata, api.error) - - class Pipeline: def __init__(self, runner=None, build=None): self.build = build diff --git a/test/mod/test_monitor.py b/test/mod/test_monitor.py index 5f3e93c7..cb549769 100644 --- a/test/mod/test_monitor.py +++ b/test/mod/test_monitor.py @@ -38,7 +38,7 @@ class TapeMonitor(osbuild.monitor.BaseMonitor): self.counter["stages"] += 1 self.stages.add(stage.id) - def assembler(self, assembler: osbuild.Assembler): + def assembler(self, assembler: osbuild.Stage): self.counter["assembler"] += 1 self.asm = assembler.id