MainInclusionReportJACK

Revision 27 as of 2010-03-16 12:37:56

Clear message

Main Inclusion Report for Jack-Audio-Connection-Kit (JACK)

Requirements

  1. Availability: http://archive.ubuntu.com/ubuntu/pool/universe/j/jack-audio-connection-kit; Available for all supported architectures.

  2. Rationale:

    • Many bugs have been filed against various source packages currently in Main (xine, alsa-plugins, portaudio, pulseaudio) requesting that the JACK bridge/plugin/output/etc. be turned on or compiled into the package - this is not possible without the inclusion of Jack in Main. See bugs: 197957, 84900, 152487, 109659, 360590. This may not be a complete list, and duplicates of most of these have been triaged.

    • The libffado drivers for firewire soundcards ( http://www.ffado.org ) are only supported by the Jack driver. This makes these common, pro, semi-pro, and hobbyist audio cards inaccessible for most applications without the previous audio server bridges/plugins/outputs to jack available. Owners of these cards must recompile major audio drivers in order to get even basic playback working.

    • Jack is an audio server designed specifically for professional, reliable audio signals. This is not a duplicate server clogging up the "audio mess", which some people believe exists in Linux; it is a specialty tool for musicians, audio engineers, and anyone using Linux for professional audio. (In fact if anything, allowing the aforementioned bugs to get fixed would clean up a large chunk of the "audio mess" which some believe exists. It would at least stop a large segment of people from griping so loudly about and attempting to remove PulseAudio.)

    • shrinking the Ubuntu source package delta to Debian's
    • enabling the JACK backend for PulseAudio to improve the experience of people who want PA<->JACK functionality

  3. Security:

    • No CVE entries known.

    • No Secunia history known

    • Only binaries in jackd, none of which are suid/sgid. Note: realtime capabilities are nowadays granted to users/groups though PAM, /etc/security/limits.conf

    • jackd is a daemon but is not automatically started on startup
    • jackd does not listen for network connections itself. That functionality requires the manual installation of a separately available 'netjack' driver.
    • No source code review is performed that we know of.
  4. Quality assurance:

    • In what situation does the package not work out of the box without configuration?
      • Jack needs some audio output device to connect to in order to start. This might fail if such a device is not available, or if another process is keeping a device occupied that does not support multiple concurrent connections.
      • Some configuration may be required for optimal performance (i.e. low latency) depending on the audio card used. Configuration instruction are available at help.ubuntu.com.

    • Does the package ask any debconf questions higher than priority 'medium'?
      • No. Specifically, Jack's postinst maintainer script asks if a PAM configuration file to enable realtime priority should be written, and its postrm maintainer script cleans it accordingly.
    • Debian bugs: normal bugs have patches

    • Maintenance in Debian: Is calm

    • Upstream: Is vigorous

    • Upstream bug tracker: nothing particularly relevant or critical there either it seems

    • Hardware: This package deals well with most commonly available consumer, semi- and professional audio cards.

    • Is there a test suite in the upstream source or packaging? No

    • Is it enabled to run in the build? N/A

  5. UI standards:

    • User-visible strings are internationalized using standard gettext system ? Yes

    • Package with translatable strings builds a PO template during package build ? Yes

    • End-user applications ship a desktop file ? Yes

  6. Standards compliance:

  7. Dependencies:

    • Build-wise: cdbs, type-handling, debhelper (>= 7.0.0), patchutils, dh-buildinfo, libasound2-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsndfile1-dev, doxygen, automake, libtool, libreadline-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsamplerate-dev, po-debconf

    • Are these all in main ? Yes, all dependencies are in the Main repositories except:

      • libffado-dev, which is awaiting a promotion (already approved) based on component-mismatch
  8. Maintenance:

    • How much maintenance is this package likely to need ? (Simple packages may largely take care of themselves; complex packages will need dedicated developers paying attention to them.) Little maintenance should be required

    • Who is responsible for monitoring the quality of this package and fixing its bugs ? Are they Ubuntu or Debian developers ? Upstream developers along with Debian and Ubuntu developers (the latter being the ubuntu-audio-dev Launchpad team)

    • Who is the package bug contact in Ubuntu? (Needs one if its a nontrivial package which does not fully maintain itself through Debian) Ubuntu Studio developers

  9. Background information:

    • The general purpose and context of the package should be clear from the package's debian/control file. If it isn't then please explain. JACK is a sound server that handles real-time, low latency audio (and MIDI) allowing connections to a number of different applications to an audio device, as well as allowing them to share audio between themselves.

    • What do upstream call this software ? Has it had different names in the past ? JACK, Jack Audio Connection Kit or simply jackd

  10. Internationalization:

    • Are graphical applications translatable? Do they support gettext? GUI is not included with JACK

Reviewers

MIR bug: 510481

Author: Scott Lavender
Contributor: Arnout 'raboof' Engelen Contributor: Daniel T Chen