[Yum-devel] [PATCH] set repo.old_base_cache_dir properly

James Antill james at fedoraproject.org
Fri Jun 1 13:48:01 UTC 2012


On Wed, 2012-05-30 at 15:21 +0200, Zdeněk Pavlas wrote:
> Preloading is broken for some time (since prerepoconf?)
> as YumBase.setCacheDir() throws away the old conf.cachedir.
> 
> - save it to conf.old_cachedir
> - use that to initialize repo.old_base_cache_dir
> - no update when new==old

 ACK. but...

> ---
>  yum/__init__.py |    2 ++
>  yum/repos.py    |    5 +++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/yum/__init__.py b/yum/__init__.py
> index 1e4acd5..d0c269c 100644
> --- a/yum/__init__.py
> +++ b/yum/__init__.py
> @@ -578,6 +578,7 @@ class YumBase(depsolve.Depsolve):
>          repo.name = to_unicode(repo.name)
>  
>          # Set attributes not from the config file
> +        repo.old_base_cache_dir = getattr(self.conf, 'old_cachedir', '')
>          repo.basecachedir = self.conf.cachedir
>          repo.yumvar.update(self.conf.yumvar)
>          repo.cfg = parser
> @@ -5957,6 +5958,7 @@ class YumBase(depsolve.Depsolve):
>              self.prerepoconf.cachedir = cachedir
>          else:
>              self.repos.setCacheDir(cachedir)
> +        self.conf.old_cachedir = self.conf.cachedir
>          self.conf.cachedir = cachedir
>          return True # We got a new cache dir

 We don't want to store this in the conf. object, can we just stuff it
in self._old_cachedir or something?

> diff --git a/yum/repos.py b/yum/repos.py
> index bd8f1a4..4b1d52e 100644
> --- a/yum/repos.py
> +++ b/yum/repos.py
> @@ -257,8 +257,9 @@ class RepoStorage:
>          
>          self._cachedir = cachedir
>          for repo in self.repos.values():
> -            repo.old_base_cache_dir = repo.basecachedir
> -            repo.basecachedir = cachedir
> +            if cachedir != repo.basecachedir:
> +                repo.old_base_cache_dir = repo.basecachedir
> +                repo.basecachedir = cachedir
>  
> 
>      def setProgressBar(self, obj):




More information about the Yum-devel mailing list