summaryrefslogtreecommitdiff
path: root/mdbp/pbuilder.py
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2021-07-09 20:57:52 +0200
committerHelmut Grohne <helmut@subdivi.de>2021-07-10 14:27:59 +0200
commit18617835be3b4e9604082056e6117df2b11599c0 (patch)
tree95eefe6b90499bde069e1dca1516d4b860561f82 /mdbp/pbuilder.py
parentd18841b1c6729cfca1da0f0c91900a08c396a4f1 (diff)
downloadmdbp-18617835be3b4e9604082056e6117df2b11599c0.tar.gz
pbuilder: uninline a function for locating the base.tgz
Diffstat (limited to 'mdbp/pbuilder.py')
-rw-r--r--mdbp/pbuilder.py25
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",