]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
add basic support for --repositories option for Arch Linux 398/head
authorJulien Nicoulaud <julien.nicoulaud@gmail.com>
Sat, 18 Jan 2020 12:43:22 +0000 (13:43 +0100)
committerJulien Nicoulaud <julien.nicoulaud@gmail.com>
Sat, 18 Jan 2020 12:43:22 +0000 (13:43 +0100)
mkosi
mkosi.md

diff --git a/mkosi b/mkosi
index f0d51204faba359e145f9a956623d122955e7ef2..57ca60e0e8b8c4052c9cda6bf38a469d2307a0b5 100755 (executable)
--- a/mkosi
+++ b/mkosi
@@ -1923,6 +1923,19 @@ SigLevel    = Required DatabaseOptional TrustAll
 
 [community]
 {server}
+""")
+
+        if args.repositories:
+            for repository in args.repositories:
+                # repositories must be passed in the form <repo name>::<repo url>
+                repository_name, repository_server = repository.split('::', 1)
+
+                # note: for additional repositories, signature checking options are set to pacman's default values
+                f.write(f"""\
+
+[{repository_name}]
+SigLevel = Optional TrustedOnly
+Server = {repository_server}
 """)
 
     def run_pacman(args: List[str], **kwargs: Any) -> subprocess.CompletedProcess:
index 0d63b37d784db7a87eb0779c5fe15d7ebfad8212..beadc5990e660690b1c11604fbff852ebe93878f 100644 (file)
--- a/mkosi.md
+++ b/mkosi.md
@@ -181,7 +181,9 @@ details see the table below.
   one or more URLs as argument, separated by commas. This option may
   be used multiple times, in which case the list of repositories to
   use is combined. Use "!\*" to remove all repositories from to the list
-  or use e.g. "!repo-url" to remove just one specific repository.
+  or use e.g. "!repo-url" to remove just one specific repository. For Arch
+  Linux, additional repositories must be passed in the form `<name>::<url>`
+  (e.g. `myrepo::https://myrepo.net`).
 
 `--architecture=`