]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
arch: Support enabling testing repositories with --repositories 1674/head
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 13 Jul 2023 07:52:51 +0000 (09:52 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 13 Jul 2023 07:52:51 +0000 (09:52 +0200)
mkosi/config.py
mkosi/distributions/arch.py

index 2bc181f3745ce8ca84620722a3f683abd83f2341..b4ee85c91f8da668db9d80bfc35ed3b9d5b2c310 100644 (file)
@@ -1995,9 +1995,10 @@ def load_config(args: argparse.Namespace) -> MkosiConfig:
 
     if args.repositories and not (
         is_dnf_distribution(args.distribution) or
-        is_apt_distribution(args.distribution)
+        is_apt_distribution(args.distribution) or
+        args.distribution == Distribution.arch
     ):
-        die("Sorry, the --repositories option is only supported on dnf and apt based distributions")
+        die("Sorry, the --repositories option is only supported on pacman, dnf and apt based distributions")
 
     if args.initrds:
         args.initrds = [p.absolute() for p in args.initrds]
index 7f2cecdd2a05a8ba72d1211655480e1764cb25c1..e582d2f844029143de276543e57bf50d9e479347 100644 (file)
@@ -68,6 +68,14 @@ def setup_pacman(state: MkosiState) -> None:
 
     config.parent.mkdir(mode=0o755, exist_ok=True, parents=True)
 
+    repos = ["core"]
+    if not state.config.local_mirror:
+        repos += ["extra"]
+
+        for repo in ("core-testing", "extra-testing"):
+            if repo in state.config.repositories:
+                repos += [repo]
+
     with config.open("w") as f:
         f.write(
             dedent(
@@ -75,19 +83,16 @@ def setup_pacman(state: MkosiState) -> None:
                 [options]
                 SigLevel = {sig_level}
                 ParallelDownloads = 5
-
-                [core]
-                {server}
                 """
             )
         )
 
-        if not state.config.local_mirror:
+        for repo in repos:
             f.write(
                 dedent(
                     f"""\
 
-                    [extra]
+                    [{repo}]
                     {server}
                     """
                 )