[Yum] [PATCH] Make unversioned satisfy everything in rangeCompare() also with flag=0
Ville Skyttä
ville.skytta at iki.fi
Thu Jun 25 05:55:30 UTC 2009
> Ville Skyttä <ville.skytta at iki.fi> writes:
> > Hello,
> >
> > Retrieving provides from rpmdb gives unversioned ones to me with flags=0
> > (Fedora 10, rpm 4.6.1), and rangeCompare() does not do the right thing
> > with them - it has a special case for None only. The attached patch
> > fixes it for me.
>
> I added the formatRequire() patch and then this one, and some more
> tests ...
Thanks.
> and then realized that the formatRequire() one is bad
> because if you have:
>
> # pkgA
> Require: foo >=
>
> # pkgB
> Provide: foo < 1.0-1
>
> ...then you need to know that there is a >= pkgA require, because it
> fails.
Hmm, I don't understand, could you elaborate/rephrase?
"foo >=" without a version doesn't make sense to me, for example rpmbuild
doesn't let "Requires: foo >=" pass. Is it actually possible to have such
relations that have name, the = >= and friends bits, but no version in
packages?
In the commit message where the patch was reverted, it says "This isn't right
... Eg. =>, (None, None, None) VS. < (1, 2, 3) is false.". Isn't
formatRequire() just for formatting stuff for humans to read, what does it
have to do with actual version comparisons?
More information about the Yum
mailing list