diff options
author | Helmut Grohne <helmut@subdivi.de> | 2021-07-09 20:57:52 +0200 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2021-07-10 14:27:59 +0200 |
commit | 18617835be3b4e9604082056e6117df2b11599c0 (patch) | |
tree | 95eefe6b90499bde069e1dca1516d4b860561f82 /mdbp/pbuilder.py | |
parent | d18841b1c6729cfca1da0f0c91900a08c396a4f1 (diff) | |
download | mdbp-18617835be3b4e9604082056e6117df2b11599c0.tar.gz |
pbuilder: uninline a function for locating the base.tgz
Diffstat (limited to 'mdbp/pbuilder.py')
-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", |