From dbe4c42d86a2e25d40177d6cad250662465f38eb Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 13 Jul 2023 09:52:51 +0200 Subject: [PATCH] arch: Support enabling testing repositories with --repositories --- mkosi/config.py | 5 +++-- mkosi/distributions/arch.py | 15 ++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/mkosi/config.py b/mkosi/config.py index 2bc181f37..b4ee85c91 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -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] diff --git a/mkosi/distributions/arch.py b/mkosi/distributions/arch.py index 7f2cecdd2..e582d2f84 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distributions/arch.py @@ -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} """ ) -- 2.47.2