From: Daan De Meyer Date: Sun, 10 Dec 2023 10:10:15 +0000 (+0100) Subject: dnf: Rename Repo to RpmRepository X-Git-Tag: v20~88^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4fc916e0f59d9cc859965387e589bc2efa56d9a;p=thirdparty%2Fmkosi.git dnf: Rename Repo to RpmRepository --- diff --git a/mkosi/distributions/alma.py b/mkosi/distributions/alma.py index 8d67da6f1..8d5c75139 100644 --- a/mkosi/distributions/alma.py +++ b/mkosi/distributions/alma.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1+ from mkosi.distributions import centos, join_mirror -from mkosi.installer.dnf import Repo, find_rpm_gpgkey +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey from mkosi.state import MkosiState @@ -21,14 +21,14 @@ class Installer(centos.Installer): ) @classmethod - def repository_variants(cls, state: MkosiState, repo: str) -> list[Repo]: + def repository_variants(cls, state: MkosiState, repo: str) -> list[RpmRepository]: if state.config.mirror: url = f"baseurl={join_mirror(state.config.mirror, f'almalinux/$releasever/{repo}/$basearch/os')}" else: url = f"mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/{repo.lower()}" - return [Repo(repo, url, cls.gpgurls(state))] + return [RpmRepository(repo, url, cls.gpgurls(state))] @classmethod - def sig_repositories(cls, state: MkosiState) -> list[Repo]: + def sig_repositories(cls, state: MkosiState) -> list[RpmRepository]: return [] diff --git a/mkosi/distributions/centos.py b/mkosi/distributions/centos.py index 49c2c0f5d..4f464d385 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distributions/centos.py @@ -12,7 +12,7 @@ from mkosi.distributions import ( PackageType, join_mirror, ) -from mkosi.installer.dnf import Repo, find_rpm_gpgkey, invoke_dnf, setup_dnf +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey, invoke_dnf, setup_dnf from mkosi.log import complete_step, die from mkosi.state import MkosiState from mkosi.tree import rmtree @@ -147,24 +147,24 @@ class Installer(DistributionInstaller): return tuple(find_rpm_gpgkey(state, key, f"https://www.centos.org/keys/{key}") for key in keys) @classmethod - def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[Repo]: + def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[RpmRepository]: if state.config.local_mirror: - yield Repo(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) + yield RpmRepository(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) elif state.config.mirror: if GenericVersion(state.config.release) <= 8: - yield Repo( + yield RpmRepository( repo.lower(), f"baseurl={join_mirror(state.config.mirror, f'centos/$stream/{repo}/$basearch/os')}", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-debuginfo", f"baseurl={join_mirror(state.config.mirror, 'centos-debuginfo/$stream/$basearch')}", cls.gpgurls(state), enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"baseurl={join_mirror(state.config.mirror, f'centos/$stream/{repo}/Source')}", cls.gpgurls(state), @@ -172,12 +172,12 @@ class Installer(DistributionInstaller): ) else: if repo == "extras": - yield Repo( + yield RpmRepository( repo.lower(), f"baseurl={join_mirror(state.config.mirror, f'SIGs/$stream/{repo}/$basearch/extras-common')}", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"baseurl={join_mirror(state.config.mirror, f'SIGs/$stream/{repo}/source/extras-common')}", cls.gpgurls(state), @@ -185,18 +185,18 @@ class Installer(DistributionInstaller): ) else: - yield Repo( + yield RpmRepository( repo.lower(), f"baseurl={join_mirror(state.config.mirror, f'$stream/{repo}/$basearch/os')}", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-debuginfo", f"baseurl={join_mirror(state.config.mirror, f'$stream/{repo}/$basearch/debug/tree')}", cls.gpgurls(state), enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"baseurl={join_mirror(state.config.mirror, f'$stream/{repo}/source/tree')}", cls.gpgurls(state), @@ -205,19 +205,19 @@ class Installer(DistributionInstaller): else: if GenericVersion(state.config.release) <= 8: - yield Repo( + yield RpmRepository( repo.lower(), f"mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo={repo}", cls.gpgurls(state), ) # These can't be retrieved from the mirrorlist. - yield Repo( + yield RpmRepository( f"{repo.lower()}-debuginfo", "baseurl=http://debuginfo.centos.org/$stream/$basearch", cls.gpgurls(state), enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"baseurl=https://vault.centos.org/centos/$stream/{repo}/Source", cls.gpgurls(state), @@ -227,30 +227,30 @@ class Installer(DistributionInstaller): url = "metalink=https://mirrors.centos.org/metalink" if repo == "extras": - yield Repo( + yield RpmRepository( repo.lower(), f"{url}?arch=$basearch&repo=centos-extras-sig-extras-common-$stream", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"{url}?arch=source&repo=centos-extras-sig-extras-common-source-$stream", cls.gpgurls(state), enabled=False, ) else: - yield Repo( + yield RpmRepository( repo.lower(), f"{url}?arch=$basearch&repo=centos-{repo.lower()}-$stream", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-debuginfo", f"{url}?arch=$basearch&repo=centos-{repo.lower()}-debug-$stream", cls.gpgurls(state), enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo.lower()}-source", f"{url}?arch=source&repo=centos-{repo.lower()}-source-$stream", cls.gpgurls(state), @@ -258,7 +258,7 @@ class Installer(DistributionInstaller): ) @classmethod - def repositories(cls, state: MkosiState) -> Iterable[Repo]: + def repositories(cls, state: MkosiState) -> Iterable[RpmRepository]: if state.config.local_mirror: yield from cls.repository_variants(state, "AppStream") else: @@ -275,7 +275,7 @@ class Installer(DistributionInstaller): yield from cls.sig_repositories(state) @classmethod - def epel_repositories(cls, state: MkosiState) -> Iterable[Repo]: + def epel_repositories(cls, state: MkosiState) -> Iterable[RpmRepository]: gpgurls = ( find_rpm_gpgkey( state, @@ -294,19 +294,19 @@ class Installer(DistributionInstaller): ("epel-testing", "epel/testing"), ("epel-next-testing", "epel/testing/next") ): - yield Repo( + yield RpmRepository( repo, f"baseurl={join_mirror(state.config.mirror, f'{dir}/$releasever/Everything/$basearch')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo}-debuginfo", f"baseurl={join_mirror(state.config.mirror, f'{dir}/$releasever/Everything/$basearch/debug')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{repo}-source", f"baseurl={join_mirror(state.config.mirror, f'{dir}/$releasever/Everything/source/tree')}", gpgurls, @@ -315,21 +315,51 @@ class Installer(DistributionInstaller): else: url = "metalink=https://mirrors.fedoraproject.org/metalink?arch=$basearch" for repo in ("epel", "epel-next"): - yield Repo(repo, f"{url}&repo={repo}-$releasever", gpgurls, enabled=False) - yield Repo(f"{repo}-debuginfo", f"{url}&repo={repo}-debug-$releasever", gpgurls, enabled=False) - yield Repo(f"{repo}-source", f"{url}&repo={repo}-source-$releasever", gpgurls, enabled=False) - - yield Repo("epel-testing", f"{url}&repo=testing-epel$releasever", gpgurls, enabled=False) - yield Repo("epel-testing-debuginfo", f"{url}&repo=testing-debug-epel$releasever", gpgurls, enabled=False) - yield Repo("epel-testing-source", f"{url}&repo=testing-source-epel$releasever", gpgurls, enabled=False) - yield Repo("epel-next-testing", f"{url}&repo=epel-testing-next-$releasever", gpgurls, enabled=False) - yield Repo( + yield RpmRepository(repo, f"{url}&repo={repo}-$releasever", gpgurls, enabled=False) + yield RpmRepository( + f"{repo}-debuginfo", + f"{url}&repo={repo}-debug-$releasever", + gpgurls, + enabled=False + ) + yield RpmRepository( + f"{repo}-source", + f"{url}&repo={repo}-source-$releasever", + gpgurls, + enabled=False + ) + + yield RpmRepository( + "epel-testing", + f"{url}&repo=testing-epel$releasever", + gpgurls, + enabled=False + ) + yield RpmRepository( + "epel-testing-debuginfo", + f"{url}&repo=testing-debug-epel$releasever", + gpgurls, + enabled=False + ) + yield RpmRepository( + "epel-testing-source", + f"{url}&repo=testing-source-epel$releasever", + gpgurls, + enabled=False + ) + yield RpmRepository( + "epel-next-testing", + f"{url}&repo=epel-testing-next-$releasever", + gpgurls, + enabled=False + ) + yield RpmRepository( "epel-next-testing-debuginfo", f"{url}&repo=epel-testing-next-debug-$releasever", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( "epel-next-testing-source", f"{url}&repo=epel-testing-next-source-$releasever", gpgurls, @@ -337,7 +367,7 @@ class Installer(DistributionInstaller): ) @classmethod - def sig_repositories(cls, state: MkosiState) -> Iterable[Repo]: + def sig_repositories(cls, state: MkosiState) -> Iterable[RpmRepository]: if state.config.local_mirror: return @@ -355,38 +385,38 @@ class Installer(DistributionInstaller): for c in components: if state.config.mirror: if GenericVersion(state.config.release) <= 8: - yield Repo( + yield RpmRepository( f"{sig}-{c}", f"baseurl={join_mirror(state.config.mirror, f'centos/$stream/{sig}/$basearch/{c}')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-debuginfo", f"baseurl={join_mirror(state.config.mirror, f'$stream/{sig}/$basearch')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-source", f"baseurl={join_mirror(state.config.mirror, f'centos/$stream/{sig}/Source')}", gpgurls, enabled=False, ) else: - yield Repo( + yield RpmRepository( f"{sig}-{c}", f"baseurl={join_mirror(state.config.mirror, f'SIGs/$stream/{sig}/$basearch/{c}')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-debuginfo", f"baseurl={join_mirror(state.config.mirror, f'SIGs/$stream/{sig}/$basearch/{c}/debug')}", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-source", f"baseurl={join_mirror(state.config.mirror, f'SIGs/$stream/{sig}/source/{c}')}", gpgurls, @@ -394,20 +424,20 @@ class Installer(DistributionInstaller): ) else: if GenericVersion(state.config.release) <= 8: - yield Repo( + yield RpmRepository( f"{sig}-{c}", f"mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo={sig}-{c}", gpgurls, enabled=False, ) # These can't be retrieved from the mirrorlist. - yield Repo( + yield RpmRepository( f"{sig}-{c}-debuginfo", f"baseurl=http://debuginfo.centos.org/centos/$stream/{sig}/$basearch", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-source", f"baseurl=https://vault.centos.org/$stream/{sig}/Source/{c}", gpgurls, @@ -415,26 +445,26 @@ class Installer(DistributionInstaller): ) else: url = "metalink=https://mirrors.centos.org/metalink" - yield Repo( + yield RpmRepository( f"{sig}-{c}", f"{url}?arch=$basearch&repo=centos-{sig}-sig-{c}-$stream", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-debuginfo", f"{url}?arch=$basearch&repo=centos-{sig}-sig-{c}-debug-$stream", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-source", f"{url}?arch=source&repo=centos-{sig}-sig-{c}-source-$stream", gpgurls, enabled=False, ) - yield Repo( + yield RpmRepository( f"{sig}-{c}-testing", f"baseurl=https://buildlogs.centos.org/centos/$stream/{sig}/$basearch/{c}", gpgurls, @@ -442,7 +472,7 @@ class Installer(DistributionInstaller): ) if GenericVersion(state.config.release) >= 9: - yield Repo( + yield RpmRepository( f"{sig}-{c}-testing-debuginfo", f"baseurl=https://buildlogs.centos.org/centos/$stream/{sig}/$basearch/{c}", gpgurls, diff --git a/mkosi/distributions/fedora.py b/mkosi/distributions/fedora.py index e27e7e27c..378eb2d4d 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distributions/fedora.py @@ -9,7 +9,7 @@ from mkosi.distributions import ( PackageType, join_mirror, ) -from mkosi.installer.dnf import Repo, find_rpm_gpgkey, invoke_dnf, setup_dnf +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey, invoke_dnf, setup_dnf from mkosi.log import die from mkosi.state import MkosiState @@ -99,65 +99,75 @@ class Installer(DistributionInstaller): repos = [] if state.config.local_mirror: - repos += [Repo("fedora", f"baseurl={state.config.local_mirror}", gpgurls)] + repos += [RpmRepository("fedora", f"baseurl={state.config.local_mirror}", gpgurls)] elif state.config.release == "eln": mirror = state.config.mirror or "https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose" for repo in ("Appstream", "BaseOS", "Extras", "CRB"): url = f"baseurl={join_mirror(mirror, repo)}" repos += [ - Repo(repo.lower(), f"{url}/$basearch/os", gpgurls), - Repo(repo.lower(), f"{url}/$basearch/debug/tree", gpgurls, enabled=False), - Repo(repo.lower(), f"{url}/source/tree", gpgurls, enabled=False), + RpmRepository(repo.lower(), f"{url}/$basearch/os", gpgurls), + RpmRepository(repo.lower(), f"{url}/$basearch/debug/tree", gpgurls, enabled=False), + RpmRepository(repo.lower(), f"{url}/source/tree", gpgurls, enabled=False), ] elif state.config.mirror: directory = "development" if state.config.release == "rawhide" else "releases" url = f"baseurl={join_mirror(state.config.mirror, f'{directory}/$releasever/Everything')}" repos += [ - Repo("fedora", f"{url}/$basearch/os", gpgurls), - Repo("fedora-debuginfo", f"{url}/$basearch/debug/tree", gpgurls, enabled=False), - Repo("fedora-source", f"{url}/source/tree", gpgurls, enabled=False), + RpmRepository("fedora", f"{url}/$basearch/os", gpgurls), + RpmRepository("fedora-debuginfo", f"{url}/$basearch/debug/tree", gpgurls, enabled=False), + RpmRepository("fedora-source", f"{url}/source/tree", gpgurls, enabled=False), ] if state.config.release != "rawhide": url = f"baseurl={join_mirror(state.config.mirror, 'updates/$releasever/Everything')}" repos += [ - Repo("updates", f"{url}/$basearch", gpgurls), - Repo("updates-debuginfo", f"{url}/$basearch/debug", gpgurls, enabled=False), - Repo("updates-source", f"{url}/SRPMS", gpgurls, enabled=False), + RpmRepository("updates", f"{url}/$basearch", gpgurls), + RpmRepository("updates-debuginfo", f"{url}/$basearch/debug", gpgurls, enabled=False), + RpmRepository("updates-source", f"{url}/SRPMS", gpgurls, enabled=False), ] url = f"baseurl={join_mirror(state.config.mirror, 'updates/testing/$releasever/Everything')}" repos += [ - Repo("updates-testing", f"{url}/$basearch", gpgurls, enabled=False), - Repo("updates-testing-debuginfo", f"{url}/$basearch/debug", gpgurls, enabled=False), - Repo("updates-testing-source", f"{url}/source/tree", gpgurls, enabled=False) + RpmRepository("updates-testing", f"{url}/$basearch", gpgurls, enabled=False), + RpmRepository("updates-testing-debuginfo", f"{url}/$basearch/debug", gpgurls, enabled=False), + RpmRepository("updates-testing-source", f"{url}/source/tree", gpgurls, enabled=False) ] else: url = "metalink=https://mirrors.fedoraproject.org/metalink?arch=$basearch" repos += [ - Repo("fedora", f"{url}&repo=fedora-$releasever", gpgurls), - Repo("fedora-debuginfo", f"{url}&repo=fedora-debug-$releasever", gpgurls, enabled=False), - Repo("fedora-source", f"{url}&repo=fedora-source-$releasever", gpgurls, enabled=False), + RpmRepository("fedora", f"{url}&repo=fedora-$releasever", gpgurls), + RpmRepository("fedora-debuginfo", f"{url}&repo=fedora-debug-$releasever", gpgurls, enabled=False), + RpmRepository("fedora-source", f"{url}&repo=fedora-source-$releasever", gpgurls, enabled=False), ] if state.config.release != "rawhide": repos += [ - Repo("updates", f"{url}&repo=updates-released-f$releasever", gpgurls), - Repo( + RpmRepository("updates", f"{url}&repo=updates-released-f$releasever", gpgurls), + RpmRepository( "updates-debuginfo", f"{url}&repo=updates-released-debug-f$releasever", gpgurls, enabled=False, ), - Repo("updates-source", f"{url}&repo=updates-released-source-f$releasever", gpgurls, enabled=False), - Repo("updates-testing", f"{url}&repo=updates-testing-f$releasever", gpgurls, enabled=False), - Repo( + RpmRepository( + "updates-source", + f"{url}&repo=updates-released-source-f$releasever", + gpgurls, + enabled=False + ), + RpmRepository( + "updates-testing", + f"{url}&repo=updates-testing-f$releasever", + gpgurls, + enabled=False + ), + RpmRepository( "updates-testing-debuginfo", f"{url}&repo=updates-testing-debug-f$releasever", gpgurls, enabled=False, ), - Repo( + RpmRepository( "updates-testing-source", f"{url}&repo=updates-testing-source-f$releasever", gpgurls, diff --git a/mkosi/distributions/mageia.py b/mkosi/distributions/mageia.py index ac6558601..075a73eb5 100644 --- a/mkosi/distributions/mageia.py +++ b/mkosi/distributions/mageia.py @@ -10,7 +10,7 @@ from mkosi.distributions import ( PackageType, join_mirror, ) -from mkosi.installer.dnf import Repo, find_rpm_gpgkey, invoke_dnf, setup_dnf +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey, invoke_dnf, setup_dnf from mkosi.log import die from mkosi.state import MkosiState @@ -49,18 +49,18 @@ class Installer(DistributionInstaller): repos = [] if state.config.local_mirror: - repos += [Repo("core-release", f"baseurl={state.config.local_mirror}", gpgurls)] + repos += [RpmRepository("core-release", f"baseurl={state.config.local_mirror}", gpgurls)] elif state.config.mirror: url = f"baseurl={join_mirror(state.config.mirror, 'distrib/$releasever/$basearch/media/core/')}" repos += [ - Repo("core-release", f"{url}/release", gpgurls), - Repo("core-updates", f"{url}/updates/", gpgurls) + RpmRepository("core-release", f"{url}/release", gpgurls), + RpmRepository("core-updates", f"{url}/updates/", gpgurls) ] else: url = "mirrorlist=https://www.mageia.org/mirrorlist/?release=$releasever&arch=$basearch§ion=core" repos += [ - Repo("core-release", f"{url}&repo=release", gpgurls), - Repo("core-updates", f"{url}&repo=updates", gpgurls) + RpmRepository("core-release", f"{url}&repo=release", gpgurls), + RpmRepository("core-updates", f"{url}&repo=updates", gpgurls) ] setup_dnf(state, repos) diff --git a/mkosi/distributions/openmandriva.py b/mkosi/distributions/openmandriva.py index 87685034c..0322abb5e 100644 --- a/mkosi/distributions/openmandriva.py +++ b/mkosi/distributions/openmandriva.py @@ -10,7 +10,7 @@ from mkosi.distributions import ( PackageType, join_mirror, ) -from mkosi.installer.dnf import Repo, find_rpm_gpgkey, invoke_dnf, setup_dnf +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey, invoke_dnf, setup_dnf from mkosi.log import die from mkosi.state import MkosiState @@ -51,12 +51,12 @@ class Installer(DistributionInstaller): repos = [] if state.config.local_mirror: - repos += [Repo("main-release", f"baseurl={state.config.local_mirror}", gpgurls)] + repos += [RpmRepository("main-release", f"baseurl={state.config.local_mirror}", gpgurls)] else: url = f"baseurl={join_mirror(mirror, '$releasever/repository/$basearch/main')}" repos += [ - Repo("main-release", f"{url}/release", gpgurls), - Repo("main-updates", f"{url}/updates", gpgurls), + RpmRepository("main-release", f"{url}/release", gpgurls), + RpmRepository("main-updates", f"{url}/updates", gpgurls), ] setup_dnf(state, repos) diff --git a/mkosi/distributions/opensuse.py b/mkosi/distributions/opensuse.py index 13cf6245b..f6c6cc67e 100644 --- a/mkosi/distributions/opensuse.py +++ b/mkosi/distributions/opensuse.py @@ -7,7 +7,7 @@ from collections.abc import Sequence from mkosi.architecture import Architecture from mkosi.distributions import Distribution, DistributionInstaller, PackageType -from mkosi.installer.dnf import Repo, invoke_dnf, setup_dnf +from mkosi.installer.dnf import RpmRepository, invoke_dnf, setup_dnf from mkosi.installer.zypper import invoke_zypper, setup_zypper from mkosi.log import die from mkosi.state import MkosiState @@ -103,12 +103,18 @@ class Installer(DistributionInstaller): # 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}", ())] + repos = [RpmRepository("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 ())] + repos = [ + RpmRepository("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 ()) + RpmRepository( + "repo-update", + f"baseurl={updates_url}", + fetch_gpgurls(updates_url) if not zypper else (), + ) ] if zypper: diff --git a/mkosi/distributions/rhel.py b/mkosi/distributions/rhel.py index 5557c08d7..5964af4ca 100644 --- a/mkosi/distributions/rhel.py +++ b/mkosi/distributions/rhel.py @@ -5,7 +5,7 @@ from pathlib import Path from typing import Any, Optional from mkosi.distributions import centos, join_mirror -from mkosi.installer.dnf import Repo, find_rpm_gpgkey +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey from mkosi.log import die from mkosi.state import MkosiState @@ -73,9 +73,9 @@ class Installer(centos.Installer): return p @classmethod - def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[Repo]: + def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[RpmRepository]: if state.config.local_mirror: - yield Repo(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) + yield RpmRepository(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) else: mirror = state.config.mirror or "https://cdn.redhat.com/content/dist/" @@ -88,19 +88,19 @@ class Installer(centos.Installer): v = state.config.release major = int(float(v)) - yield Repo( + yield RpmRepository( f"rhel-{v}-{repo}-rpms", f"baseurl={join_mirror(mirror, f'rhel{major}/{v}/$basearch/{repo}/os')}", enabled=True, **common, ) - yield Repo( + yield RpmRepository( f"rhel-{v}-{repo}-debug-rpms", f"baseurl={join_mirror(mirror, f'rhel{major}/{v}/$basearch/{repo}/debug')}", enabled=False, **common, ) - yield Repo( + yield RpmRepository( f"rhel-{v}-{repo}-source", f"baseurl={join_mirror(mirror, f'rhel{major}/{v}/$basearch/{repo}/source')}", enabled=False, @@ -108,7 +108,7 @@ class Installer(centos.Installer): ) @classmethod - def repositories(cls, state: MkosiState) -> Iterable[Repo]: + def repositories(cls, state: MkosiState) -> Iterable[RpmRepository]: yield from cls.repository_variants(state, "baseos") yield from cls.repository_variants(state, "appstream") yield from cls.repository_variants(state, "codeready-builder") diff --git a/mkosi/distributions/rhel_ubi.py b/mkosi/distributions/rhel_ubi.py index d24776e8c..54d1ba394 100644 --- a/mkosi/distributions/rhel_ubi.py +++ b/mkosi/distributions/rhel_ubi.py @@ -3,7 +3,7 @@ from collections.abc import Iterable from mkosi.distributions import centos, join_mirror -from mkosi.installer.dnf import Repo, find_rpm_gpgkey +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey from mkosi.state import MkosiState @@ -25,25 +25,25 @@ class Installer(centos.Installer): ) @classmethod - def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[Repo]: + def repository_variants(cls, state: MkosiState, repo: str) -> Iterable[RpmRepository]: if state.config.local_mirror: - yield Repo(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) + yield RpmRepository(repo, f"baseurl={state.config.local_mirror}", cls.gpgurls(state)) else: mirror = state.config.mirror or "https://cdn-ubi.redhat.com/content/public/ubi/dist/" v = state.config.release - yield Repo( + yield RpmRepository( f"ubi-{v}-{repo}-rpms", f"baseurl={join_mirror(mirror, f'ubi{v}/{v}/$basearch/{repo}/os')}", cls.gpgurls(state), ) - yield Repo( + yield RpmRepository( f"ubi-{v}-{repo}-debug-rpms", f"baseurl={join_mirror(mirror, f'ubi{v}/{v}/$basearch/{repo}/debug')}", cls.gpgurls(state), enabled=False, ) - yield Repo( + yield RpmRepository( f"ubi-{v}-{repo}-source", f"baseurl={join_mirror(mirror, f'ubi{v}/{v}/$basearch/{repo}/source')}", cls.gpgurls(state), @@ -51,7 +51,7 @@ class Installer(centos.Installer): ) @classmethod - def repositories(cls, state: MkosiState) -> Iterable[Repo]: + def repositories(cls, state: MkosiState) -> Iterable[RpmRepository]: yield from cls.repository_variants(state, "baseos") yield from cls.repository_variants(state, "appstream") yield from cls.repository_variants(state, "codeready-builder") diff --git a/mkosi/distributions/rocky.py b/mkosi/distributions/rocky.py index 98c7c7b7c..bb8252e71 100644 --- a/mkosi/distributions/rocky.py +++ b/mkosi/distributions/rocky.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1+ from mkosi.distributions import centos, join_mirror -from mkosi.installer.dnf import Repo, find_rpm_gpgkey +from mkosi.installer.dnf import RpmRepository, find_rpm_gpgkey from mkosi.state import MkosiState @@ -21,14 +21,14 @@ class Installer(centos.Installer): ) @classmethod - def repository_variants(cls, state: MkosiState, repo: str) -> list[Repo]: + def repository_variants(cls, state: MkosiState, repo: str) -> list[RpmRepository]: if state.config.mirror: url = f"baseurl={join_mirror(state.config.mirror, f'rocky/$releasever/{repo}/$basearch/os')}" else: url = f"mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo={repo}-$releasever" - return [Repo(repo, url, cls.gpgurls(state))] + return [RpmRepository(repo, url, cls.gpgurls(state))] @classmethod - def sig_repositories(cls, state: MkosiState) -> list[Repo]: + def sig_repositories(cls, state: MkosiState) -> list[RpmRepository]: return [] diff --git a/mkosi/installer/dnf.py b/mkosi/installer/dnf.py index eb3e35f69..738d9b828 100644 --- a/mkosi/installer/dnf.py +++ b/mkosi/installer/dnf.py @@ -14,7 +14,7 @@ from mkosi.types import PathString from mkosi.util import sort_packages -class Repo(NamedTuple): +class RpmRepository(NamedTuple): id: str url: str gpgurls: tuple[str, ...] @@ -41,7 +41,7 @@ def dnf_executable(state: MkosiState) -> str: return dnf or shutil.which("dnf5") or shutil.which("dnf") or "yum" -def setup_dnf(state: MkosiState, repos: Iterable[Repo], filelists: bool = True) -> None: +def setup_dnf(state: MkosiState, repositories: Iterable[RpmRepository], filelists: bool = True) -> None: (state.pkgmngr / "etc/dnf/vars").mkdir(exist_ok=True, parents=True) (state.pkgmngr / "etc/yum.repos.d").mkdir(exist_ok=True, parents=True) (state.pkgmngr / "var/lib/dnf").mkdir(exist_ok=True, parents=True) @@ -69,7 +69,7 @@ def setup_dnf(state: MkosiState, repos: Iterable[Repo], filelists: bool = True) if not repofile.exists(): repofile.parent.mkdir(exist_ok=True, parents=True) with repofile.open("w") as f: - for repo in repos: + for repo in repositories: f.write( textwrap.dedent( f"""\ diff --git a/mkosi/installer/zypper.py b/mkosi/installer/zypper.py index 487541e82..bb2cdefd2 100644 --- a/mkosi/installer/zypper.py +++ b/mkosi/installer/zypper.py @@ -3,14 +3,14 @@ import textwrap from collections.abc import Sequence from mkosi.config import yes_no -from mkosi.installer.dnf import Repo, fixup_rpmdb_location +from mkosi.installer.dnf import RpmRepository, fixup_rpmdb_location from mkosi.run import apivfs_cmd, bwrap from mkosi.state import MkosiState from mkosi.types import PathString from mkosi.util import sort_packages -def setup_zypper(state: MkosiState, repos: Sequence[Repo]) -> None: +def setup_zypper(state: MkosiState, repos: Sequence[RpmRepository]) -> None: config = state.pkgmngr / "etc/zypp/zypp.conf" if not config.exists(): config.parent.mkdir(exist_ok=True, parents=True)