[Yum-devel] [PATCH] Exceptions in depsolve.py (3_2_X branch, CentOS 5.4 installer)
James Antill
james at fedoraproject.org
Thu Nov 12 17:08:19 UTC 2009
On Thu, 2009-11-12 at 11:20 -0500, Charlie Brady wrote:
> On Thu, 12 Nov 2009, James Antill wrote:
>
> > On Wed, 2009-11-11 at 18:29 -0500, Charlie Brady wrote:
> >> --- depsolve.py.orig 2009-11-10 18:26:41.435910000 -0500
> >> +++ depsolve.py 2009-11-11 17:49:51.514498000 -0500
> >> @@ -1100,8 +1100,8 @@
> >> pkgresults[po] -= 1024
> >>
> >> obsoleted = False
> >> - poprovtup = (po.name, 'EQ', (po.epoch, po.ver, po.release))
> >> - if nextpo.inPrcoRange('obsoletes', poprovtup):
> >> + poprovtup = (po.name, 'EQ', (po.epoch, po.version, po.release))
> >> + if nextpo.po.inPrcoRange('obsoletes', poprovtup):
> >
> > The actual bug here would be a higher caller putting a txmbr into the
> > list of things to compare_providers.
>
> Aren't there two bugs? .ver member on po, and .inPrcoRange on nextpo?
.ver will be == .version for any yum object above YumAvailablePackage.
AFAIK the only bug is that nextpo is a TransactionMember and not a
PackageObject.
> > What is calling compare_providers in the traceback?
>
> Traceback (most recent call first):
> File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 1103, in
> _compare_providers
> poprovtup = (po.name, 'EQ', (po.epoch, po.ver, po.release))
> File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 2360, in
> _bestPackageFromList
> bestlist = self._compare_providers(pkglist, None)
> File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 2385, in
> bestPackagesFromList
> single = self._bestPackageFromList(singleLib)
> File "/tmp/updates/yuminstall.py", line 467, in tsCheck
> member = self.bestPackagesFromList(pkgs)[0]
> File "/tmp/updates/yuminstall.py", line 420, in resolveDeps
> unresolved = self.tsCheck(unresolved)
This is a really old anaconda that has it's own reolveDeps/tsCheck
(this is RHEL-5 anaconda, I assume?)
To debug this you need to find out how the wrong objects are getting
into that list in anaconda, AFAIK the patch you posted shouldn't change
anything ... but I'm not a real anaconda developer.
More information about the Yum-devel
mailing list