[Yum-devel] [PATCH] Add a prelistenabledrepos plugin point, so tmprepo. etc. can add repos.
James Antill
james at and.org
Wed Jun 5 20:39:12 UTC 2013
---
yum/plugins.py | 1 +
yum/repos.py | 8 ++++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/yum/plugins.py b/yum/plugins.py
index 9ddcae6..a10e4fb 100644
--- a/yum/plugins.py
+++ b/yum/plugins.py
@@ -84,6 +84,7 @@ SLOT_TO_CONDUIT = {
'args': 'ArgsPluginConduit',
'predownload': 'DownloadPluginConduit',
'postdownload': 'DownloadPluginConduit',
+ 'prelistenabledrepos': 'PreRepoSetupPluginConduit',
'prereposetup': 'PreRepoSetupPluginConduit',
'postreposetup': 'PostRepoSetupPluginConduit',
'close': 'PluginConduit',
diff --git a/yum/repos.py b/yum/repos.py
index e519bc1..eba5579 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -69,6 +69,10 @@ class RepoStorage:
self._cache_enabled_repos = []
self.quick_enable_disable = {}
+ # This allows plugins to setup a repo. just before the first
+ # listEnabled() call.
+ self._list_enabled_hasrun = False
+
def retrieveAllMD(self):
""" Download metadata for all enabled repositories,
based on mdpolicy.
@@ -246,6 +250,10 @@ class RepoStorage:
def listEnabled(self):
"""return list of enabled repo objects"""
+ if not self._list_enabled_hasrun:
+ self.ayum.plugins.run('prelistenabledrepos')
+ self._list_enabled_hasrun = True
+
if (self._cache_enabled_repos is not None and
not self.quick_enable_disable):
return self._cache_enabled_repos
--
1.7.7.6
More information about the Yum-devel
mailing list