From Fedora Project Wiki
(Add tracking bug)
 
(12 intermediate revisions by 4 users not shown)
Line 25: Line 25:
== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
We are updating Glibc Unicode data from Unicode 5.1 to Unicode 7.0 version. It took long time since there was not much documentation on how to update Unicode data and also there was chance of loosing backward compatibility. Most of the issues are resolved now and patches are ready for inclusion. This update adds around 8000 number of character support in Glibc and also correcting the Unicode data of many characters as per latest Unicode standard.
We are updating Glibc Unicode data from Unicode 5.1 to Unicode 7.0 version. It took a long time, since there was not much documentation on how to update Unicode data and also there was the chance of loosing backward compatibility. Most of the issues are resolved now and patches are ready for inclusion. This update adds around 8000 supported characters in Glibc, and also corrects the Unicode data of many characters per the latest Unicode standard.


== Owner ==
== Owner ==
Line 33: Line 33:
-->
-->
* Name: [[User:Mfabian| Mike Fabian]] [[User:Pravins| Pravin Satpute]]  [[User:Siddhesh| Siddhesh Poyarekar]]
* Name: [[User:Mfabian| Mike Fabian]] [[User:Pravins| Pravin Satpute]]  [[User:Siddhesh| Siddhesh Poyarekar]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include your email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: mfabian At redhat DOT com, pravins At fedoraproject DOT org, : spoyarek AT redhat DOT com
* Email: mfabian At redhat DOT com, pravins At fedoraproject DOT org, spoyarek AT redhat DOT com
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 55: Line 55:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1191059 #1191059]


== Detailed Description ==
== Detailed Description ==
In this update we are planning to update Glibc's the Unicode locale data - character map and LC_CTYPE information to Unicode 7.0 version. This data is used almost in all locales and going to affect all applications using these locales. It is system wide change since it impacting glibc and application dependent on it. Glibc provides two files for Unicode data, UTF-8 and i18n. ''UTF-8'' file provides information about CHARMAP and WIDTH for Unicode characters. ''i18n'' file provides CTYPE (uppercase, lowercase, punct etc.) information for all Unicode characters. It has been long time this is not updated due to incomplete documentation and also possible chances of loosing backward compatibility. Work has been started on this 5-6 months back and now most of the issues are resolved.
In this update we are planning to update Glibc's Unicode locale data&mdash; character map and LC_CTYPE information&mdash; to Unicode version 7.0. This data is used almost in all locales and is going to affect all applications using these locales. It is a system wide change since it impacts glibc and application dependent on it. Glibc provides two files for Unicode data, UTF-8 and i18n. The ''UTF-8'' file provides information about CHARMAP and WIDTH for Unicode characters. ''i18n'' file provides CTYPE (uppercase, lowercase, punctuation, etc.) information for all Unicode characters. This has not been updated for a long time due to incomplete documentation and also the possible chance of loosing backward compatibility. Work has been started on this 5-6 months back, and now most of the issues are resolved.


Respective bugs in upstream for more information.  
Relevant bugs in upstream for more information.  
* [https://sourceware.org/bugzilla/show_bug.cgi?id=14094 Update locale data to Unicode 7.0.0]
* [https://sourceware.org/bugzilla/show_bug.cgi?id=14094 Update locale data to Unicode 7.0.0]
* [https://sourceware.org/bugzilla/show_bug.cgi?id=17588 Update UTF-8 charmap and width to Unicode 7.0.0]
* [https://sourceware.org/bugzilla/show_bug.cgi?id=17588 Update UTF-8 charmap and width to Unicode 7.0.0]
Line 68: Line 68:


== Benefit to Fedora ==
== Benefit to Fedora ==
With this change users and developers of Fedora will get Unicode 7.0 support through Glibc. Though we are upgrading from Unicode 5.1 to 7.0, users will get an updated Unicode data from Glibc locales. No new functionality is added. Fedora is leading distribution when it comes to internationalization. By including this change Fedora users and developers will get latest Unicode locale data.
With this change, users and developers of Fedora will get Unicode 7.0 support through Glibc. Though we are upgrading from Unicode 5.1 to 7.0, users will get an updated Unicode data from Glibc locales. No new functionality is added. Fedora is the leading distribution when it comes to internationalization. By including this change, Fedora users and developers will get the latest Unicode locale data.


<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
== Scope ==
== Scope ==
* '''Proposal owners:'''
* '''Proposal owners:'''
Line 81: Line 80:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* '''Other developers:''' This change impacting glibc and all applications that using locales. Other Developers do not need to do any changes from there end but they need to watch how there application behave with improved localedata. We need proper testing to see it does not break any application.
* '''Other developers:''' This change will impact glibc and all applications that use locales. Other Developers do not need to make any changes from their end, but they need to watch how their application behaves with improved localedata. We need proper testing to see that it does not break any application.
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


Line 91: Line 90:


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Upgrade will be smooth. Users will get exact things with updated Unicode data.
Upgrade will be smooth. Users will get exact things with updated Unicode data.<!-- Umm, what? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== How To Test ==
== How To Test ==
Line 112: Line 109:
-->
-->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Glibc includes extensive test-case coverage to test localedata changes.
* This change is affecting Unicode characters, so users will notice little effect on rendering if any.
* Glibc is used by rendering engine for determining the type of characters, so again observe rendering and report if any issue.
* Document section provide detailed report regarding change.


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Users and Developers will get support for Unicode standard 7.0 through locales.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change 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 change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change 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 change)? -->
* No other RPMs packages depends on this.
* No other RPMs packages depends on this.
* Glibc upstream release 2.21 with this patch is going to miss Fedora 22 release deadline. We are going forward by patching Fedora glibc version.
* This patch won't be able to make it into glibc upstream release 2.21, so we're going to maintain it as a patch for Fedora 22.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


Line 127: Line 128:


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  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 "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: Will drop patches from Glibc build/ <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Will drop patches from Glibc build. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: Before F22 Beta release. (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Before F22 Beta release eg. Beta freeze. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 137: Line 138:
* This will be available with backward compatibility report.
* This will be available with backward compatibility report.
* Backward compatibility report for [https://raw.githubusercontent.com/pravins/glibc-i18n/master/report-utf8 UTF-8 file.]
* Backward compatibility report for [https://raw.githubusercontent.com/pravins/glibc-i18n/master/report-utf8 UTF-8 file.]
* i18n CTYPE file additions [report https://raw.githubusercontent.com/pravins/glibc-i18n/master/report-ctype ]. Its 2.1 MB in size.
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
== 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/ -->
Line 148: Line 149:
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF22]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 11:56, 10 February 2015


Glibc Unicode 7.0

Summary

We are updating Glibc Unicode data from Unicode 5.1 to Unicode 7.0 version. It took a long time, since there was not much documentation on how to update Unicode data and also there was the chance of loosing backward compatibility. Most of the issues are resolved now and patches are ready for inclusion. This update adds around 8000 supported characters in Glibc, and also corrects the Unicode data of many characters per the latest Unicode standard.

Owner

Current status

Detailed Description

In this update we are planning to update Glibc's Unicode locale data— character map and LC_CTYPE information— to Unicode version 7.0. This data is used almost in all locales and is going to affect all applications using these locales. It is a system wide change since it impacts glibc and application dependent on it. Glibc provides two files for Unicode data, UTF-8 and i18n. The UTF-8 file provides information about CHARMAP and WIDTH for Unicode characters. i18n file provides CTYPE (uppercase, lowercase, punctuation, etc.) information for all Unicode characters. This has not been updated for a long time due to incomplete documentation and also the possible chance of loosing backward compatibility. Work has been started on this 5-6 months back, and now most of the issues are resolved.

Relevant bugs in upstream for more information.

Github repo for scripts.

Benefit to Fedora

With this change, users and developers of Fedora will get Unicode 7.0 support through Glibc. Though we are upgrading from Unicode 5.1 to 7.0, users will get an updated Unicode data from Glibc locales. No new functionality is added. Fedora is the leading distribution when it comes to internationalization. By including this change, Fedora users and developers will get the latest Unicode locale data.

Scope

  • Proposal owners:
  1. Writing scripts for generating UTF-8 and i18n files from Unicode character database.
  2. Preparing patch for UTF-8 and i18n files.
  3. Preparing backward compatibility report.
  4. Applying patches to Fedora.
  5. Testing whether does it breaks anything around.
  • Other developers: This change will impact glibc and all applications that use locales. Other Developers do not need to make any changes from their end, but they need to watch how their application behaves with improved localedata. We need proper testing to see that it does not break any application.
  • Release engineering: No work required from Release engineering.
  • Policies and guidelines: No, this change does not required any updates to Policies or packaging guideline updates.

Upgrade/compatibility impact

Upgrade will be smooth. Users will get exact things with updated Unicode data.

How To Test

  • Glibc includes extensive test-case coverage to test localedata changes.
  • This change is affecting Unicode characters, so users will notice little effect on rendering if any.
  • Glibc is used by rendering engine for determining the type of characters, so again observe rendering and report if any issue.
  • Document section provide detailed report regarding change.

User Experience

  • Users and Developers will get support for Unicode standard 7.0 through locales.

Dependencies

  • No other RPMs packages depends on this.
  • This patch won't be able to make it into glibc upstream release 2.21, so we're going to maintain it as a patch for Fedora 22.

Contingency Plan

  • Contingency mechanism: Will drop patches from Glibc build.
  • Contingency deadline: Before F22 Beta release eg. Beta freeze.
  • Blocks release? No
  • Blocks product? product No

Documentation

Release Notes