MainInclusionReportJACK

Differences between revisions 25 and 26
Revision 25 as of 2010-01-21 03:38:38
Size: 7032
Editor: d142-058-090-011
Comment:
Revision 26 as of 2010-01-21 04:57:25
Size: 7172
Editor: c-69-255-109-83
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
  * Many bugs have been filed against various audio servers currently in Main (xine, alsa, portaudio, pulseaudio) and libasound2-plugins 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: [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/197957|197957]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/84900|84900]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/152487|152487]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/109659|109659]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/360590|360590]]. This may not be a complete list, and duplicates of most of these have been filed.
  * 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 basic Ubuntu sound
  * 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.)
  * 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: [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/197957|197957]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/84900|84900]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/152487|152487]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/109659|109659]], [[https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/360590|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.)
Line 15: Line 15:
  * Only binaries in ''jackd'', none of which are suid/sgid. Note: realtime capabilities are nowadays granted to users/groups though /etc/security/limits.conf
  * jackd is of course a daemon, but is not automatically started on startup
  * jackd does not listen for network connections itself - it requires the installation of a separately available 'netjack' driver for this.
  * 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.
Line 23: Line 23:
  * Does the package ask any debconf questions highter than priority 'medium'?
   * Jack does not ask any debconf questions.
  * Debian bugs: [[http://bugs.debian.org/src:jack|only wishlist items are open right now]]
  * 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: [[http://bugs.debian.org/src:jack|only wishlist items are open right now]], and all of them have been forwarded upstream
Line 33: Line 33:
  * User-visible strings are internationalized using standard gettext system ?
  * Package with translatable strings builds a PO template during package build ?
  * User-visible strings are internationalized using standard gettext system ? '''Yes'''
  * Package with translatable strings builds a PO template during package build ? '''Yes'''
Line 37: Line 37:
  * [[http://www.pathname.com/fhs/|FHS]], [[http://www.de.debian.org/doc/debian-policy/|Debian Policy]] compliance ?
  * [[http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html|Debian library packaging guide]] standards compliance ?
  * Packaging system (debhelper/cdbs/dbs) ? Patch system ? Any packaging oddities ?
  * [[http://www.pathname.com/fhs/|FHS]], [[http://www.de.debian.org/doc/debian-policy/|Debian Policy]] compliance ?  '''compliant'''
  * [[http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html|Debian library packaging guide]] standards compliance ?  '''compliant'''
  * Packaging system ? '''debhelper 7 with cdbs''' Patch system ? '''cdbs''' Any packaging oddities ?
Line 41: Line 41:
  * cdbs (>= 0.4.26-2), type-handling (>= 0.2.5), debhelper (>= 4.1.0), patchutils (>= 0.2.25), dh-buildinfo, libasound2-dev, libsndfile1-dev, doxygen, libcap-dev, autotools-dev, libreadline5-dev, libraw1394-dev, libfreebob0-dev, libsamplerate0-dev, libcelt-dev, libffado-dev (>= 1.999)   * 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
Line 43: Line 43:
   * libfreebob0-dev - in ''Universe'' repository '''(optional for firewire backend)''' (should be removed as it is outdated by libffado that is in Main)
   * libcelt-dev - in ''Universe'' repository '''(optional for celt codec support in netjack useage)''' (should be removed as celt is not a stable codec, nor is it a major feature in jack)
   * libffado-dev, which is awaiting a promotion (already approved) based on component-mismatch
Line 48: Line 47:
  * 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'''   * 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)'''
Line 55: Line 54:
  * Are graphical applications translatable? Do they support gettext? '''GUI is not implicitly included with JACK'''   * Are graphical applications translatable? Do they support gettext? '''GUI is not included with JACK'''
Line 63: Line 62:
Contributor: [[https://launchpad.net/~crimsun|Daniel T Chen]]

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: only wishlist items are open right now, and all of them have been forwarded upstream

    • 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

MainInclusionReportJACK (last edited 2010-03-16 12:37:56 by 189)