diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 52d558a1b..783e1f48d 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -37,6 +37,20 @@
-->
+
+ 2009-05-16
+
+
+ [matthew] - Update table of languages & encodings supported
+ by Man-DB. Remove alteration of man_db.conf, as the latest version of
+ Man-DB handles the /usr/share/man
+ symlink correctly. Also, remove convert-mans as
+ the latest version of Man-DB correctly detects the encoding of manual
+ pages. Fixes #2298.
+
+
+
+
2009-05-10
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index c94f81bf4..327fee593 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -154,6 +154,14 @@
+
+ Man-DB Testsuite Patch - &man-db-testsuite-patch-size;:
+
+ Download:
+ MD5 sum: &man-db-testsuite-patch-md5;
+
+
+
Patch Carriage Return Fix Patch - &patch-fixes-patch-size;:
diff --git a/chapter06/man-db.xml b/chapter06/man-db.xml
index bc33c4a57..79e817d83 100644
--- a/chapter06/man-db.xml
+++ b/chapter06/man-db.xml
@@ -41,12 +41,11 @@
Installation of Man-DB
- LFS creates /usr/man and
- /usr/local/man as symlinks. Remove them from the
- man_db.conf file to prevent redundant
- results when using programs such as whatis:
+ Apply a patch to fix a problem with the testsuite, which doesn't
+ expect col to be UTF-8 aware, which Util-Linux-NG's
+ version is:
-sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in
+patch -Np1 -i ../&man-db-testsuite-patch;
Prepare Man-DB for compilation:
@@ -88,7 +87,9 @@
make
- This package does not come with a test suite.
+ To test the results, issue:
+
+make check
Install the package:
@@ -99,47 +100,13 @@
Non-English Manual Pages in LFS
- Some packages provide non-English manual pages. They are displayed
- correctly only if their location and encoding matches the expectation of
- the "man" program. However, different Linux distributions have different
- policies (expressed in the choice of the man program,
- its configuration and patches applied to it) concerning the character
- encoding in which manual pages are stored in the filesystem.
+ The following table shows the character set that Man-DB assumes
+ manual pages installed under
+ /usr/share/man/<ll> will be
+ encoded with. In addition to this, Man-DB correctly determines if manual
+ pages installed in that directory are UTF-8 encoded.
- E.g., Debian previously required Russian manual pages to be encoded
- in KOI8-R and to be placed in
- /usr/share/man/ru. Now, in addition,
- their man program (Man-DB)
- searches for UTF-8 encoded Russian manual pages in
- /usr/share/man/ru.UTF-8. On the
- other hand, Fedora uses UTF-8 encoded manual pages exclusively. Russian
- manual pages are found in
- /usr/share/man/ru and their
- man program doesn't acknowledge
- /usr/share/man/ru.UTF-8. Many
- other distributions ignore the on disk encodings completely, leaving the
- end user with a mix of improperly encoded manual pages for their
- configuration. When man processes the requtested page,
- it will display the contents as configured, resulting in completely
- unreadable text if the on disk encoding is not what is expected for that
- configuration.
-
- Disagreement about the expected encoding of manual pages amongst
- distribution vendors, has led to confusion for upstream package
- maintainers. One package may contain UTF-8 manual pages, while another
- ships with manual pages in legacy encodings. man
- searches for manual pages based on the user's locale settings.
- Man-DB uses a built-in table (see below) to
- determine the on disk encoding of manual pages found for a user's
- locale, only if the directories found do not have an extension that
- describes the encoding. E.g., because of ".UTF-8" in the directory name,
- Man-DB knows that all manual pages residing in
- /usr/share/man/fr.UTF-8 are UTF-8
- encoded and, according to the built-in table, expects all manual pages
- residing in /usr/share/man/ru to
- be encoded using KOI8-R.
-
-
+
Expected character encoding of legacy 8-bit manual pages
@@ -164,39 +131,45 @@
Danish (da)
ISO-8859-1
- Bulgarian (bg)
- CP1251
+ Croation (hr)
+ ISO-8859-1
German (de)
ISO-8859-1
- Czech (cs)
- ISO-8859-2
-
-
- English (en)
- ISO-8859-1
- Croatian (hr)
- ISO-8859-2
-
-
- Spanish (es)
- ISO-8859-1
Hungarian (hu)
ISO-8859-2
- Finnish (fi)
+ English (en)
ISO-8859-1
Japanese (ja)
EUC-JP
- French (fr)
+ Spanish (es)
ISO-8859-1
Korean (ko)
EUC-KR
+
+ Estonian (et)
+ ISO-8859-1
+ Lithuanian (lt)
+ ISO-8859-13
+
+
+ Finnish (fi)
+ ISO-8859-1
+ Latvian (lv)
+ ISO-8859-13
+
+
+ French (fr)
+ ISO-8859-1
+ Macedonian (mk)
+ ISO-8859-5
+
Irish (ga)
ISO-8859-1
@@ -206,117 +179,88 @@
Galician (gl)
ISO-8859-1
- Russian (ru)
- KOI8-R
+ Romanian (ro)
+ ISO-8859-2
Indonesian (id)
ISO-8859-1
- Slovak (sk)
- ISO-8859-2
-
-
- Icelandic (is)
- ISO-8859-1
- Serbian (sr)
- ISO-8859-5
-
-
- Italian (it)
- ISO-8859-1
- Turkish (tr)
- ISO-8859-9
-
-
- Dutch (nl)
- ISO-8859-1
- Simplified Chinese (zh_CN)
- GBK
-
-
-
- Norwegian (no)
- ISO-8859-1
- Simplified Chinese, Singapore (zh_SG)
- GBK
-
-
-
- Portuguese (pt)
- ISO-8859-1
- Traditional Chinese (zh_TW)
- BIG5
-
-
- Swedish (sv)
- ISO-8859-1
- Traditional Chinese, Hong Kong (zh_HK)
- BIG5HKSCS
-
-
-
-
+ Greek (el)
+ ISO-8859-7
+
+
+
+
@@ -324,75 +268,9 @@
- Manual pages in languages not in the list are not supported.
- Norwegian does not work because of the transition from no_NO to
- nb_NO locale, and will be fixed in the next release of
- Man-DB. Korean is currently non functional
- because of incomplete fixes in the Debian
- Groff patch applied in LFS.
+ Manual pages in languages not in the list are not supported.
- Packages may install manual pages into an improperly named directory,
- depending on which distributions the author develops the package for. To
- assist in the conversion of the manual pages to the proper encoding for the
- directory in which they are installed, the convert-mans
- script was written. It will convert manual pages to another encoding before
- (or after) installation. Install the convert-mans
- script with the following instructions:
-
-cat >> convert-mans << "EOF"
-#!/bin/sh -e
-FROM="$1"
-TO="$2"
-shift ; shift
-while [ $# -gt 0 ]
-do
- FILE="$1"
- shift
- iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv
- mv .tmp.iconv "$FILE"
-done
-EOF
-install -v -m755 convert-mans /usr/bin
-
-
- If upstream distributes the manual pages in a legacy encoding, the
- manual pages can simply be copied to
- /usr/share/man/<language
- code>. For example,
- German manual pages can be installed with the following
- commands:
-
-mkdir -p /usr/share/man/de
-cp -rv man? /usr/share/man/de
-
- If upstream distributes manual pages in UTF-8 (i.e., for
- RedHat
) instead of the encoding listed in the table above, they
- can either be converted from UTF-8 to the encoding listed in the table
- above, or they can be installed directly into
- /usr/share/man/<language
- code>.UTF-8.
-
- For example, to install
- French manual pages in the legacy encoding, use the following
- commands:
-
-convert-mans UTF-8 ISO-8859-1 man?/*.?
-mkdir -p /usr/share/man/fr
-cp -rv man? /usr/share/man/fr
-
- The French manual pages ship with ready made scripts to do the
- same conversion. The above instructions are used only as an example for
- use of the convert-mans script.
-
- Finally, as an example installation of UTF-8 manual pages, again, the
- French manual pages could be installed with the following commands:
-
-mkdir -p /usr/share/man/fr.UTF-8
-cp -rv man? /usr/share/man/fr.UTF-8
-
@@ -445,16 +323,6 @@ cp -rv man? /usr/share/man/fr.UTF-8
-
- convert-mans
-
- Reformats manual pages into the chosen encoding.
-
- convert-mans
-
-
-
-
lexgrog
diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml
index ea4f0fb6f..c1f52f367 100644
--- a/chapter06/shadow.xml
+++ b/chapter06/shadow.xml
@@ -67,23 +67,6 @@ find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in
- Shadow supplies other manual pages in a UTF-8 encoding. Man-DB
- can display these in the recommended encodings by using the
- convert-mans script which was installed during the
- Man-DB package:
-
-for i in de fi fr id it pt_BR; do
- convert-mans UTF-8 ISO-8859-1 man/${i}/*.?
-done
-
-for i in cs hu pl; do
- convert-mans UTF-8 ISO-8859-2 man/${i}/*.?
-done
-
-convert-mans UTF-8 EUC-JP man/ja/*.?
-convert-mans UTF-8 KOI8-R man/ru/*.?
-convert-mans UTF-8 ISO-8859-9 man/tr/*.?
-
Instead of using the default
crypt method, use the more secure
MD5 method of password encryption, which also allows
diff --git a/general.ent b/general.ent
index 8caf6b0fc..13b8bd895 100644
--- a/general.ent
+++ b/general.ent
@@ -1,6 +1,6 @@
-
-
+
+
diff --git a/patches.ent b/patches.ent
index cca246221..885b60e0d 100644
--- a/patches.ent
+++ b/patches.ent
@@ -84,9 +84,9 @@
-
+
+
+