From Fedora Project Wiki
(Change approved by FESCo https://pagure.io/fesco/issue/2176#comment-583786)
(Add trackers)
Line 28: Line 28:
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=1732123 #1732123]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/365 #365]


== Detailed Description ==
== Detailed Description ==

Revision as of 18:12, 22 July 2019


🔗 Langpacks-core for i18n functionality

🔗 Summary

Add langpacks-core-* subpackages to langpacks for easier installation of minimal core i18n support for a language (locale, default font, and any default input-method if needed).

🔗 Owner

🔗 Current status

🔗 Detailed Description

In Fedora 30 we replaced the remaining Yum language-support groups in Comps by extending the langpacks meta packages to handle the installation of fonts (and input-methods) required for a language, in addition to locale and translation package weak dependencies. However this all or nothing approach can be too heavy for some use cases, since the old language-support groups did not pull in translation langpacks.

With this Change we want to refine the approach to allow finer-grained installation of language support. So users who only want basic support installed for a language (without translation langpacks and additional fonts for example) can install langpacks-core-XY to get just the default font, locale(s) and a weak dependency for any default input method.

Note: in this proposal XY stands just for the ISO language code (eg es for Spanish).

Users who want general default Fedora international support should continue to install @fonts, @input-methods, and glibc-all-langpacks (as they are already in Fedora Workstation, etc).

Later we may consider whether to separate the input methods into separate meta langpacks subpackages.

🔗 Benefit to Fedora

This allows more flexibility for users who want to do custom installations/Spins, or starting from minimal images/installs. They will be able to add basic i18n support for one or more specific language in a predictable standard way without pulling in additional langpacks for translations and extra fonts which may not be required for each added languages.

Users wanting full support for a language can continue to install the langpacks-XY package for their language.

🔗 Scope

  • Proposal owners:
    • Add langpacks-core-* subpackages to langpacks for core i18n functionality:
      • default font
      • glibc locale
      • weak dependency on ibus IME if needed
    • Other langpacks weak deps and additional fonts will remain in langpacks-XY.
    • langpacks-XY will require langpacks-core-XY.
    • glibc locales subpackages weak dependencies will be updated to depend on langpacks-core-XY
  • Other developers: No other changes should be needed - current package translation langpacks will continue to depend on langpacks-xx.
  • Release engineering: #8507
  • Policies and guidelines: No major changes here
  • Trademark approval: N/A (not needed for this Change)

🔗 Upgrade/compatibility impact

No impact - the design is fully backwards compatible: langpacks-XY will pull in the new langpacks-core-XY.

🔗 How To Test

This Change implementation is available for testing using copr repo.

  • dnf list langpacks-*
  • dnf install langpacks-core-XY
  • dnf install langpacks-XY

🔗 User Experience

Fedora users will have more flexibility with installation of i18n support packages and langpacks.

🔗 Dependencies

glibc.spec needs to be updated with s/langpacks/langpacks-core/ once langpacks has implemented langpacks-core.

No other packages should be directly affected by the current proposal.

🔗 Contingency Plan

  • Contingency mechanism: Proposal owners will revert to F30 langpacks and glibc
  • Contingency deadline: Beta freeze
  • Blocks release? No
  • Blocks product? N/A

🔗 Documentation

No additional documentation at this stage.

🔗 Release Notes