Obsoletes, Obsoletes, Obsoletes

Jerry James loganjerry at gmail.com
Tue Aug 20 22:45:47 UTC 2013


On Tue, Aug 20, 2013 at 4:29 PM, Michael Schwendt <mschwendt at gmail.com> wrote:
>   latte-integrale
>       4ti2-0:1.5-3.fc18.i686  isn't obsoleted
>       4ti2 < 0:1.5-1  obsoleted by  4ti2-0:1.5-10.fc20.i686
>
> Indeed. "latte-integrale" is the src.rpm name. It builds a "4ti2"
> binary rpm with an EVR higher than the Obsoletes tag. Checking the
> spec file in git:
>
>   %package -n 4ti2
>   # This can be removed once Fedora 18 reaches EOL.
>   Provides:       4ti2 = %{version}-%{release}
>   Obsoletes:      4ti2 < 1.5-1
>
> And there are many more like that. We're really bad here.
> I don't even understand that spec file. _Why_ does it add such
> Provides (those are automatic for %name anyway) and self-Obsoletes?

Once upon a time, there was a package named 4ti2.  It's upstream was
here: http://4ti2.de/.  The last release of that package was version
1.3.2.  That version was packaged for Fedora, and built from a source
RPM with the 4ti2 name.

In process of time, one of the 4ti2 developers joined the faculty of a
new university, and became part of a project named LattE.  This team
needed a tool like 4ti2, but needed some new development to happen.
So in process of time https://www.math.ucdavis.edu/~latte/software.php
became the new upstream for both 4ti2 and LattE (in its
"latte-integrale" release).  Therefore, when latte-integrale was
packaged for Fedora, it became necessary to retire the old 4ti2
package and make the new latte-integrale package build 4ti2.  So the
packager who submitted the new package (that would be me) read this
page:  https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages.

If I read it wrong, I'm very sorry.  I will do penance at the Altar of
Correct Obsoletes.  But, other than the unnecessary Provides, I still
don't see how this is wrong.  The old site is no longer maintained;
there will be no new releases.  So even "Obsoletes: 4ti2 < 1.4-1"
would have been correct.  Or are you saying that even the Obsoletes
tag is unnecessary since only the source RPM name changed, but not the
binary RPM name?
-- 
Jerry James
http://www.jamezone.org/


More information about the devel mailing list