// 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>
