On Wed, 2011-10-12 at 13:18 +0200, Zdeněk Pavlas wrote:
> A repo may be disabled in config but a plugin enables it in
> prereposetup_hook.  'yum clean' usually skips repo setup,
> because we don't need them up to date.
> 
> Make sure plugins are run before iterating enabled repos.
> ---
>  cli.py |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/cli.py b/cli.py
> index bbe8e55..8e3ae39 100755
> --- a/cli.py
> +++ b/cli.py
> @@ -1447,6 +1447,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
>          """
>          hdrcode = pkgcode = xmlcode = dbcode = expccode = 0
>          pkgresults = hdrresults = xmlresults = dbresults = expcresults = []
> +        # Repositories get enabled by plugins during repo setup.
> +        # If we haven't run repos.doSetup() yet, trigger plugins.
> +        if not self.repos._setup:
> +            self.plugins.run('prereposetup')
> +            self.plugins.run('postreposetup')
> +            self.repos._setup = True

 We can't call these when we aren't actually setting up the repos.

 We almost certainly "just" need to create prerepoconfig and
postrepoconfig plugin hooks (probably called from _getRepos), and then
move the creation of dynamic repos. into those calls.

_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to