Bug#583916: Upcoming jack transition
Julien Cristau
jcristau at debian.org
Sat Jun 5 22:15:54 UTC 2010
On Sat, Jun 5, 2010 at 16:09:53 -0400, Felipe Sateler wrote:
> On Sat, Jun 5, 2010 at 15:36, Julien Cristau <jcristau at debian.org> wrote:
> > So I have a few questions about this plan:
> > - if all implementations of libjack are binary-compatible, then why do
> > we need to change the package name when changing implementations of
> > libjack?
>
> Because there can be only one package of a given name... unless I'm
> misparsing your question.
>
Your proposal talked about introducing a libjack-jackd2-0 and a
libjack0-0.118+svn3796 package, AIUI. I don't understand why the
current libjack0 package can't stay.
> > - I understand you want to allow different jackd implementations to
> > coexist. Do we really need 2 implementations of libjack as well?
>
> Yes. The server and the library have an internal API that is not
> guaranteed to be compatible across any kind of release. So these two
> must be the same upstream version.
>
OK.
> > - related to this, the libjack0.symbols file currently has things like
> > 'jack_client_kill_thread at Base 1.9.5~dfsg-13' which suggest that it is,
> > actually, not completely compatible with other implementations (a
> > quick check suggests that nothing out of the jack-audio-connection-kit
> > source package uses these additional symbols, but..)
> > - many packages apparently depend on symbols labelled 0.118.0 or later
> > in the symbols file, how does that fly with a 0.116 jackd1?
>
> I believe the symbols file is borked. Client applications are only
> allowed to assume functions defined in 0.116 to exist. Extra symbols
> are defined as weak, and clients intending to use them must check for
> their availability. Clients assuming such symbols exist are broken
> according to upstream.
>
> So... libjack *can* have extra symbols added after the 0.116 API, and
> it *can* have extra symbols for use for the server. Client
> applications cannot assume they exist, though.
>
In that case I suggest changing libjack0 to:
- kill the .symbols file
- have the libjack0 package provide, replace and conflict with libjack0-0.116
- have the libjack0.shlibs file point at 'libjack0 | libjack0-0.116' or
similar
Then reverse deps can be gradually rebuilt.
I'm not quite sure about the rest of the plan (switching the j-a-c-k
package from one implementation to another one, introducing a
jackd-defaults), it seems overengineered compared to leaving the current
j-a-c-k package alone, and reintroducing jackd1 and its libjack
alongside it. Can you explain why you need all this?
Cheers,
Julien
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20100606/f39382c9/attachment.pgp>
More information about the pkg-multimedia-maintainers
mailing list