From Fedora Project Wiki
(Created page with "= libjpeg-turbo jpeg8 ABI <!-- The name of your feature --> = == Summary == <!-- A sentence or two summarizing what this feature is and what it will do. This information is ...")
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:
== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
Build and ship libjpeg-turbo with libjpeg8 compatible API/ABI. Currently we ship libjpeg-turbo with libjpeg6 compatible API/ABI.
Build and ship [http://libjpeg-turbo.virtualgl.org/ libjpeg-turbo] with [http://www.ijg.org/ libjpeg8] compatible API/ABI. Currently we ship libjpeg-turbo with libjpeg6 compatible API/ABI.


== Owner ==
== Owner ==
Line 30: Line 30:
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:
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 libjpeg.so.62 library to avoid breakages in distro
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
2. libjpeg-turbo and libjpeg-turbo-devel will be built with jpeg8 API/ABI
3. Rebuild of all dependent pkgs
3. Rebuild of all dependent pkgs
4. Removal of the libjpeg-turbo-compat library


== How To Test ==
== How To Test ==
Line 50: Line 51:
-->
-->
1. All packages which depends on libjpeg-turbo should be rebuilt successfully
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)
2. Basic testing of mostly used apps should be sufficient (firefox, your favorite image viewer etc)


Line 58: Line 60:
== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
Many pkgs depend check them via "repoquery --alldeps --whatrequires 'libjpeg.so.62()(64bit)'" on 64bit system.
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 ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
Create libjpeg-turbo-compat and libjpeg-turbo-compat-devel libraries with jpeg6 API/ABI and ship them in distro.
Build libjpeg-turbo with jpeg6 API/ABI as now.


== Documentation ==
== Documentation ==

Revision as of 07:23, 22 October 2012

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: 00%


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

  • TBD

Release Notes

  • TBD

Comments and Discussion