[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Opinion of the Release Team on the ImageMagick transition



Hello, Nelson. #507269 has been recently brought to our attention, and
I'd like to pop in because, unlike what you state in the bug report,
this issue affects Debian, so it should be addressed if possible,
independently of whether that benefits Ubuntu or not. Let's see if we
can agree on something.

I see you mailed the -release list a while ago about this transition,
but I think the fact that -dev packages were renamed was not mentioned
anywhere. In any case, here's, in a nutshell, the meat of I have to say:

    ** Library transitions that can possibly be handled without
       sourceful uploads, must be done that way. **

Traditionally, library transitions in Debian required sourceful uploads
of every package, to trigger a rebuilds in all architectures. Nowadays
we can trigger rebuilds automatically via wanna-build (binary NMUs).

In an ideal world, APIs never break backwards compatibility, so
automatic rebuilds are always possible. If upstreams break API
compatibility, well, we're out of luck. But the way I see it, the name
of the -dev packages in Debian is *part* of the API, and we should know
better and not break *our* API by changing those names gratuitously,
hence  making the transition harder for everybody (even if the library
maintainer would volunteer to make all the required sourceful uploads,
the transition would still be harder for the release team).

I understand very well, though, that sometimes cleanups in the packaging
are needed, and I agree with you that there should be no need to keep
the transitional packages until squeeze + 1. The important point is that
the time to throw away the transitional stuff should be decoupled from
the time when the transition is done: throwing away old stuff is a wish
from the maintainer, doing the transition is a need of the distribution,
and it involves several other parties (other maintainers and the release
team in particular).

Because of this, the way to move forward is always to do the transition
itself without breaking the "Debian API", and then if the maintainers so
wish, to file bugs around so that the maintainers of reverse
dependencies move to the new API (new names for the -dev packages, that
is, and possibly other bits). After a while, the library maintainers may
choose to NMU the remaining issues, and break the API then, with no need
to wait for squeeze + 1.

I think that there's always been a desire to couple the transition with
the cleanup of the Debian API becuase that's a warranty that it will get
done. But, as I said, that makes other people's job harder in order to
satisfy a personal goal, and there's no reason not to decouple them
(particularly if the message that NMUs for those changes are OK gets
transmitted well).

                                 * * *

So, because of all this, can we agree on some way that the transition
can be done without need of doing a sourceful upload of every involved
package?

Regarding the -dev package names, I'm personally OK if you don't
introduce transitional packages and just add Provides: fields, because
AFAICS only 2 packages in the archive have a versioned build-dependency
on imagemagick.

And regarding the .pc and -config stuff, something should be done so
that packages continue to build without any source change, until after
the transition is done.

Does this sound doable from your side? In particular, using Provides is
much easier than using transitional packages, so it should be less
effort for you. (Unless somebody has spotted that it won't work, in that
case please speak up!)

Cheers,

-- 
Adeodato Simó                                     dato at net.com.org.es
Debian Developer                                  adeodato at debian.org
 
                            Listening to: Vainica Doble - Cartas de amor


Reply to: