Line 62: | Line 62: | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | ||
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 == | == Benefit to Fedora == |
Revision as of 12:01, 17 June 2015
Glibc locale subpackaging
Summary
This change should make it possible to install or uninstall locales individually.
Owner
- Name: Mike Fabian Siddhesh Poyarekar
- Email: <mfabian At redhat DOT com, spoyarek AT redhat DOT com
- Release notes 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
Scope
- Proposal owners:
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (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)