[Rpm-maint] [RFC/PATCH] comparisons without release

Michael Schroeder mls at suse.de
Tue Aug 24 17:12:43 UTC 2010


On Wed, Aug 11, 2010 at 09:54:54AM +0300, Panu Matilainen wrote:
> Yup, obsoletes are quite the oddball. They used to be against provides 
> back in the day - it goes back to the implicit obsoletes on provides 
> thing, thread starting here: 
> http://lists.rpm.org/pipermail/rpm-maint/2007-May/001408.html, continued 
> here: http://lists.rpm.org/pipermail/rpm-maint/2007-June/001518.html
> 
> Implicit obsoletes on provides is different from explicit obsoletes on 
> provides, the implicit part being the nastier case but there were IIRC 
> more arguments towards obsoletes only matching names than provides than 
> the other way around, eg:
> http://lists.rpm.org/pipermail/rpm-maint/2007-May/001413.html
> 
> So why conflicts on provides instead of names? I dont recall it ever being 
> discussed in detail, but one possible use is pointed out here: 
> http://lists.rpm.org/pipermail/rpm-maint/2010-April/002719.html

IIRC the idea was that provides describe the functionality of a
package. So if a package works both as a ldap server and a mail server,
it may have:
    Provides: mailserver ldapserver

If package obsoletes used provides, the installation of a package
obsoleting "mailserver" would also remove the ldapserver, which
is bad.
Thus the code was changed to just match package names, where it
is assumed that the person who addes the obsoletes knows what
functionality a package with the name provides.

Now conflicts are different, they basically say "I can't work
if that functionality is present". So "Conflicts: mailserver"
still means a mail server must not be installed, independent of
the fact that the package also provides an ldap server.

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 Rpm-maint mailing list