From: Daan De Meyer Date: Fri, 26 Jan 2024 16:21:11 +0000 (+0100) Subject: Introduce want_local_repo() X-Git-Tag: v21~79^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ace8c6d1659d19887e7f7e6e925c19abd3edc75b;p=thirdparty%2Fmkosi.git Introduce want_local_repo() --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index c60d6f17c..1b318be04 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -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) diff --git a/mkosi/context.py b/mkosi/context.py index d668a249e..4214c421d 100644 --- a/mkosi/context.py +++ b/mkosi/context.py @@ -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()) diff --git a/mkosi/distributions/arch.py b/mkosi/distributions/arch.py index 90b3f4bb5..b9ed80c4f 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distributions/arch.py @@ -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: diff --git a/mkosi/distributions/centos.py b/mkosi/distributions/centos.py index b6947aca2..db92a6194 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distributions/centos.py @@ -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") diff --git a/mkosi/distributions/debian.py b/mkosi/distributions/debian.py index 5684a68e8..dfdc3b9a3 100644 --- a/mkosi/distributions/debian.py +++ b/mkosi/distributions/debian.py @@ -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" diff --git a/mkosi/distributions/fedora.py b/mkosi/distributions/fedora.py index 1e86d8601..d8dcbffb2 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distributions/fedora.py @@ -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": diff --git a/mkosi/distributions/mageia.py b/mkosi/distributions/mageia.py index ddfee44a3..c6622d9fd 100644 --- a/mkosi/distributions/mageia.py +++ b/mkosi/distributions/mageia.py @@ -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: diff --git a/mkosi/distributions/openmandriva.py b/mkosi/distributions/openmandriva.py index c1b682fa0..e2c191338 100644 --- a/mkosi/distributions/openmandriva.py +++ b/mkosi/distributions/openmandriva.py @@ -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')}" diff --git a/mkosi/distributions/opensuse.py b/mkosi/distributions/opensuse.py index ade8ffe96..72ba283c0 100644 --- a/mkosi/distributions/opensuse.py +++ b/mkosi/distributions/opensuse.py @@ -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 diff --git a/mkosi/distributions/ubuntu.py b/mkosi/distributions/ubuntu.py index f31269ab0..8f1bb593f 100644 --- a/mkosi/distributions/ubuntu.py +++ b/mkosi/distributions/ubuntu.py @@ -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):