summaryrefslogtreecommitdiff
path: root/mdbp
diff options
context:
space:
mode:
Diffstat (limited to 'mdbp')
-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",