[Rpm-maint] [Suse-patch] Revert provides as obsoletes behavior

Panu Matilainen pmatilai at redhat.com
Tue May 22 10:09:06 UTC 2007

On Tue, 22 May 2007, Florian La Roche wrote:

> On Tue, May 22, 2007 at 12:38:21PM +0300, Panu Matilainen wrote:
>> On Tue, 22 May 2007, Florian La Roche wrote:
>>> On Tue, May 22, 2007 at 12:06:45PM +0300, Panu Matilainen wrote:
>>>> Personally I never ever liked the obsoletes on provides behavior, but this
>>>> has been in rpm since 2001 according to hg changelogs... I don't think
>>>> such a dramatic behavior change is acceptable for a dot-dot-dot-dot
>>>> maintenance release.
>>>> I would like this changed in future major version though, as the current
>>>> behavior makes life miserable in some packaging scenarios.
>>> Hello Panu,
>>> this has now been deployed for a really long time, so I don't think we
>>> should revert this again.
>> Flip-flopping is bad, agreed... so if this is to be reverted, such a
>> decision is not to be taken lightly. I just personally think the current
>> behavior is, well, nasty.
>>> While I see many packages where the obsoletes
>>> lines match too many other packages, I am not sure if you have an
>>> example where this is makes "life real miserable". ??
>>> IMNSHO we should rather keep checking repo dependencies before new
>>> packages are pushed out than changing the obsoletes behaviour to the
>>> old minimal behaviour.
>> The problems tend to revolve around compat packages mostly.
>> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130352 lists several
>> examples of the behavior causing headaches, and I remember seeing heated
>> discussion over this "feature" or "bug" (depends on one's POV :) over the
>> years on various mailing lists.
> Hello Panu,
> I don't think https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130352#c11
> is actually happening in rpm and the overall bug report looks pretty unclear
> to me.

Well I happen to remember that particular issue pretty well having gotten
involved in it at the time for whatever reason :)

Jeff Pitman wanted to package "all python versions in existence" for 
Fedora, and went for the traditional compat package approach of appending 
the version to the name. Eg python2.2, python2.3, python2.4 etc. So far, 
so good. But the packages had "Provides: python = %{version}" in them, to 
allow existing python modules to depend on the version to depend on the 
version they were built against, instead of having to modify each and 
every module to have "Requires: python2.2" etc. Now, you can *install* all 
those python2.2 2.3 etc packages, but whenever you try to upgrade any one 
of them, rpm with it's current behavior just wipes out (or tries to) all 
the others because of the provides.

Similar problems exist in kernel(-module) packaging etc.

 	- Panu -

More information about the Rpm-maint mailing list