From Fedora Project Wiki
Line 78: Line 78:
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
* TBD
* The libjpeg-turbo API/ABI, which is used as the main libjpeg library, has been updated to match the latest jpeg8 API/ABI. Backward compatible libjpeg library is now shipped in libjpeg-turbo-compat and libjpeg-turbo-compat-devel packages.


== Comments and Discussion ==
== Comments and Discussion ==

Revision as of 12:22, 8 January 2013

libjpeg-turbo jpeg8 ABI

Summary

Build and ship libjpeg-turbo with libjpeg8 compatible API/ABI. Currently we ship libjpeg-turbo with libjpeg6 compatible API/ABI.

Owner

  • Email: atkac@redhat.com

Current status

  • Targeted release: Fedora 19
  • Last updated: 18-Oct-2012
  • Percentage of completion: 95%


Detailed Description

Benefit to Fedora

Since other distributions slowly adopts libjpeg8 API/ABI as well, it's logical step. Also some projects support only libjpeg8 API/ABI (check https://bugzilla.redhat.com/show_bug.cgi?id=854695 for example).

Scope

All packages which require libjpeg.so need to be rebuilt against new library. jpeg8 API is mostly compatible with the current jpeg6 API so there shouln't be any issues with porting. jpeg6->jpeg8 transition will have four steps:

1. Creation of the libjpeg-turbo-compat library which will contain current jpeg6 library

2. libjpeg-turbo and libjpeg-turbo-devel will be built with jpeg8 API/ABI

3. Rebuild of all dependent pkgs

How To Test

1. All packages which depends on libjpeg-turbo should be rebuilt successfully

2. Basic testing of mostly used apps should be sufficient (firefox, your favorite image viewer etc)

User Experience

Users will have to be able run apps which require libjpeg >= 8.

Dependencies

Many pkgs depend (currently 269) check them via:

1. repoquery --enablerepo fedora-source --alldeps --archlist=src --whatrequires libjpeg-devel

2. repoquery --enablerepo fedora-source --alldeps --archlist=src --whatrequires libjpeg-turbo-devel

Contingency Plan

Build libjpeg-turbo with jpeg6 API/ABI as now.

Documentation

Release Notes

  • The libjpeg-turbo API/ABI, which is used as the main libjpeg library, has been updated to match the latest jpeg8 API/ABI. Backward compatible libjpeg library is now shipped in libjpeg-turbo-compat and libjpeg-turbo-compat-devel packages.

Comments and Discussion