]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Add apt and debian-keyring to CentOS tools tree packages
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 1 Oct 2023 16:35:46 +0000 (18:35 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 1 Oct 2023 16:36:14 +0000 (18:36 +0200)
This requires epel so we introduce some machinery to specify tools
tree repositories for distributions and use it for CentOS

mkosi/__init__.py
mkosi/distributions/__init__.py
mkosi/distributions/centos.py

index 358ab51cae16c657428e01e87644917216ce769f..b7e61c3af52c2ba3f071d79c831b4abdee7701ce 100644 (file)
@@ -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",
         ]
index 66842f02dc44027afd16bd2e4bc5f4f048afa5f3..02373a30b591ff2f3c558e1fef1252cbd0c93472 100644 (file)
@@ -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()
 
index 013d570c87ec13d72cfa8dad1cf5064306347ebe..248a062caa657bb511bf0079ab1cda1c194b220f 100644 (file)
@@ -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",