]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Always refresh repository metadata if CacheOnly=never
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 15 May 2024 05:39:21 +0000 (07:39 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 15 May 2024 08:32:22 +0000 (10:32 +0200)
Fixes #2707

mkosi/installer/dnf.py
mkosi/installer/pacman.py
mkosi/installer/zypper.py

index cf2599f7525b9327cc2d8a292ae9cf00ee4935e9..848820903d83725ed14ac1513360f66c9d8c06bc 100644 (file)
@@ -198,7 +198,7 @@ class Dnf(PackageManager):
             context,
             "makecache",
             arguments=[
-                *(["--refresh"] if context.args.force > 1 else []),
+                *(["--refresh"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []),
                 *(["--setopt=cacheonly=none"] if cls.executable(context.config) == "dnf5" else []),
                 *options,
             ],
index 195dea8af0f125338c499280f6cd6150cadf6b09..e3f2faa948143d4d0ace6a6b6a24f6fae834f8ed 100644 (file)
@@ -6,7 +6,7 @@ from collections.abc import Iterable, Sequence
 from pathlib import Path
 from typing import NamedTuple
 
-from mkosi.config import Config
+from mkosi.config import Cacheonly, Config
 from mkosi.context import Context
 from mkosi.installer import PackageManager
 from mkosi.mounts import finalize_source_mounts
@@ -180,7 +180,13 @@ class Pacman(PackageManager):
 
     @classmethod
     def sync(cls, context: Context) -> None:
-        cls.invoke(context, "--sync", ["--refresh"] + (["--refresh"] if context.args.force > 1 else []))
+        cls.invoke(
+            context,
+            "--sync",
+            ["--refresh"] + (
+                ["--refresh"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []
+            )
+        )
 
     @classmethod
     def createrepo(cls, context: Context) -> None:
index 73d052df8acf2b42a0730e65487e183d4b9c2ae4..2d2ecaed4058335162f1db85b6347a1ed1ffef75 100644 (file)
@@ -5,7 +5,7 @@ import textwrap
 from collections.abc import Iterable, Sequence
 from pathlib import Path
 
-from mkosi.config import Config, yes_no
+from mkosi.config import Cacheonly, Config, yes_no
 from mkosi.context import Context
 from mkosi.installer import PackageManager
 from mkosi.installer.rpm import RpmRepository, rpm_cmd
@@ -144,7 +144,11 @@ class Zypper(PackageManager):
 
     @classmethod
     def sync(cls, context: Context) -> None:
-        cls.invoke(context, "refresh", ["--force"] if context.args.force > 1 else [])
+        cls.invoke(
+            context,
+            "refresh",
+            ["--force"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []
+        )
 
     @classmethod
     def createrepo(cls, context: Context) -> None: