Skip to content

Commit d34a250

Browse files
committed
Remember if repositories were loaded
In libdnf5, the `repos_updated_and_loaded` bool attribute, which serves the same purpose, is private.
1 parent ac5ff57 commit d34a250

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

pyanaconda/modules/payloads/payload/dnf/dnf_manager.py

+6
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ def __init__(self):
341341
self._download_location = None
342342
self._md_hashes = {}
343343
self._enabled_system_repositories = []
344+
self._repositories_loaded = False
344345
self._query_environments = None
345346
self._query_groups = None
346347

@@ -422,6 +423,7 @@ def reset_base(self):
422423
self._download_location = None
423424
self._md_hashes = {}
424425
self._enabled_system_repositories = []
426+
self._repositories_loaded = False
425427
log.debug("The DNF base has been reset.")
426428

427429
def configure_base(self, data: PackagesConfigurationData):
@@ -1060,6 +1062,9 @@ def _create_repository(self, data: RepoConfigurationData):
10601062
:param RepoConfigurationData data: a repo configuration
10611063
return dnf.repo.Repo: a DNF repository
10621064
"""
1065+
if self._repositories_loaded:
1066+
raise RuntimeError("Cannot create a new repository. Repositories were already loaded.")
1067+
10631068
repo_sack = self._base.get_repo_sack()
10641069
repo = repo_sack.create_repo(data.name)
10651070
config = simplify_config(repo.get_config())
@@ -1249,6 +1254,7 @@ def load_repositories(self):
12491254
except RuntimeError as e:
12501255
log.warning(str(e))
12511256
raise MetadataError(str(e)) from None
1257+
self._repositories_loaded = True
12521258
log.info("Loaded repositories.")
12531259

12541260
def load_repomd_hashes(self):

0 commit comments

Comments
 (0)