[Yum] Re: pkgdir not getting set, packages ending up in /
Eli Criffield
elicriffield at gmail.com
Mon Mar 27 20:29:07 UTC 2006
I did come up with a hack to work around this problem. I can't seem to
get to the root of it but this patch gets things working.
So if anyone else is having this problem try this patch.
diff -uNr yum-2.4.2.orig/yum/repos.py yum-2.4.2/yum/repos.py
--- yum-2.4.2.orig/yum/repos.py 2005-11-06 18:52:06.000000000 -0600
+++ yum-2.4.2/yum/repos.py 2006-03-24 09:13:23.384126562 -0600
@@ -135,6 +135,14 @@
return repolist
def getRepo(self, repoid): + # hack by eli, FIXME don't
know why this isn't getting set all the time
+ import config + yumconfig =
config.yumconf(configfile='/etc/yum.conf', root='/')
+ ccachdir=yumconfig.getConfigOption('cachedir') +
self.repos[repoid].cachedir="%s/%s"%(ccachdir,repoid)
+ self.repos[repoid].pkgdir="%s/%s/packages"%(ccachdir,repoid)
+ self.repos[repoid].hdrdir="%s/%s/headers"%(ccachdir,repoid)
+ #END HACK
try:
return self.repos[repoid]
except KeyError, e:
On 3/22/06, Eli Criffield <elicriffield at gmail.com> wrote:
> When i run yum update or yum install any package or header that gets
> downloaded ends up in / and not /var/cache/yum/repo/packages.
>
> The problem is somewhere in getRepo() after it loads the (slightly
> modified) versionlock plugin.
>
> If i remove the versionlock plugin everything works.
>
> With the versionlock plugin in place when getRepo() gets called from
> localPkg() or locaHdr() in YumAvalibablePackage() the repo object it
> returns has no pkgdir attribute, or i should say the pkgdir attribute
> is empty.
>
> When getRepo() gets called from downloadHeader() in __init__ right
> after it calls localHdr() the repo object it returns _does_ have
> pkgdir set correctly.
>
> I'm not sure why, but RepoStorage.add() is being called twice once
> before the plugin loads and once after, both times its being called
> from getReposFromConfig() from __init__, but i don't see whats calling
> getReposFromConfig.
>
> I suspected that the second time it calls getReposFromConfig() it was
> missing some data but the repo object from getRepo() called from
> downHeader() had the correct data and that's after the second call
> from getReposFromConfig().
>
> Any ideas why its not setting pkgdir for repo objects and my headers
> and packages are ending up in / ?
>
> oh yeah, this is suse enterprise linux 9, yum 2.4.2, and versionlock
> slightly modified from whats on the wiki.
>
> Thanks
>
> Eli Criffield
>
More information about the Yum
mailing list