I noticed a bug in the remove behaviour:
yum is happy to remove kmod-nvidia-96xx while leaving
xorg-x11-drv-nvidia-96xx which depends on nvidia-96xx-kmod >=
1.0.9631.
It turns out the code responsible for this is inPrcoRange in
packages.py which contains the following code:
if f != 'EQ':
# isn't this odd, it's not 'EQ' - it really should be
The fact that flags != 'EQ' is odd only holds for provides not for the
other prco's.
So I added an extra constraint here:
if f != 'EQ' and prcotype == 'provides':
Now you correctly removes xorg-x11-drv-nvidia-96xx as well in the test case.
Greets,
Gijs
Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.100
diff -u -r1.100 packages.py
--- packages.py 13 Apr 2007 09:43:53 -0000 1.100
+++ packages.py 25 Apr 2007 18:13:05 -0000
@@ -263,8 +263,9 @@
# found it
if f is None:
return 1
- if f != 'EQ':
- # isn't this odd, it's not 'EQ' - it really should be
+ if f != 'EQ' and prcotype == 'provides':
+ # isn't this odd, it's not 'EQ' and it is a provides
+ # - it really should be EQ
# use the pkgobj's evr for the comparison
if e is None:
e = self.epoch
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel