From Fedora Project Wiki
Line 110: Line 110:


== Scope ==
== Scope ==
* Proposal owners:
* '''Proposal owners:'''
     1. Figure out the best approach to to install/uninstall locales
     1. Figure out the best approach to to install/uninstall locales
     2. Make sure that locales added manually by the user are not destroyed (currently they are lost when glibc is updated)
     2. Make sure that locales added manually by the user are not destroyed (currently they are lost when glibc is updated)
Line 116: Line 116:
<!-- 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: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* '''Other developers:''' <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Anaconda needs to be made aware of the new approach to handle installation/uninstallation of locales
Anaconda needs to be made aware of the new approach to handle installation/uninstallation of locales
<!-- 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?-->


* Release engineering: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* '''Release engineering:''' <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
I am not sure whether this has affects release engineering, probably the
I am not sure whether this has affects release engineering, probably the
packages in the install image change when parts are split out of glibc-common.
packages in the install image change when parts are split out of glibc-common.
Line 126: Line 126:
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook  -->
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook  -->


* Policies and guidelines: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* '''Policies and guidelines:''' <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
No, this change does not require updates to policies and guidelines.
No, this change does not require updates to policies and guidelines.
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->


* Trademark approval: N/A (not needed for this Change)
* '''Trademark approval:''' not needed for this Change
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->



Revision as of 12:36, 17 June 2015

Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "edit" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.


Glibc locale subpackaging

Summary

This change should make it possible to install or uninstall locales individually.

Owner

Current status

  • Targeted release: Fedora 23
  • Last updated: (2015-06-17)
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Currently the file /usr/lib/locale/locale-archive contains

  • all* locales and is thus huge (103 megabytes).

For small systems (and containers) it would be useful to be able to install only a small number of locales.

Recently we made it possible to install a small number of locales by supplying the rpm-macro “_install_langs”, for example

   rpm -i -D _install_langs="en:de_DE" glibc-common.rpm

will install all English locales and all German locales which start with “de_DE”,

   rpm -i -D _install_langs="en_US.utf8" glibc-common.rpm

will install only the en_US.utf8 locale,

   rpm -i -D _install_langs="POSIX" glibc-common.rpm

will install nothing (but the POSIX/C is still available because it is builtin into glibc).

But this approach works only during an Anaconda based install when Anaconda supplies the _install_langs rpm-macro.

When glibc is updated later, the _install_langs macro will not be supplied on the command line during the update and the default value “all” of “_install_langs” from /usr/lib/rpm/macros will be used and all locales come back during an update.

Therefore, this solution is far from perfect.

It should be made possible to install and uninstall locales individually, for example by having a separate package for the locales for each language. Installing such a package would add these locales to locale-archive, uninstalling it would remove them.

Anaconda then needs to be changed to handle such language packages.

Benefit to Fedora

This change should make it possible to reduce the minimum size of an installation considerably.

Scope

  • Proposal owners:
   1. Figure out the best approach to to install/uninstall locales
   2. Make sure that locales added manually by the user are not destroyed (currently they are lost when glibc is updated)
   
  • Other developers:

Anaconda needs to be made aware of the new approach to handle installation/uninstallation of locales

  • Release engineering:

I am not sure whether this has affects release engineering, probably the packages in the install image change when parts are split out of glibc-common.

  • Policies and guidelines:

No, this change does not require updates to policies and guidelines.

  • Trademark approval: not needed for this Change

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

N/A (not a System Wide Change)

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes