summaryrefslogtreecommitdiff
path: root/mdbp/sbuild.py
diff options
context:
space:
mode:
Diffstat (limited to 'mdbp/sbuild.py')
-rw-r--r--mdbp/sbuild.py25
1 files changed, 14 insertions, 11 deletions
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()