[Yum-devel] Re: Speeding up depsolving

Gijs Hollestelle gijs at gewis.nl
Wed Apr 25 16:46:35 UTC 2007


On 4/25/07, Jeremy Katz <katzj at redhat.com> wrote:
> Okay, simpler case is cpio.
>
> What's happening is that I have multiple kernels installed.  We
> overwrite the kernel provs in goneprovs and thus only check with one of
> their provides, not both.  Which then leads to results which leave out
> the fact that libraw1394 depends on the newer of the two kernels I have
> installed.
Good catch!

I've updated the patch. Now instead of constructing goneprovs and
gonefiles as dicts with goneprovs[name] = prov
I do goneprovs[prov] = 1 and when we need the name we get it as
prov[0] this avoids the issue you mentioned and probably saves a few
bytes of memory as well ;-)

BTW I noticed that the behaviour still isn't 100% correct (also in
vanilla yum) on my machine yum is happy to remove kmod-nvidia-96xx
while leaving xorg-x11-drv-nvidia-96xx which depends on
nvidia-96xx-kmod >= 1.0.9631. This is probably because the erase code
checks for exact matches and not for >= and <= matches.

Also there is quite a large difference in the packages removed for
smart erase bash compared to yum erase bash (but I still need to
figure out whether this is due to a fault in smart or in yum).

Greets,
  Gijs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: depsolve-2.patch
Type: text/x-patch
Size: 2825 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20070425/8c93c45d/attachment.bin 


More information about the Yum-devel mailing list