Automatic merge of trunk into multilib

This commit is contained in:
Thomas Trepl 2024-01-31 20:23:41 +01:00
commit ac1639c2cc
20 changed files with 273 additions and 248 deletions

View File

@ -40,6 +40,48 @@
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2024-02-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to openssl-3.2.1. Fixes
<ulink url='&lfs-ticket-root;5425'>#5425</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to zlib-1.3.1. Fixes
<ulink url='&lfs-ticket-root;5419'>#5419</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.4.6. Fixes
<ulink url='&lfs-ticket-root;5423'>#5423</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.7.2. Fixes
<ulink url='&lfs-ticket-root;5422'>#5422</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20240125. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to binutils-2.42. Fixes
<ulink url='&lfs-ticket-root;5424'>#5424</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to acl-2.3.2. Fixes
<ulink url='&lfs-ticket-root;5421'>#5421</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update upstream fixes for readline-8.2. Fixes
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Apply upstream fix for bash-5.2.21. Fixes
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-01-21</para>
<itemizedlist>

View File

@ -26,9 +26,9 @@
<!--<listitem>
<para>None</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Acl-&acl-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Attr-&attr-version;</para>
</listitem>
@ -44,9 +44,9 @@
<listitem>
<para>Bc-&bc-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Binutils-&binutils-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Bison-&bison-version;</para>
</listitem>-->
@ -290,6 +290,10 @@
<title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>&bash-upstream-fixes-patch;</para>
</listitem>
<listitem>
<para>setuptools-&setuptools-version;</para>
</listitem>

View File

@ -29,9 +29,10 @@
minimum versions indicated. This should not be an issue for most
modern Linux distributions. Also note that many distributions will
place software headers into separate packages, often in the form of
<quote>&lt;package-name&gt;-devel</quote> or
<quote>&lt;package-name&gt;-dev.</quote> Be sure to install those if
your distribution provides them.</para>
<literal><replaceable>&lt;package-name&gt;</replaceable>-devel</literal>
or
<literal><replaceable>&lt;package-name&gt;</replaceable>-dev</literal>.
Be sure to install those if your distribution provides them.</para>
<para>Earlier versions of the listed software packages may work, but have
not been tested.</para>

View File

@ -16,7 +16,7 @@
<envar>LFS</envar> environment variable described in the previous section.
</para>
<para>Strictly speaking, one cannot "mount a partition." One mounts the <emphasis>file
<para>Strictly speaking, one cannot <quote>mount a partition.</quote> One mounts the <emphasis>file
system</emphasis> embedded in that partition. But since a single partition can't contain
more than one file system, people often speak of the partition and the
associated file system as if they were one and the same.</para>

View File

@ -27,14 +27,14 @@
</varlistentry>
-->
<!-- <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
<varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>

View File

@ -44,8 +44,8 @@
<title>Installation of Python</title>
<note>
<para>There are two package files whose name starts with
<quote>python.</quote> The one to extract from is
<para>There are two package files whose name starts with the
<quote>python</quote> prefix. The one to extract from is
<filename>Python-&python-version;.tar.xz</filename> (notice the
uppercase first letter).</para>
</note>
@ -84,8 +84,8 @@
<para>
Some Python 3 modules can't be built now because the dependencies
are not installed yet. For the <filename>ssl</filename> module,
a message <quote><computeroutput>Python requires a OpenSSL 1.1.1 or
newer</computeroutput></quote> is outputted.
a message <computeroutput>Python requires a OpenSSL 1.1.1 or
newer</computeroutput> is outputted.
The message should be ignored. Just make sure the toplevel
<command>make</command> command has not failed. The optional
modules are not needed now and they will be built in

View File

@ -40,6 +40,10 @@
<sect2 role="installation">
<title>Installation of Bash</title>
<para>First, fix some issues identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-upstream-fixes-patch;</userinput></screen>
<para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -157,7 +157,7 @@ cd build</userinput></screen>
<option>--enable-default-pie</option> and
<option>--enable-default-ssp</option> options are passed to GCC.</para>
<para>Three tests in the gprofng suite are also known to fail.</para>
<!-- <para>Three tests in the gprofng suite are also known to fail.</para>-->
<para>Install the package:</para>

View File

@ -1261,8 +1261,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
<varlistentry id="yes">
<term><command>yes</command></term>
<listitem>
<para>Repeatedly outputs <quote>y,</quote> or a given string, until
killed</para>
<para>Repeatedly outputs <literal>y</literal> or a given string,
until killed</para>
<indexterm zone="ch-system-coreutils yes">
<primary sortas="b-yes">yes</primary>
</indexterm>

View File

@ -92,8 +92,8 @@
<screen><userinput remap="test">make test</userinput></screen>
<para>If any test fails with the message
<quote><computeroutput>The system has no more ptys. Ask your system
administrator to create more</computeroutput>,</quote> it indicates
<computeroutput>The system has no more ptys. Ask your system
administrator to create more</computeroutput>, it indicates
you've not mounted the
<systemitem class="filesystem">devpts</systemitem> file system
correctly. You need to exit from the chroot environment, read

View File

@ -73,7 +73,6 @@ cd build</userinput></screen>
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--with-headers=/usr/include \
--disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
@ -110,15 +109,10 @@ cd build</userinput></screen>
<listitem>
<para>This option increases system security by adding
extra code to check for buffer overflows, such as stack
smashing attacks.</para>
</listitem>
</varlistentry>
<!-- do we need this one? -->
<varlistentry>
<term><parameter>--with-headers=/usr/include</parameter></term>
<listitem>
<para>This option tells the build system where to find the
kernel API headers.</para>
smashing attacks. Note that Glibc always explicitly overrides
the default of GCC, so this option is still needed even though
we've already specified <option>--enable-default-ssp</option> for
GCC.</para>
</listitem>
</varlistentry>

View File

@ -52,7 +52,7 @@
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
and ld-linux.so.2 on 32-bit systems. The construct below selects the
correct name for the current architecture, excluding anything ending
with <quote>g,</quote> in case the commands below have already been
with <literal>g</literal>, in case the commands below have already been
run.</para></note>
<important>

View File

@ -26,14 +26,13 @@
<!-- sysv -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
<!-- systemd -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
<!-- common -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/>

View File

@ -74,6 +74,25 @@
</variablelist>
<para>We'll use <literal>C.UTF-8</literal> as the locale for interactive
sessions in the Linux console in <xref role='.'
linkend='ch-config-locale'/> The console fonts shipped by
the <application>Kbd</application> package containing the glyphs for
all characters from the program messages in the <literal>C.UTF-8</literal>
locale are <filename>LatArCyrHeb*.psfu.gz</filename>,
<filename>LatGrkCyr*.psfu.gz</filename>,
<filename>Lat2-Terminus16.psfu.gz</filename>, and
<filename>pancyrillic.f16.psfu.gz</filename> in
<filename class='directory'>/usr/share/consolefonts</filename> (the other
shipped console fonts lack glyphs of some characters like the Unicode
left/right quotation marks and the Unicode English dash). So set one of
them, for example <filename>Lat2-Terminus16.psfu.gz</filename> as the
default console font:</para>
<!-- We are using "nodump" for general settings, but not examples. This
is ironic, but needed for the compatibility with jhalfs! -->
<screen role='nodump'><userinput>echo <literal>FONT=Lat2-Terminus16</literal> &gt; /etc/vconsole.conf</userinput></screen>
<para>An example for a German keyboard and console is given below:</para>
<!-- This is what is used by jhalfs for creating the vconsole.conf file.
Whenever you want to change the following, please inform the jhalfs

View File

@ -5,18 +5,21 @@
%general-entities;
]>
<sect1 id="ch-config-locale" revision="systemd">
<sect1 id="ch-config-locale">
<?dbhtml filename="locale.html"?>
<title>Configuring the System Locale</title>
<indexterm zone="ch-config-locale">
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary>
<primary sortas="e-/etc/profile">/etc/profile</primary>
</indexterm>
<para>The <filename>/etc/locale.conf</filename> file below sets some
environment variables necessary for native language support. Setting
them properly results in:</para>
<indexterm zone="ch-config-locale" revision='systemd'>
<primary sortas="e-/etc/profile">/etc/locale.conf</primary>
</indexterm>
<para>Some environment variables are necessary for native language
support. Setting them properly results in:</para>
<itemizedlist>
<listitem>
@ -50,19 +53,21 @@
<screen role="nodump"><userinput>locale -a</userinput></screen>
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591.</quote>
<para>Charmaps can have a number of aliases, e.g.,
<literal>ISO-8859-1</literal> is also referred to as
<literal>iso8859-1</literal> and <literal>iso88591</literal>.
Some applications cannot handle the various synonyms correctly (e.g., require
that <quote>UTF-8</quote> is written as <literal>UTF-8,</literal> not
that <literal>UTF-8</literal> is written as <literal>UTF-8</literal>, not
<literal>utf8</literal>), so it is the safest in most
cases to choose the canonical name for a particular locale. To determine
the canonical name, run the following command, where <replaceable>&lt;locale
name&gt;</replaceable> is the output given by <command>locale -a</command> for
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
your preferred locale (<literal>en_GB.iso88591</literal> in our
example).</para>
<screen role="nodump"><userinput>LC_ALL=<replaceable>&lt;locale name&gt;</replaceable> locale charmap</userinput></screen>
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
<para>For the <literal>en_GB.iso88591</literal> locale, the above command
will print:</para>
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
@ -95,45 +100,110 @@ LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
In those cases, investigating how other Linux distributions support your locale
might provide some useful information.</para>
<para>Once the proper locale settings have been determined, create the
<filename>/etc/locale.conf</filename> file:</para>
<para revision='systemd'>Once the proper locale settings have been
determined, create the <filename>/etc/locale.conf</filename> file:</para>
<screen><userinput>cat &gt; /etc/locale.conf &lt;&lt; "EOF"
<screen revision='systemd'><userinput>cat &gt; /etc/locale.conf &lt;&lt; "EOF"
<literal>LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable></literal>
EOF</userinput></screen>
<para>Note that you can modify <filename>/etc/locale.conf</filename> with the
<para>The shell program <command>/bin/bash</command> (here after referred
as <quote>the shell</quote>) uses a collection of startup files to help
create the environment to run in. Each file has a specific use and may
affect login and interactive environments differently. The files in the
<filename class="directory">/etc</filename> directory provide global
settings. If equivalent files exist in the home directory, they
may override the global settings.</para>
<para>An interactive login shell is started after a successful login,
using <command>/bin/login</command>, by reading the
<filename>/etc/passwd</filename> file. An interactive non-login shell is
started at the command-line (e.g.
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A
non-interactive shell is usually present when a shell script is running.
It is non-interactive because it is processing a script and not waiting
for user input between commands.</para>
<para><phrase revision='systemd'>The login shells are often unaffected by
the settings in <filename>/etc/locale.conf</filename>. </phrase>Create the
<filename>/etc/profile</filename>
<phrase revision='sysv'>once the proper locale settings have been
determined to set the desired locale</phrase><phrase
revision='systemd'>to read the locale settings from
<filename>/etc/locale.conf</filename> and export them</phrase>,
but set the <literal>C.UTF-8</literal> locale instead if running in the Linux
console (to prevent programs from outputting characters that the Linux
console is unable to render):</para>
<screen revision="systemd"><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
<literal># Begin /etc/profile
for i in $(locale); do
unset ${i%=*}
done
if [[ "$TERM" = linux ]]; then
export LANG=C.UTF-8
else
source /etc/locale.conf
for i in $(locale); do
key=${i%=*}
if [[ -v $key ]]; then
export $key
fi
done
fi
# End /etc/profile</literal>
EOF</userinput></screen>
<screen revision="sysv"><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
<literal># Begin /etc/profile
for i in $(locale); do
unset ${i%=*}
done
if [[ "$TERM" = linux ]]; then
export LANG=C.UTF-8
else
export LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>
fi
# End /etc/profile</literal>
EOF</userinput></screen>
<para revision='systemd'>Note that you can modify <filename>/etc/locale.conf</filename> with the
systemd <command>localectl</command> utility. To use
<command>localectl</command> for the example above, run:</para>
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>"</userinput></screen>
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>"</userinput></screen>
<para>You can also specify other language specific environment variables such
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or
any other environment variable from <command>locale</command> output. Just
separate them with a space. An example where <envar>LANG</envar> is set as
<para revision='systemd'>You can also specify other language specific
environment variables such as <envar>LANG</envar>,
<envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or any other
environment variable from <command>locale</command> output. Just separate
them with a space. An example where <envar>LANG</envar> is set as
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
<note><para>Please note that the <command>localectl</command> command
doesn't work in the chroot environment. It can only
be used after the LFS system is booted with systemd.</para></note>
<note revision='systemd'><para>Please note that the
<command>localectl</command> command doesn't work in the chroot
environment. It can only be used after the LFS system is booted with
systemd.</para></note>
<para>The <quote>C</quote> (default) and <quote>en_US</quote> (the recommended
one for United States English users) locales are different. <quote>C</quote>
<para>The <literal>C</literal> (default) and <literal>en_US</literal>
(the recommended one for United States English users) locales are
different. <literal>C</literal>
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
as invalid characters. That's why, e.g., the <command>ls</command> command
substitutes them with question marks in that locale. Also, an attempt to send
mail with such characters from Mutt or Pine results in non-RFC-conforming
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only
messages being sent (the charset in the outgoing mail is indicated as
<computeroutput>unknown 8-bit</computeroutput>). It's suggested that you
use the <literal>C</literal> locale only
if you are certain that you will never need 8-bit characters.</para>
<!--
<para>UTF-8 based locales are not supported well by many programs.
Work is in progress to document and, if possible, fix such problems, see
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
-->
</sect1>

View File

@ -91,7 +91,8 @@
<itemizedlist>
<listitem>
<para>
Mask udev's .link file for the default policy:
Mask udev's <filename class='extension'>.link</filename> file
for the default policy:
<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
</para>
</listitem>
@ -101,9 +102,9 @@
Create a manual naming scheme, for example by naming the
interfaces something like <literal>internet0</literal>,
<literal>dmz0</literal>, or <literal>lan0</literal>.
To do that, create .link files in /etc/systemd/network/ that
select an explicit name or a better naming scheme for your
network interfaces. For example:
To do that, create <filename class='extension'>.link</filename>
files in /etc/systemd/network/ that select an explicit name or a
better naming scheme for your network interfaces. For example:
</para>
<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-ether0.link &lt;&lt; "EOF"

View File

@ -1,147 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-config-profile" revision="sysv">
<?dbhtml filename="profile.html"?>
<title>The Bash Shell Startup Files</title>
<indexterm zone="ch-config-profile">
<primary sortas="e-/etc/profile">/etc/profile</primary>
</indexterm>
<para>The shell program <command>/bin/bash</command> (hereafter referred to
as <quote>the shell</quote>) uses a collection of startup files to help
create the environment to run in. Each file has a specific use and may affect
login and interactive environments differently. The files in the <filename
class="directory">/etc</filename> directory provide global settings. If
equivalent files exist in the home directory, they may override the global
settings.</para>
<para>An interactive login shell is started after a successful login, using
<command>/bin/login</command>, by reading the <filename>/etc/passwd</filename>
file. An interactive non-login shell is started at the command-line (e.g.,
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
shell is usually present when a shell script is running. It is non-interactive
because it is processing a script and not waiting for user input between
commands.</para>
<para>For more information, see the <emphasis>Bash Startup Files</emphasis> and
<emphasis>Interactive Shells</emphasis> sections in the <emphasis>Bash
Features</emphasis> chapter of the Bash info pages (<command>info bash</command>).</para>
<para>The files <filename>/etc/profile</filename> and
<filename>~/.bash_profile</filename> are read when the shell is
invoked as an interactive login shell.</para>
<para>The base <filename>/etc/profile</filename> below sets some
environment variables necessary for native language support. Setting
them properly results in:</para>
<itemizedlist>
<listitem>
<para>The output of programs translated into the native language</para>
</listitem>
<listitem>
<para>Correct classification of characters into letters, digits and other
classes. This is necessary for <command>bash</command> to properly accept
non-ASCII characters in command lines in non-English locales</para>
</listitem>
<listitem>
<para>The correct alphabetical sorting order for the country</para>
</listitem>
<listitem>
<para>Appropriate default paper size</para>
</listitem>
<listitem>
<para>Correct formatting of monetary, time, and date values</para>
</listitem>
</itemizedlist>
<para>Replace <replaceable>&lt;ll&gt;</replaceable> below with the two-letter code
for the desired language (e.g., <quote>en</quote>) and
<replaceable>&lt;CC&gt;</replaceable> with the two-letter code for the appropriate
country (e.g., <quote>GB</quote>). <replaceable>&lt;charmap&gt;</replaceable> should
be replaced with the canonical charmap for your chosen locale. Optional
modifiers such as <quote>@euro</quote> may also be present.</para>
<para>The list of all locales supported by Glibc can be obtained by running
the following command:</para>
<screen role="nodump"><userinput>locale -a</userinput></screen>
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591.</quote>
Some applications cannot handle the various synonyms correctly (e.g., require
that <quote>UTF-8</quote> is written as <literal>UTF-8</literal>, not
<literal>utf8</literal>), so it is safest in most
cases to choose the canonical name for a particular locale. To determine
the canonical name, run the following command, where <replaceable>&lt;locale
name&gt;</replaceable> is the output given by <command>locale -a</command> for
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
<screen role="nodump"><userinput>LC_ALL=<replaceable>&lt;locale name&gt;</replaceable> locale charmap</userinput></screen>
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
will print:</para>
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
<para>This results in a final locale setting of <literal>en_GB.ISO-8859-1</literal>.
It is important that the locale found using the heuristic above is tested before
it is added to the Bash startup files:</para>
<screen role="nodump"><userinput>LC_ALL=&lt;locale name&gt; locale language
LC_ALL=&lt;locale name&gt; locale charmap
LC_ALL=&lt;locale name&gt; locale int_curr_symbol
LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
<para>The above commands should print the language name, the character
encoding used by the locale, the local currency, and the prefix to dial
before the telephone number in order to get into the country. If any of the
commands above fail with a message similar to the one shown below, this means
that your locale was either not installed in <xref linkend="ch-system-glibc"/>
or is not supported by the default installation of Glibc.</para>
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
<para>If this happens, you should either install the desired locale using the
<command>localedef</command> command, or consider choosing a different locale.
Further instructions assume that there are no such error messages from
Glibc.</para>
<para>Other packages may also function incorrectly (but will not necessarily
display any error messages) if the locale name does not meet their expectations.
In such cases, investigating how other Linux distributions support your locale
might provide some useful information.</para>
<para>Once the proper locale settings have been determined, create the
<filename>/etc/profile</filename> file:</para>
<screen><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
<literal># Begin /etc/profile
export LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>
# End /etc/profile</literal>
EOF</userinput></screen>
<para>The <quote>C</quote> (default) and <quote>en_US.utf8</quote> (the recommended
one for United States English users) locales are different. <quote>C</quote>
uses the US-ASCII 7-bit character set, and treats bytes with the high-order bit set
<quote>on</quote> as invalid characters. That's why, e.g., the <command>ls</command> command
displays them as question marks in that locale. Also, an attempt to send
mail with such characters from Mutt or Pine results in non-RFC-conforming
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
8-bit</quote>). So you can only use the <quote>C</quote> locale if you are sure
you will never need 8-bit characters.</para>
<para>UTF-8 based locales are not supported well by some programs.
Work is in progress to document and, if possible, fix such problems. See
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
</sect1>

View File

@ -432,6 +432,40 @@ EOF</userinput></screen>
<para>Some examples:</para>
<itemizedlist>
<listitem>
<para>
We'll use <literal>C.UTF-8</literal> as the locale for interactive
sessions in the Linux console in <xref role=','
linkend='ch-config-locale'/> so we should set
<literal>UNICODE</literal> to <literal>1</literal>. And the console
fonts shipped by the <application>Kbd</application> package
containing the glyphs for all characters from the program messages
in the <literal>C.UTF-8</literal> locale are
<filename>LatArCyrHeb*.psfu.gz</filename>,
<filename>LatGrkCyr*.psfu.gz</filename>,
<filename>Lat2-Terminus16.psfu.gz</filename>, and
<filename>pancyrillic.f16.psfu.gz</filename> in
<filename class='directory'>/usr/share/consolefonts</filename> (the
other shipped console fonts lack glyphs of some characters like the
Unicode left/right quotation marks and the Unicode English dash).
So set one of them, for example
<filename>Lat2-Terminus16.psfu.gz</filename> as the default console
font:
</para>
<!-- We are using 'nodump' for the generic setting, but not for an
example (see below). This is deliberate to keep the
compatibility with jhalfs. -->
<screen role='nodump'><userinput>cat &gt; /etc/sysconfig/console &lt;&lt; "EOF"
<literal># Begin /etc/sysconfig/console
UNICODE="1"
FONT="Lat2-Terminus16"
# End /etc/sysconfig/console</literal>
EOF</userinput></screen>
</listitem>
<listitem>
<para>For a non-Unicode setup, only the KEYMAP and FONT variables are
@ -526,7 +560,7 @@ EOF</userinput></screen>
languages, because there accents are added to unaccented ASCII
characters, or two ASCII characters are composed together. However, in
UTF-8 mode it is a problem; e.g., for the Greek language, where one
sometimes needs to put an accent on the letter <quote>alpha.</quote>
sometimes needs to put an accent on the letter α.
The solution is either to avoid the use of UTF-8, or to install the
X window system, which doesn't have this limitation, in its input
handling.</para>

View File

@ -13,10 +13,10 @@
*-knl-* Package info for Kernel stuff
-->
<!ENTITY acl-version "2.3.1">
<!ENTITY acl-size "348 KB">
<!ENTITY acl-version "2.3.2">
<!ENTITY acl-size "363 KB">
<!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz">
<!ENTITY acl-md5 "95ce715fe09acca7c12d3306d0f076b2">
<!ENTITY acl-md5 "590765dee95907dbc3c856f7255bd669">
<!ENTITY acl-home "&savannah-nongnu;/projects/acl">
<!ENTITY acl-fin-du "6.1 MB">
<!ENTITY acl-fin-sbu "less than 0.1 SBU">
@ -65,10 +65,10 @@
<!ENTITY bc-fin-du "7.7 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
<!ENTITY binutils-version "2.41">
<!ENTITY binutils-size "26,139 KB">
<!ENTITY binutils-version "2.42">
<!ENTITY binutils-size "26,922 KB">
<!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
<!ENTITY binutils-md5 "256d7e0ad998e423030c84483a7c1e30">
<!ENTITY binutils-md5 "a075178a9646551379bfb64040487715">
<!ENTITY binutils-home "&gnu-software;binutils/">
<!ENTITY binutils-tmpp1-du "647 MB">
<!ENTITY binutils-tmpp1-sbu "1 SBU">
@ -317,10 +317,10 @@
<!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20240117">
<!ENTITY iana-etc-size "596 KB">
<!ENTITY iana-etc-version "20240125">
<!ENTITY iana-etc-size "589 KB">
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
<!ENTITY iana-etc-md5 "215feb4b55043a6c18e84a5ed58b705f">
<!ENTITY iana-etc-md5 "aed66d04de615d76c70890233081e584">
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -440,12 +440,12 @@
<!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "7">
<!ENTITY linux-patch-version "1">
<!ENTITY linux-patch-version "2">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "138,096 KB">
<!ENTITY linux-size "138,085 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "d8a7394e0e349dd373e9722e141c8b61">
<!ENTITY linux-md5 "62b0a6c979a54569295d34ed57f47875">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
allnoconfig + some configs we recommend for the users, rounded down to
@ -548,10 +548,10 @@
<!ENTITY ninja-fin-du "75 MB">
<!ENTITY ninja-fin-sbu "0.3 SBU">
<!ENTITY openssl-version "3.2.0">
<!ENTITY openssl-size "17,284 KB">
<!ENTITY openssl-version "3.2.1">
<!ENTITY openssl-size "17,318 KB">
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
<!ENTITY openssl-md5 "7903549a14abebc5c323ce4e85f2cbb2">
<!ENTITY openssl-md5 "c239213887804ba00654884918b37441">
<!ENTITY openssl-home "https://www.openssl.org/">
<!ENTITY openssl-fin-du "587 MB">
<!ENTITY openssl-fin-sbu "3.0 SBU">
@ -774,24 +774,24 @@
<!ENTITY xml-parser-fin-du "2.3 MB">
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.4.5">
<!ENTITY xz-size "1,642 KB">
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
<!ENTITY xz-version "5.4.6">
<!ENTITY xz-size "1,645 KB">
<!ENTITY xz-url "https://github.com/tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "7ade7bd1181a731328f875bec62a9377">
<!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "22 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU">
<!ENTITY xz-fin-du "24 MB">
<!ENTITY xz-fin-sbu "0.1 SBU">
<!ENTITY zlib-version "1.3">
<!ENTITY zlib-size "1,461 KB">
<!ENTITY zlib-version "1.3.1">
<!ENTITY zlib-size "1,478 KB">
<!-- DO NOT remove "fossils"!
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
once a newer version is released EVEN IF there is no security fixes.
Unfortunately there is no .xz files in fossils directory. -->
<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
<!ENTITY zlib-md5 "60373b133d630f74f4a1f94c1185a53f">
<!ENTITY zlib-md5 "9855b6d802d7fe5b7bd5b196a2271655">
<!ENTITY zlib-home "https://zlib.net/">
<!ENTITY zlib-fin-du "6.2 MB">
<!ENTITY zlib-fin-sbu "less than 0.1 SBU">

View File

@ -2,6 +2,10 @@
<!-- Start of Common Patches -->
<!ENTITY bash-upstream-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
<!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
<!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB">
@ -14,9 +18,9 @@
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!ENTITY glibc-fhs-patch-size "2.8 KB">
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch">
<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2">
<!ENTITY glibc-upstream-fixes-patch-size "28 KB">
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-4.patch">
<!ENTITY glibc-upstream-fixes-patch-md5 "66e843b00688c641c9bdda684db45b43">
<!ENTITY glibc-upstream-fixes-patch-size "36 KB">
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
@ -26,9 +30,9 @@
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363">
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB">
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-2.patch">
<!ENTITY readline-fixes-patch-md5 "d2477ebe908cc99763d90dde7fd9549a">
<!ENTITY readline-fixes-patch-size "5.7 KB">
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
<!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
<!ENTITY readline-fixes-patch-size "13 KB">
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">