From 69fdfcdda423b55c7251e4d46e82563cda98a63d Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Thu, 27 May 2021 11:54:04 +0200 Subject: add new field .output.artifacts to schema Using the field you can specify an ORed set of positive glob-style patterns for artifacts to retain in the .output.directory. It defaults to including all artifacts. --- mdbp/sbuild.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'mdbp/sbuild.py') diff --git a/mdbp/sbuild.py b/mdbp/sbuild.py index edb3531..5309031 100644 --- a/mdbp/sbuild.py +++ b/mdbp/sbuild.py @@ -4,12 +4,13 @@ import argparse import contextlib +import pathlib import subprocess import sys import tempfile import typing -from .common import buildjson, compute_env, get_dsc +from .common import buildjson, clean_dir, compute_env, get_dsc PerlValue = typing.Union[None, str, typing.List[typing.Any], typing.Dict[str, typing.Any]] @@ -89,16 +90,18 @@ def main() -> None: except KeyError: thing = str(stack.enter_context(get_dsc(build)).absolute()) - proc = subprocess.Popen(["sbuild", thing], - env=dict(SBUILD_CONFIG=sbuildconf.name, - PATH="/usr/bin:/bin"), - cwd=build["output"]["directory"], - stdout=None if build["output"].get("log", True) - else subprocess.DEVNULL, - stderr=subprocess.STDOUT - if build["output"].get("log", True) - else subprocess.DEVNULL) - sys.exit(proc.wait()) + cproc = subprocess.run(["sbuild", thing], + env=dict(SBUILD_CONFIG=sbuildconf.name, + PATH="/usr/bin:/bin"), + cwd=build["output"]["directory"], + stdout=None if build["output"].get("log", True) + else subprocess.DEVNULL, + stderr=subprocess.STDOUT + if build["output"].get("log", True) + else subprocess.DEVNULL) + clean_dir(pathlib.Path(build["output"]["directory"]), + build["output"].get("artifacts", ["*"])) + sys.exit(cproc.returncode) if __name__ == "__main__": main() -- cgit v1.2.3