# 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
)
@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 []
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
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),
)
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),
)
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),
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),
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),
)
@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:
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,
("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,
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,
)
@classmethod
- def sig_repositories(cls, state: MkosiState) -> Iterable[Repo]:
+ def sig_repositories(cls, state: MkosiState) -> Iterable[RpmRepository]:
if state.config.local_mirror:
return
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,
)
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,
)
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,
)
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,
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
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,
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
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)
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
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)
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
# 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:
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
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/"
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,
)
@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")
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
)
@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),
)
@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")
# 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
)
@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 []
from mkosi.util import sort_packages
-class Repo(NamedTuple):
+class RpmRepository(NamedTuple):
id: str
url: str
gpgurls: tuple[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)
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"""\
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)