rpm's treatment of unversioned provides
Michael Schroeder
mls at suse.de
Mon Feb 21 16:56:22 UTC 2011
On Mon, Feb 21, 2011 at 02:51:11PM +0000, Paul Howarth wrote:
> RPM traditionally treats unversioned provides as meaning "any version".
> Over on perl-devel list, it's been suggested that this is a bug in rpm.
>
> Googling around, I can't find any specific rationale for why rpm does
> this as opposed to say providing version 0. Can anybody enlighten me?
I think it is for symmetry reasons:
Requires: foo require any version/release of foo
Requires: foo = 1 require version 1 of foo, any release
Requires: foo = 1-1 require version 1 of foo, release 1
Provides: foo provide any version/release of foo
Provides: foo = 1 provide version 1 of foo, any release
Provides: foo = 1-1 provide version 1 of foo, release 1
Also, if it always provides version 0 there would be no way to
tell it to provide all versions. So it's more flexible the
way that it is.
(Yes, Debian is different in that regard: versioned requires
never match unversioned provides for them. But they also don't
support an "any release" matcher.)
Cheers,
Michael.
--
Michael Schroeder mls at suse.de
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
More information about the devel
mailing list