]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
zypper: respect --local-mirror too 1653/head
authorLuca Boccassi <bluca@debian.org>
Sun, 2 Jul 2023 20:01:41 +0000 (21:01 +0100)
committerLuca Boccassi <bluca@debian.org>
Mon, 3 Jul 2023 09:59:25 +0000 (10:59 +0100)
mkosi/distributions/opensuse.py

index ae0447ca65ab7c7a3f1126feecae0d1fe304cf34..881cb808dd3a5b4c7c48d2a022dabd013465ef73 100644 (file)
@@ -46,9 +46,14 @@ class OpensuseInstaller(DistributionInstaller):
 
         zypper = shutil.which("zypper")
 
-        repos = [Repo("repo-oss", f"baseurl={release_url}", fetch_gpgurls(release_url) if not zypper else [])]
-        if updates_url is not None:
-            repos += [Repo("repo-update", f"baseurl={updates_url}", fetch_gpgurls(updates_url) if not zypper else [])]
+        # If we need to use a local mirror, create a temporary repository definition
+        # that doesn't get in the image, as it is valid only at image build time.
+        if state.config.local_mirror:
+            repos = [Repo("local-mirror", f"baseurl={state.config.local_mirror}", [])]
+        else:
+            repos = [Repo("repo-oss", f"baseurl={release_url}", fetch_gpgurls(release_url) if not zypper else [])]
+            if updates_url is not None:
+                repos += [Repo("repo-update", f"baseurl={updates_url}", fetch_gpgurls(updates_url) if not zypper else [])]
 
         if zypper:
             setup_zypper(state, repos)