From Fedora Project Wiki

Revision as of 16:43, 16 January 2013 by Jreznik (talk | contribs) (Setting back to FeaturePageIncomplete as feature owner decided to drop it)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

libjpeg-turbo jpeg8 ABI

Summary

NOTE: We are currently discussing with upstream if we should include jpeg8 API/ABI or we should rather stay with former jpeg6 API/ABI. So this feature can be dropped

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