summaryrefslogtreecommitdiffstats
path: root/share/man/locales-c.utf-8.7.txt
blob: d165e4dfcd52308e3a83731d23d58e8b5465439e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// locales-c.utf-8 - Circumvent Debian locales packages using C.UTF-8
// Copyright (C) 2014-2017 Daniel Baumann <daniel.baumann@open-infrastructure.net>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

LOCALES-C.UTF-8(7)
==================
:doctype: manpage
:man manual: Open Infrastructure
:man source: locales-c.utf-8
:man version: {revnumber}


NAME
----
locales-c.utf-8 - Circumvent Debian locales packages using C.UTF-8


DESCRIPTION
-----------
"[A] locale is a set of parameters that defines the user's language, region and
 any special variant preferences that the user wants to see in their user
 interface."::
    -- Wikipedia (https://en.wikipedia.org/wiki/Locale_(computer_software))

locale-c.utf-8 provides the system integration to use C.UTF-8 within Debian
based systems (see rational below).


DOWNLOAD
--------
  * Upstream Releases: https://files.open-infrastructure.net/software/locales-c.utf-8/upstream
  * Upstream Sources: https://sources.open-infrastructure.net/software/locales-c.utf-8
  * Debian Releases: https://files.open-infrastructure.net/software/locales-c.utf-8/debian
  * Debian Sources: https://sources.progress-linux.org/users/daniel.baumann/debian/packages/open-infrastructure-locales-c.utf-8


INSTALLATION
------------

SOURCE
~~~~~~
  1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc
  2. git clone https://sources.open-infrastructure.net/software/locales-c.utf-8
  3. cd locales-c.utf-8 && sudo make install

DEBIAN 10 (BUSTER) AND NEWER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  * sudo apt install locales-c.utf-8


DEVELOPMENT
-----------
Bug reports, feature requests, help, patches, support and everything else are
welcome on the Open Infrastructure Software Mailing List:

  * https://lists.open-infrastructure.net/listinfo/software

Please base patches against the 'next' Git branch using common sense:

  * https://www.kernel.org/doc/Documentation/SubmittingPatches

Debian specific bugs can also be reported in the Debian Bug Tracking System:

  * https://bugs.debian.org


RATIONAL
--------

Introduction
~~~~~~~~~~~~
On Debian based systems the locales and locales-all packages contain the
localization files (called locale, or locales) for all currently supported
regions and languages.

The locales and locales-all packages also contain configuration files to define
a default locale for a system. Other packages are relying on these settings in
order to work properly.

If the locales or the configuration of the default locale is missing the
automatic fallback of libc is used, which currently is C and not C.UTF-8:

  * The C locale is the standard locale, it implements the ISO C standard and
    basically is a en_US locale with a metric system and 24 hours time format.

  * The C.UTF-8 is a Unicode-aware version of the C locale.

Problem
~~~~~~~
Debian based systems expect a UTF-8 capable locale. Some packages behave
differently when being run under a non-UTF-8 locale, such as:

  * programs may show warnings on the command line
  * programs may fail to start

Additionally some packages in Debian strictly depend on the locales or
locales-all package eventhough only they require a proper UTF-8 locale to be
used.

The C.UTF-8 locale is included in the libc-bin package which is a package marked
essential and thus always present on any Debian based system.

Solution
~~~~~~~~
The locale-c.utf-8 package provides the necessary glue on the system level
(configuration files) as well as the on the package manager level
(conflicts/breaks/provides on locales and locales-all) to allow using C.UTF-8 as
the default locale by not breaking any other packages assumptions.

Use Case
~~~~~~~~
On minimal systems such as servers and containers system administrators often
prefer to use the C.UTF-8 locale instead of e.g. en_US.UTF-8:

  * Compared to locales-all this saves approximatly 125MB of disk space.
  * Compared to locales this saves only about 10MB, but avoids the
    reconfiguration handling on upgrades.


FILES
-----
The following files are used:

*/etc/profile.d/zz-locale-c.utf-8.sh*::
	bash configuration file.

*/etc/default/locales*::
	locales configuration file.


SEE ALSO
--------
locale(1),
locale(7).


LINKS
-----
*The GNU C Library: Locales and Internationalization*::
	https://www.gnu.org/software/libc/manual/html_node/Locales.html


AUTHORS
-------
  * Daniel Baumann <daniel.baumann@open-infrastructure.net>