obsoleting in compat packages: is it right?

Michael Schwendt mschwendt.tmp0701.nospam at arcor.de
Thu Sep 6 22:36:16 UTC 2007

On Mon, 27 Aug 2007 21:26:43 +0200, Patrice Dumas wrote:

> Hello,
> Sometime there are obsolete of older packages by compat packages. The
> idea is that when coming from an old package a compatible package is
> needed. This is what is done in automake16. It is a compat package, and
> it has
> Obsoletes:  automake = 1.6.3
> It makes sense, however I am not sure that it is that right, since 
> somebody having automake-1.6.3-* would also want to  have the latest
> automake version.
> Another issue is that for this scheme to be really effective, one should
> have in automake15
> Obsoletes:  automake < 1.6.0 and automake >= 1.5.0
> and in automake16
> Obsoletes:  automake < 1.7.0 and automake >= 1.6.0
> which, unless I am wrong, cannot be done in rpm.

As in the range  1.5.0 <= x < 1.6.0  ?
I don't think that is possible with "Obsoletes".
With Requires it is different, since all Requires must be satisfied.
> So, what do you think? Is that practice wrong, right, or should it be 
> left to the maintainer? 
> I would personally think that it is wrong, it could be right if one could 
> express that when updating 1.6.x, this package should be installed in 
> addition to the latest package with same name.

IMO it is right. "Obsoletes" in compat packages is used to rename
a package, to move it from the old name to the new name. It doesn't
matter whether there is a separate package that upgrades the old

  automake = 1.6.3 renamed to automake16 = 1.6.3
  automake = 1.10 replaces automake = 1.6.3

Also consider that a manual "rpm -Uvh automake16*.rpm" should get rid
of the obsolete automake = 1.6.3, too, when they cannot coexist.
The version upgrade can be requested on demand.

More information about the fedora-devel-list mailing list