[packagers] The demise of the repotag
Dominik 'Rathann' Mierzejewski
dominik at greysector.net
Fri Apr 20 20:33:06 CEST 2007
On Friday, 20 April 2007 at 19:22, Kjeldgaard Morten wrote:
> Rex wrote:
>
> >
> >No, I can't just trust you, I need more. I need details on how to
> >reproduce the problem so that I can fix it.
> >
>
> WTF? You really don't get it, do you? There is nothing "wrong" with
> your fftw package per se. You can only "fix it" by renaming it to
> "fftw3". Just go in the .spec file and add that little "3" in the
> Name: field. Recompile. Then, you will be compatible with the rest of
> the world.
>
> >fftw2 is still packaged. Are you saying that's broken somehow too?
>
> Probably not. I have installed package fftw which is FFTW2. I do
> *not* want version 3. If I did, I would simply install fftw3 (from
> rpmforge).
>
> The following is from the FFTW FAQ:
> >Question 3.1. Why not support the FFTW 2 interface in FFTW 3?
> >
> >FFTW 3 has semantics incompatible with earlier versions: its plans
> >can only be used for a given stride, multiplicity, and other
> >characteristics of the input and output arrays; these stronger
> >semantics are necessary for performance reasons. Thus, it is
> >impossible to efficiently emulate the older interface (whose plans
> >can be used for any transform of the same size). We believe that it
> >should be possible to upgrade most programs without any difficulty,
> >however.
> ... but lots of software still depends on FFTW2. Programmers are lazy.
>
> So the "problem" is that your kde-redhat repo upgrades my
> fftw-2.1.5-4.2.el4.rf package to version 3.
If it was done without providing a backwards compatibility package,
then obviously it was wrong.
> Originally, when Dag started to package fftw, he did not/could not
> know that sometime in the future, there would be a new version of
> fftw that would not be compatible with version 2. So he, and everyone
> else, packaged the suite under the name "fftw". Then, when version 3
> came, Dag (I am guessing) read the FAQ and saw that the new version
> was incompatible with the old one. So, the new package was very
> logically named "fftw3". Very simple: FFTW2 is "fftw" and FFTW3 is
> "fftw3". Check the Debian and Fink repos if you wish, it's the same
> story.
>
> So, why should I and the whole of the rest of the world suddenly want
> to uninstall fftw and install fftw2 just because you decided to give
> it a new name?
If the new fftw3 is not compatible with fftw2 (soname change), then
it shouldn't be possible to upgrade it because it'd break dependencies.
That is, rpm would say that there are broken dependencies, because
package xxx requires libfftw.so.2.
In Fedora, we provide compat-* packages in that case, because the rule
is that package named fftw should be the latest release and any older
non-conflicting releases should be packaged as compat-fftw, possibly
with a number (compat-fftw2, for example).
Then, with both fftw-3.x and compat-fftw2-2.x in the repo, an upgrade would
go smoothly, I imagine.
> PS: Probably not many people are interested in the fast fourier
> transform package, but I find it is worth having the discussion in
> this forum because it is pretty illustrative of the problems that
> arise in the "multi-repo" approach. Unless extreme discipline is
> exercised by the different repos, it quickly turns into "dependency
> hell". This is just _one_ package we've been discussing. There are
> thousands of others.
That's why we're working together to create ONE third-party repo.
Regards,
R.
--
Fedora Extras contributor http://fedoraproject.org/wiki/DominikMierzejewski
Livna contributor http://rpm.livna.org MPlayer developer http://mplayerhq.hu
"Faith manages."
-- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"
More information about the packagers
mailing list