]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Introduce want_local_repo()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 26 Jan 2024 16:21:11 +0000 (17:21 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 26 Jan 2024 16:21:11 +0000 (17:21 +0100)
mkosi/__init__.py
mkosi/context.py
mkosi/distributions/arch.py
mkosi/distributions/centos.py
mkosi/distributions/debian.py
mkosi/distributions/fedora.py
mkosi/distributions/mageia.py
mkosi/distributions/openmandriva.py
mkosi/distributions/opensuse.py
mkosi/distributions/ubuntu.py

index c60d6f17cc07dccd4eedd1962cb746ac7430ac38..1b318be04871b04114b5b2ee39a2633a0deb2167 100644 (file)
@@ -557,7 +557,7 @@ def run_build_scripts(context: Context) -> None:
                     ) + (chroot if script.suffix == ".chroot" else []),
                 )
 
-    if any(context.packages.iterdir()):
+    if context.want_local_repo():
         with complete_step("Rebuilding local package repository"):
             context.config.distribution.createrepo(context)
 
index d668a249ec4fcaf14ab3f3f3e4cf7e62f2ce9b68..4214c421d961b3c37eda13991eb449bef724dc56 100644 (file)
@@ -93,3 +93,6 @@ class Context:
                 f"mount -t overlay -o lowerdir={self.pkgmngr / 'usr'}:/usr overlayfs /usr && exec $0 \"$@\"",
             ] if (self.pkgmngr / "usr").exists() else []
         )
+
+    def want_local_repo(self) -> bool:
+        return any(self.packages.iterdir())
index 90b3f4bb53c6aaec2659cd2071c9911205682b3f..b9ed80c4f37c502a46fd0d5330f165c6697a2c39 100644 (file)
@@ -67,7 +67,7 @@ class Installer(DistributionInstaller):
         if context.config.local_mirror:
             yield PacmanRepository("core", context.config.local_mirror)
         else:
-            if any(context.packages.iterdir()):
+            if context.want_local_repo():
                 yield localrepo_pacman()
 
             if context.config.architecture == Architecture.arm64:
index b6947aca26000ca4bc7a7c1b7dca1da0a7fd362d..db92a61948b0e791ba5b90e476a46c389157a748 100644 (file)
@@ -223,7 +223,7 @@ class Installer(DistributionInstaller):
             yield from cls.repository_variants(context, "AppStream")
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_dnf()
 
         yield from cls.repository_variants(context, "BaseOS")
index 5684a68e80b38ab7f3ea2d0ac6837ec00c3d5fe4..dfdc3b9a364f47efd479a38c568e3cf63b4eb32f 100644 (file)
@@ -52,7 +52,7 @@ class Installer(DistributionInstaller):
             )
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_apt(context)
 
         mirror = context.config.mirror or "http://deb.debian.org/debian"
index 1e86d8601e2d3879aafe63d0182ffa609460b570..d8dcbffb272f242a2c4b59b6b483a5add4cffe0d 100644 (file)
@@ -74,7 +74,7 @@ class Installer(DistributionInstaller):
             yield RpmRepository("fedora", f"baseurl={context.config.local_mirror}", gpgurls)
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_dnf()
 
         if context.config.release == "eln":
index ddfee44a3190d5195f488c95969b10dc4c469f42..c6622d9fd4f43e2bbda9001b3c7ea4e5636b7536 100644 (file)
@@ -52,7 +52,7 @@ class Installer(fedora.Installer):
             yield RpmRepository("core-release", f"baseurl={context.config.local_mirror}", gpgurls)
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_dnf()
 
         if context.config.mirror:
index c1b682fa02fab7fcbd5930277ec4ba2ae2301639..e2c1913385276a63cfe9622ebde741f9456bd29b 100644 (file)
@@ -58,7 +58,7 @@ class Installer(fedora.Installer):
             yield RpmRepository("main-release", f"baseurl={context.config.local_mirror}", gpgurls)
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_dnf()
 
         url = f"baseurl={join_mirror(mirror, '$releasever/repository/$basearch/main')}"
index ade8ffe96f3b698b5698ead535fc61a57b689ca9..72ba283c0df2afac3b1a0e1b5e52926687ff213c 100644 (file)
@@ -82,7 +82,7 @@ class Installer(DistributionInstaller):
     def repositories(cls, context: Context) -> Iterable[RpmRepository]:
         zypper = find_binary("zypper", root=context.config.tools())
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_zypper() if zypper else localrepo_dnf()
 
         release = context.config.release
index f31269ab0e5a6bb0a896027f27e5b2dc535244e9..8f1bb593f2a4ed10f38461a41d4eec1a0cde04b8 100644 (file)
@@ -36,7 +36,7 @@ class Installer(debian.Installer):
             )
             return
 
-        if any(context.packages.iterdir()):
+        if context.want_local_repo():
             yield localrepo_apt(context)
 
         if context.config.architecture in (Architecture.x86, Architecture.x86_64):