continue
distribution = p.tools_tree_distribution or p.distribution.default_tools_tree_distribution()
+ if not distribution:
+ die(f"{p.distribution} does not have a default tools tree distribution",
+ hint="use ToolsTreeDistribution= to set one explicitly")
+
release = p.tools_tree_release or distribution.default_release()
cmdline = [
"--directory", "",
"--distribution", str(distribution),
- "--release", release,
+ *(["--release", release] if release else []),
*(["--mirror", p.mirror] if p.mirror and p.distribution == distribution else []),
"--repository-key-check", str(p.repository_key_check),
"--cache-only", str(p.cache_only),
class PackageType(StrEnum):
+ none = enum.auto()
rpm = enum.auto()
deb = enum.auto()
pkg = enum.auto()
@classmethod
def filesystem(cls) -> str:
- raise NotImplementedError()
+ return "ext4"
@staticmethod
def architecture(arch: Architecture) -> str:
- raise NotImplementedError()
+ return str(arch)
@classmethod
def package_type(cls) -> PackageType:
- raise NotImplementedError()
+ return PackageType.none
@classmethod
def default_release(cls) -> str:
- raise NotImplementedError()
+ return ""
@classmethod
- def default_tools_tree_distribution(cls) -> "Distribution":
- raise NotImplementedError()
+ def default_tools_tree_distribution(cls) -> Optional["Distribution"]:
+ return None
@classmethod
def tools_tree_packages(cls) -> list[str]:
- raise NotImplementedError()
+ return []
class Distribution(StrEnum):
def default_release(self) -> str:
return self.installer().default_release()
- def default_tools_tree_distribution(self) -> "Distribution":
+ def default_tools_tree_distribution(self) -> Optional["Distribution"]:
return self.installer().default_tools_tree_distribution()
def tools_tree_packages(self) -> list[str]: