On Wed, 2011-04-06 at 15:06 -0400, James Antill wrote: > On Wed, 2011-04-06 at 15:03 -0400, seth vidal wrote: > > On Wed, 2011-04-06 at 14:34 -0400, James Antill wrote: > > > --- > > > yum/yumRepo.py | 12 +++++++++++- > > > 1 files changed, 11 insertions(+), 1 deletions(-) > > > > > > diff --git a/yum/yumRepo.py b/yum/yumRepo.py > > > index 6ba058c..2246aec 100644 > > > --- a/yum/yumRepo.py > > > +++ b/yum/yumRepo.py > > > @@ -544,7 +544,17 @@ class YumRepository(Repository, config.RepoConf): > > > """make the necessary dirs, if possible, raise on failure""" > > > > > > cachedir = os.path.join(self.basecachedir, self.id) > > > - persistdir = os.path.join(self.base_persistdir, self.id) > > > + if self.base_persistdir and self.base_persistdir[0] == '/': > > > + persistdir = self.base_persistdir > > > + else: > > > + # This sucks, because cakeys can't work ... but it's better > > > + # than creating dirs. in the currect dir. > > > + if tmpdir is None: > > > + tmpdir = os.getenv('TMPDIR') > > > + if tmpdir is None: # Note that TMPDIR isn't exported by > > > default :( > > > + tmpdir = '/var/tmp' > > > + persistdir = misc.getCacheDir(tmpdir=tmpdir) > > > + persistdir = os.path.join(persistdir, self.id) > > > pkgdir = os.path.join(cachedir, 'packages') > > > hdrdir = os.path.join(cachedir, 'headers') > > > self.setAttribute('_dir_setup_cachedir', cachedir) > > > > > > So is the situation here that the root user has not done anything to > > make the persistdirs? > > No, it's that some random piece of code "creates" a repo. ... but it > doesn't set base_persistdir ... so it's the default of ''. The above > turns that into 'foobar', and then yum creates that dir. in $CWD and > everyone is unhappy :).
grumble. How about we just call the repo 'bad' if it lacks a base_persistdir and drop it on the floor. make the random code fix it? -sv _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel