diff options
Diffstat (limited to 'mdbp')
-rw-r--r-- | mdbp/pbuilder.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/mdbp/pbuilder.py b/mdbp/pbuilder.py index f1c48e3..1394034 100644 --- a/mdbp/pbuilder.py +++ b/mdbp/pbuilder.py @@ -10,11 +10,23 @@ import shlex import subprocess import sys import tempfile +import typing from .common import AddSpaceSeparatedValues, buildjson, clean_dir, \ compute_env, get_dsc, make_option, profile_option, \ temporary_static_file +def find_basetgz(distribution: str, + basedir: str = "/var/cache/pbuiler") -> typing.Optional[str]: + """Locate a pbuilder base.tgz for the given distribution.""" + if distribution in ("sid", "unstable"): + return None + for pat in ("/%s-base.tgz", "/%s.tgz"): + basetgz = basedir + pat % distribution + if pathlib.Path(basetgz).is_file(): + return basetgz + raise ValueError("unsupported distribution %s" % distribution) + def main() -> None: """Entry point for mdbp-pbuilder backend""" parser = argparse.ArgumentParser() @@ -45,24 +57,13 @@ def main() -> None: if "bd-uninstallable-explainer" in build: raise ValueError("bd-uninstallable-explainer %r not supported" % build["bd-uinstallable-explainer"]) - if build["distribution"] in ("sid", "unstable"): - basetgz = None - else: - for pat in ("/var/cache/pbuilder/%s-base.tgz", - "/var/cache/pbuidler/%s.tgz"): - basetgz = pat % build["distribution"] - if pathlib.Path(basetgz).is_file(): - break - else: - raise ValueError("unsupported distribution %s" % - build["distribution"]) cmd = [ *([] if os.getuid() == 0 else ["sudo", "-E", "--"]), "/usr/sbin/pbuilder", "build", "--no-source-only-changes", - *make_option("--basetgz", basetgz), + *make_option("--basetgz", find_basetgz(build["distribution"])), *make_option("--architecture", build.get("build_architecture")), *make_option("--host-arch", build.get("host_architecture")), *make_option("--othermirror", |