[florian.schlichting at gmx.de: Bug#540891: libjack0: please lower Depends: libffado1, libfreebob0 to Recommends: or Suggests:]

Reinhard Tartler siretart at tauware.de
Tue Aug 11 10:06:38 UTC 2009


adi at drcomp.erfurt.thur.de (Adrian Knoth) writes:

> Hi!
>
> ----- Forwarded message -----
> is it really necessary to have available libffado1 and libfreebob0 on 
> *all* boxes, including those that have never heard of firewire?
>
> ----- End forwarded message -----
>
> This bug could be fixed by providing a separate jackd-firewire package.
> Proposal:
>
> diff --git a/debian/control b/debian/control
> index ad9f440..d79bcaf 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -67,6 +67,22 @@ Description: JACK Audio Connection Kit (libraries)
>   .
>   This package contains the shared libraries.
>  
> +Package: jackd-firewire
> +Architecture: amd64 i386 powerpc
> +Depends: ${shlibs:Depends},
> +        ${misc:Depends}
> +Conflicts: jackd-firewire (>> ${binary:Version}),
> +          jackd-firewire (<< ${binary:Version})

these conflicts seem pointless. dpkg allows installation of exactly one
version of a package to be installed simultaneously

> +Suggests: jackd (= ${binary:Version})
> +Description: JACK Audio Connection Kit (FFADO and FreeBoB backends)
> + Low-latency sound server. JACK allows the connection of multiple applications
> + to an audio device, as well as allowing them to share audio between
> + themselves.
> + .
> + See <http://jackaudio.org/> for more info.
> + .
> + This package contains the IEEE1394 (FireWire) backends FFADO and FreeBoB.
> +
>  Package: libjack-dev
>  Architecture: any
>  Section: libdevel
> diff --git a/debian/jackd-firewire.install b/debian/jackd-firewire.install
> new file mode 100644
> index 0000000..1cae6a2
> --- /dev/null
> +++ b/debian/jackd-firewire.install
> @@ -0,0 +1,2 @@
> +debian/tmp/usr/lib/jack/jack_freebob.so
> +debian/tmp/usr/lib/jack/jack_firewire.so
>
>
> Problem is: I need to exclude jack_{freebob,firewire}.so from libjack0.
> Currently, this file reads as follows:
>
> debian/tmp/usr/lib/lib*.so.*
> debian/tmp/usr/lib/jack/*.so
>
> Is there a way to specify an exclude in .install files?

no. it is an inclusion list.

> If not, are there other ways to achieve this? Like moving the two .so
> files to a different directory before libjack0 is created?

avoid shell globbing in the .install file. Things become tricky if the
list of files to be installed differ on various architectures. This
happened to me in xine, but we still managed to solve it this way.

> Or should I simply list the content of debian/tmp/usr/lib/jack and
> dynamically create libjack0.install? (something like ls | grep -v
> firewire)?

in that case I'd rather avoid the .install file completely and calculate
the list of files to be installed in debian/rules.

> Another option: statically resolve the wildcard (excluding jack_alsa.so,
> it's not available on kfreebsd), name every file explicitly and add
> jack_alsa.so conditionally in debian/rules.
>
> What's the recommended approach?

Depends on the case, I don't think a general recommendation exists. I'd
try with the 'Another option' approach and see if something manageable
comes out of it.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4



More information about the pkg-multimedia-maintainers mailing list