[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