For sane upgradeability, compatibility, and leaving future options open, fftw needs to have: Provides: fftw3 = %{version}-%{release} Obsoletes: fftw3 < 3.1 ...and fftw-devel: Provides: fftw3-devel = %{version}-%{release} Obsoletes: fftw3-devel < 3.1 This is a blocker for fftw3* removal from the repos.
I see this has been changed in the devel branch, good. But the version number to Obsoletes and addition of Provides is still needed in FC-4.
Fixed in FC-4 now.
It looks like a better way to tag the obsoletes is: Obsoletes: fftw3 < %{version} and Obsoletes: fftw3-devel < %{version} Since the current version is 3.1.1 and the next might be 3.1.2 the 3.1 may be incomplete or confuse the resolver, correct?
The point of obsoleting versions older than 3.1 is that there was a package name change between 3.0 and 3.1 (from fftw3 to fftw). It is not necessary to always obsolete the previous version; the resolver just needs to correctly upgrade both fftw3-3.0 and fftw-3.1.1 to fftw-3.1.2 if such a release were to happen, which it should do correctly already.
Sorry, I guess I should have been more forthcoming in my reason for posting. I work on the Boston University Linux Project (a fedora derivative) and we have backported your fftw-3 to fc3, which has a fftw package, but it is version 2 To make it easier for us to stay true to fedora we need to name fftw v3 as fftw3. Currently fc4 has fftw2 and fftw (v3) as you know. For subsequent versions it would make it easier to upgrade and then drop modification of this package if the obsoletes actually followed the current version "Obsoletes: fftw3 < %{version}" We thought we would ask the upstream maintainer if this was something that they could push through fedora.