[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[CTTE #717076] Default libjpeg implementation in Debian



The technical committee was asked in #717076 to decide whether
libjpeg8 or libjpeg-turbo would be the default libjpeg implementation.
The decision is below:

==== RESOLUTION ====

Whereas:

 1. There is a dispute between Developers about whether libjpeg8/9 or
    libjpeg-turbo should be the default libjpeg implementation in
    Debian.  The release team does not want to have more than one
    libjpeg implementation.

 2. The Debian libjpeg8 maintainer does not see libjpeg-turbo as a
    suitable replacement, and notes that it does not implement the
    full libjpeg8/9 ABI.

 3. libjpeg8 adds new features to the JPEG image format.  These have
    however been rejected from the ISO standard, and their
    contributions to image quality and compression appear to be widely
    disputed.

 4. libjpeg-turbo is reported to have significantly better performance
    than libjpeg, and to be API/ABI-compatible with libjpeg6b.

 5. libjpeg-turbo is in use by several other distributions (at least
    Fedora, Gentoo, openSUSE, Ubuntu) and browser projects (WebKit,
    Blink, Gecko).

 6. The former organiser of the IJG advised Fedora of his opinion that
    libjpeg8 was a "dead end" due to fragmentation.

 7. The libjpeg-turbo packages in Debian are not yet in a state where
    they could be a drop-in replacement for libjpeg8.  However,
    similar work has been done in Ubuntu and could be adopted.

 8. In general it does not appear that other Debian packages require
    the libjpeg8 API.  The sole exception appears to be a "decode from
    memory buffer" interface (jpeg_mem_src/jpeg_mem_dest), which is
    implemented by libjpeg-turbo unless configured
    --without-mem-srcdst.

 9. While libjpeg-turbo can be configured with support for much of the
    newer interfaces in libjpeg8, it does not support the SmartScale
    API.  However, images with this extension may have
    interoperability problems.  Those developers advocating
    libjpeg-turbo generally suggest disabling the libjpeg7/libjpeg8
    APIs there.

Therefore:

10. The Technical Committee resolves that libjpeg-turbo should
    become the libjpeg implementation in Debian, using its power
    under 6.1(2) to decide on technical matters of overlapping
    jurisdiction.

11. The prospective libjpeg-turbo maintainer should propose an appropriate
    transition plan for this change, and, after a reasonable period for
    comment, prepare tested packages for upload.  The transition
    plan should state the timescales for the relevant changes.

12. Implementing the decision in 10 above will require removing
    "Provides: libjpeg-dev" from libjpeg8, since such a virtual
    package must be provided by only one real package at a time.
    Therefore the Provides should be removed from the libjpeg8
    package - in accordance with the transition plan -
    notwithstanding the libjpeg8 maintainer's preference that
    libjpeg8 should remain as the default libjpeg.  This change
    should be made by the libjpeg8 maintainer; if the change is not
    made within a reasonable time it should be done in an NMU by the
    libjpeg-turbo maintainer.

==== END OF RESOLUTION ====



Please see http://bugs.debian.org/717076 for discussion of
this bug.

Attachment: signature.asc
Description: Digital signature


Reply to: