This requires epel so we introduce some machinery to specify tools
tree repositories for distributions and use it for CentOS
"--manifest-format", "",
*(["--source-date-epoch", str(p.source_date_epoch)] if p.source_date_epoch is not None else []),
*([f"--environment={k}='{v}'" for k, v in p.environment.items()]),
+ *flatten(["--repositories", repo] for repo in distribution.tools_tree_repositories()),
*(["-f"] * args.force),
"build",
]
def default_tools_tree_distribution(cls) -> Optional["Distribution"]:
return None
+ @classmethod
+ def tools_tree_repositories(cls) -> list[str]:
+ return []
+
@classmethod
def tools_tree_packages(cls) -> list[str]:
return []
def default_tools_tree_distribution(self) -> Optional["Distribution"]:
return self.installer().default_tools_tree_distribution()
+ def tools_tree_repositories(self) -> list[str]:
+ return self.installer().tools_tree_repositories()
+
def tools_tree_packages(self) -> list[str]:
return self.installer().tools_tree_packages()
def default_tools_tree_distribution(cls) -> Distribution:
return Distribution.fedora
+ @classmethod
+ def tools_tree_repositories(cls) -> list[str]:
+ return ["epel", "epel-next"]
+
@classmethod
def tools_tree_packages(cls) -> list[str]:
return [
+ "apt",
"bash",
"bubblewrap",
"ca-certificates",
"coreutils",
"cpio",
"curl",
+ "debian-keyring",
"dnf",
"dosfstools",
"e2fsprogs",