Update to Speex

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Mon Mar 17 00:10:32 UTC 2008


Faidon Liambotis wrote:
> Well, Debian had a release with 1.1 and Ubuntu had 4 releases already
> with 1.1.x, soon (less than a month) to be 5.
> It might be a mistake on our part, but it happened and we can't change
> that.

So, should I rename to .so.2 or .so.5 for Ubuntu? What about Fedora?
They didn't ship 1.1 at all, so bumping would break their stuff for no
reason. What about another distro that's already at .so.15 ?

> Packages were built using that version and they're depending on that
> ABI, so we'll have to change the SONAME and the package name.

I understand the idea. However, the only features that changed were the
ones in libspeexdsp, which have already broken for every 1.1 release of
Speex (and nobody cared, why now?).

> We *have* to do the bump. If you don't, we'll have to diverge from you
> and we don't like that, that's my point.

Well, by doing that, you'd be diverging from at least Fedora.

> That's a good question; I was hoping that you weren't going to do more
> ABI-breaking changes in the immediate future, which obviously isn't the
> case.

I'm not going to break the ABI for libspeex, only for libspeexdsp.

> I'm not sure who needs libspeexdsp right now -- forgive me but the usual
> maintainers are busy for a while now and I had to step up.

There's a few packages that use the libspeexdsp stuff as it was included
in libspeex. Ekiga and Mumble would be examples of that. I always
thought Ekiga was including a copy of Speex anyway (exactly because of
the API changes).

> If noone important is and you expect to break the ABI *that* often, I'd
> be inclined not to release it _at all_ until you feel like its API and
> ABI are stable.

Then you cannot ship Mumble.

> I'm not proposing to freeze the ABI forever -- even though if glibc can
> do it, you certainly can.

I've already frozen the ABI on libspeex. I'm *not* going to freeze the
APi/ABI on libspeexdsp until I'm happy with it. This is still in
development.

> My proposal was more of a "freeze trunk's ABI and release it as 1.2,
> then do all ABI-breaking changes in a new 1.3/whatever branch".

Can you please take what Debian has in unstable and release as Lenny.
Then you can just resume work on the next release?

> Don't get me wrong, it's your project, your decisions and our problems
> are not exactly yours.
> 
> But right now you ship a 1.0 stable version that is _ancient_, a 1.1
> version which you don't consider release material, even though it has
> reached an considerable part of end users, and a 1.2 version which you
> consider beta and that you expect to frequentl break its ABI in the
> immediate future.

Actually, 1.1 and 1.2beta are basically the same thing. You need to make
the distinction between the two parts:
1) The codec part is the important one that most people use. The API/ABI
is the same as it was for 1.0.0 and I will *not* change it.
2) The "extra" stuff appeared in 1.1.x and I originally put it in
libspeex directly. I've just moved it to libspeexdsp, but in any case,
it's not entirely complete yet and the API/ABI may still change a bit.

> I'd really like if we could ship a libspeex version with lenny that is
> going to be supported by you, if need arises.
> I'd like to also be able to release mumble with our new release, even
> though this is of secondary priority I guess.
> 
> What do you propose we should do?

If you want Mumble to work with stock Speex version, then you'll need
beta4/rc1 when it's released. When's your deadline for updating the
Speex version?

	Jean-Marc



More information about the Pkg-voip-maintainers mailing list