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
one:
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.