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): _______________________________________________ Yum-devel mailing list [email protected] http://lists.baseurl.org/mailman/listinfo/yum-devel
