(→Scope) |
(Setting back to FeaturePageIncomplete as feature owner decided to drop it) |
||
(13 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. | |||
<b>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</b> | |||
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 10: | Line 13: | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved--> | <!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved--> | ||
* Email: atkac | * Email: atkac redhat com | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/19 | Fedora 19 ]] | * Targeted release: [[Releases/19 | Fedora 19 ]] | ||
* Last updated: 18-Oct-2012 | * Last updated: 18-Oct-2012 | ||
* Percentage of completion: | * Percentage of completion: 95% | ||
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | <!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | ||
Line 30: | Line 33: | ||
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 | 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 | ||
== How To Test == | == How To Test == | ||
Line 53: | Line 54: | ||
--> | --> | ||
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 61: | Line 63: | ||
== 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 | 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. --> | ||
Build libjpeg-turbo with jpeg6 API/ABI as now. | |||
== Documentation == | == Documentation == | ||
<!-- Is there upstream documentation on this feature, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | <!-- Is there upstream documentation on this feature, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | ||
* | * http://www.ijg.org | ||
* http://sourceforge.net/projects/libjpeg-turbo | |||
== Release Notes == | == 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 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. --> | ||
* | * 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 == | ||
* See [[Talk:Features/ | * See [[Talk:Features/libjpeg-turbo-jpeg8-ABI]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page --> | ||
Latest revision as of 16:43, 16 January 2013
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
- Name: Adam Tkac
- 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.