From: Daan De Meyer Date: Sun, 1 Oct 2023 16:35:46 +0000 (+0200) Subject: Add apt and debian-keyring to CentOS tools tree packages X-Git-Tag: v18~23^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81c1533d227f46a9e545feeebe52491c0266f3c2;p=thirdparty%2Fmkosi.git Add apt and debian-keyring to CentOS tools tree packages This requires epel so we introduce some machinery to specify tools tree repositories for distributions and use it for CentOS --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 358ab51ca..b7e61c3af 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -2330,6 +2330,7 @@ def finalize_tools(args: MkosiArgs, presets: Sequence[MkosiConfig]) -> Sequence[ "--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", ] diff --git a/mkosi/distributions/__init__.py b/mkosi/distributions/__init__.py index 66842f02d..02373a30b 100644 --- a/mkosi/distributions/__init__.py +++ b/mkosi/distributions/__init__.py @@ -62,6 +62,10 @@ class DistributionInstaller: 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 [] @@ -125,6 +129,9 @@ class Distribution(StrEnum): 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() diff --git a/mkosi/distributions/centos.py b/mkosi/distributions/centos.py index 013d570c8..248a062ca 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distributions/centos.py @@ -55,15 +55,21 @@ class Installer(DistributionInstaller): 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",