Changeset 862c5ae
- Timestamp:
- 10/23/2008 04:32:05 AM (16 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- ea36f37a
- Parents:
- 18627b5
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r18627b5 r862c5ae 38 38 --> 39 39 <listitem> 40 <para>2008-10-23</para> 41 <itemizedlist> 42 <listitem> 43 <para>[dj] - Updated Man-DB instructions and text covering manual 44 pages and related i18n issues.</para> 45 </listitem> 46 </itemizedlist> 47 </listitem> 48 49 <listitem> 40 50 <para>2008-10-22</para> 41 51 <itemizedlist> -
chapter06/man-db.xml
r18627b5 r862c5ae 49 49 when using programs such as <command>whatis</command>:</para> --> 50 50 51 <para> Use a <command>sed</command> substitution to delete52 the <quote>/usr/man</quote> and <quote>/usr/local/man</quote> lines in53 the <filename>man_db.conf</filename> file to prevent redundant results54 when using programs such as <command>whatis</command>:</para>51 <para>LFS creates <filename>/usr/man</filename> and 52 <filename>/usr/local/man</filename> as symlinks. Remove them from the 53 <filename>man_db.conf</filename> file to prevent redundant 54 results when using programs such as <command>whatis</command>:</para> 55 55 56 56 <screen><userinput remap="pre">sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in</userinput></screen> 57 57 58 <!-- This is removed and the same thing is done using the configure59 command, which seems to be the more proper method60 61 <para>The second change accounts for programs that Man-DB should be able62 to find at runtime, but that haven't been installed yet:</para>63 64 <screen><userinput remap="pre">cat >> include/manconfig.h.in << "EOF"65 <literal>#define WEB_BROWSER "exec /usr/bin/lynx"66 #define COL "/usr/bin/col"67 #define VGRIND "/usr/bin/vgrind"68 #define GRAP "/usr/bin/grap"</literal>69 EOF</userinput></screen>70 71 <para>The <command>col</command> program is a part of the Util-linux72 package, <command>lynx</command> is a text-based web browser (see BLFS73 for installation instructions), <command>vgrind</command> converts74 program sources to Groff input, and <command>grap</command> is useful75 for typesetting graphs in Groff documents. The <command>vgrind</command>76 and <command>grap</command> programs are not normally needed for viewing77 manual pages. They are not part of LFS or BLFS, but you should be able78 to install them yourself after finishing LFS if you wish to do so.</para>79 80 -->81 82 58 <para>Prepare Man-DB for compilation:</para> 83 59 84 <screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc \ 85 --disable-setuid --with-browser=/usr/bin/lynx \ 60 <screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib \ 61 --sysconfdir=/etc --disable-setuid \ 62 --enable-mb-groff --with-browser=/usr/bin/lynx \ 86 63 --with-col=/usr/bin/col --with-vgrind=/usr/bin/vgrind \ 87 64 --with-grap=/usr/bin/grap</userinput></screen> … … 99 76 100 77 <varlistentry> 78 <term><parameter>--enable-mb-groff</parameter></term> 79 <listitem> 80 <para>This switch tells <application>man-db</application> to expect 81 the Debian multibyte patched version of 82 <application>groff</application>.</para> 83 </listitem> 84 </varlistentry> 85 86 <varlistentry> 101 87 <term><parameter>--with-...</parameter></term> 102 88 <listitem> 103 89 <para>These four parameters are used to set some default programs. 104 90 The <command>col</command> program is a part of the Util-linux-ng 105 package, <command>lynx</command> is a text-based web browser (see BLFS 106 for installation instructions), <command>vgrind</command> converts 107 program sources to Groff input, and <command>grap</command> is useful 108 for typesetting graphs in Groff documents. The <command>vgrind</command> 109 and <command>grap</command> programs are not normally needed for viewing 110 manual pages. They are not part of LFS or BLFS, but you should be able 111 to install them yourself after finishing LFS if you wish to do so.</para> 91 package, <command>lynx</command> is a text-based web browser (see 92 BLFS for installation instructions), <command>vgrind</command> 93 converts program sources to Groff input, and <command>grap</command> 94 is useful for typesetting graphs in Groff documents. The 95 <command>vgrind</command> and <command>grap</command> programs are 96 not normally needed for viewing manual pages. They are not part of 97 LFS or BLFS, but you should be able to install them yourself after 98 finishing LFS if you wish to do so.</para> 112 99 </listitem> 113 100 </varlistentry> … … 125 112 <screen><userinput remap="install">make install</userinput></screen> 126 113 127 <para>Some packages provide UTF-8 man pages which this versionof128 < command>man</command> is unable to display. The following script will129 allow some of these to be converted into the expected encodings shown in130 the table below. Man-DB expects the manual pages to be in the encodings131 in the table, and will convert them as necessary to the actual locale132 encoding when it displays them, so that they will display in both UTF-8133 and traditional locales. Because this script is intended for limited use134 during the system build, for public data, we will not bother with error135 checking, nor use a non-predictable temporary file name:</para>114 <para>Some packages provide UTF-8 manual pages, which previous versions of 115 <application>Man-DB</application> were unable to display. This limitation 116 has been fixed in recent versions, and <application>Man-DB</application> 117 can now convert manual pages from legacy encodings to UTF-8 118 (and vice-versa) on the fly. This used to be a rather annoying 119 problem across different distributions, as packages written for one 120 distribution would require changes to work on another. The following 121 script will allow you to convert manual pages to and from legacy and UTF-8 122 encodings.</para> 136 123 137 124 <screen><userinput remap="install">cat >> convert-mans << "EOF" … … 161 148 <para>Linux distributions have different policies concerning the character 162 149 encoding in which manual pages are stored in the filesystem. E.g., RedHat 163 stores all manual pages in UTF-8, while Debian uses language-specific 164 (mostly 8-bit) encodings. This leads to incompatibility of packages with 165 manual pages designed for different distributions.</para> 166 167 <para>LFS uses the same conventions as Debian. This was chosen because 168 Man-DB does not understand man pages stored in UTF-8. And, for our 169 purposes, Man-DB is preferable to Man as it works without extra 170 configuration in any locale. Lastly, as of now, there is no fully-working 171 implementation of the RedHat convention. RedHat's <command>groff</command> 172 is known to misformat text.</para> 150 stores all manual pages in UTF-8, while Debian previously used 151 language-specific (mostly 8-bit) encodings. As mentioned above, this leads 152 to incompatibility of packages with manual pages designed for different 153 distributions.</para> 154 155 <para>LFS previously used the same convention as Debian. This was chosen 156 because <application>Man-DB</application> did not understand manual pages 157 stored in UTF-8 at the time of its introduction into LFS. For our purposes 158 at that time, <application>Man-DB</application> was preferable to 159 <application>Man</application> as it worked without any additional 160 configuration in any locale. This is still true today as 161 <application>Man-DB</application> with Debian patched 162 <application>Groff</application> will now dynamically convert UTF-8 encoded 163 manual pages to the user's locale. Additionally, this combination provides 164 support for Chinese and Japanese locales, and limited support for Korean, 165 whereas <application>Man</application> does not. The current offering of 166 <application>Man</application> as used in RedHat requires major 167 modifications to both the <application>Man</application> and 168 <application>Groff</application> packages, and still falls short on 169 Chinese, Japanese, and Korean encodings.</para> 170 171 <para>Finally, most distributions, including Debian, are rapidly migrating 172 to all UTF-8 encoded manual pages. Upstream packagers will very likely drop 173 legacy encodings in favor of UTF-8, though adoption has been slow due to 174 the hacks required to make the current <application>Man</application> and 175 <application>Groff</application> packages work correctly together.</para> 173 176 174 177 <para>The relationship between language codes and the expected encoding 175 of manual pages is listed below. Man-DB automatically converts them to 176 the locale encoding while viewing.</para> 177 178 <!-- Origin: man-db-2.4.3/src/encodings.c --> 178 of legacy manual pages is listed below.</para> 179 180 <!-- Origin: man-db-2.5.2/src/encodings.c --> 179 181 <table> 180 <title>Expected character encoding of manual pages</title>182 <title>Expected character encoding of legacy 8-bit manual pages</title> 181 183 <?dbfo table-width="2.5in" ?> 182 184 … … 259 261 <!-- Languages below require patched groff --> 260 262 <row> 263 <entry>Bulgarian (bg)</entry> 264 <entry>CP1251</entry> 265 </row> 266 <row> 261 267 <entry>Czech (cs)</entry> 262 268 <entry>ISO-8859-2</entry> … … 291 297 </row> 292 298 <row> 299 <entry>Serbian (sr)</entry> 300 <entry>ISO-8859-5</entry> 301 </row> 302 <row> 293 303 <entry>Turkish (tr)</entry> 294 304 <entry>ISO-8859-9</entry> 295 305 </row> 306 <row> 307 <entry>Simplified Chinese (zh_CN)</entry> 308 <entry>GBK</entry> 309 </row> 310 <row> 311 <entry>Simplified Chinese,Singapore} (zh_SG)</entry> 312 <entry>GBK</entry> 313 </row> 314 <row> 315 <entry>Traditional Chinese (zh_TW)</entry> 316 <entry>BIG5</entry> 317 </row> 318 <row> 319 <entry>Traditional Chinese, Hong Kong (zh_HK)</entry> 320 <entry>BIG5HKSCS</entry> 321 </row> 296 322 </tbody> 297 323 … … 302 328 <note> 303 329 <para>Manual pages in languages not in the list are not supported. 304 Norwegian doesn't work now because of the transition from no_NO to 305 nb_NO locale, and Korean is non-functional because of the incomplete 306 Groff patch.</para> 330 Norwegian does not work because of the transition from no_NO to 331 nb_NO locale, and will be fixed in the next release of 332 <application>Man-DB</application>. Korean is currently non functional 333 because of incomplete fixes in the Groff patch.</para> 307 334 </note> 308 335 309 <para>If upstream distributes the manual pages in the same encoding 310 as Man-DB expects, the manual pages can be copied to 336 337 <para>If upstream distributes the manual pages in a legacy encoding, 338 the manual pages can simply be copied to 311 339 <filename class="directory">/usr/share/man/<replaceable><language 312 code></replaceable></filename>. E.g., French manual pages 313 (<ulink url="http://ccb.club.fr/man/man-fr-1.58.0.tar.bz2"/>) can be 314 installed with the following command:</para> 315 316 <screen role="nodump"><userinput>mkdir -p /usr/share/man/fr 317 cp -rv man? /usr/share/man/fr</userinput></screen> 340 code></replaceable></filename>. For example, <ulink 341 url="http://www.infodrom.org/projects/manpages-de/download/manpages-de-0.5.tar.gz"> 342 German manual pages</ulink> can be installed with the following 343 commands:</para> 344 345 <screen role="nodump"><userinput>mkdir -p /usr/share/man/de 346 cp -rv man? /usr/share/man/de</userinput></screen> 318 347 319 348 <para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for 320 349 RedHat</quote>) instead of the encoding listed in the table above, they 321 have to be converted from UTF-8 to the encoding listed in the table before 322 installation. This can be achieved with <command>convert-mans</command>, 323 e.g., Spanish manual pages (<ulink 324 url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>) 325 can be installed with the following commands:</para> 350 can either be converted from UTF-8 to the encoding listed in the table 351 above, or they can be installed directly into 352 <filename class="directory">/usr/share/man/<replaceable><language 353 code></replaceable>.UTF-8</filename>.</para> 354 355 <para>For example, to install <ulink 356 url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"> 357 Spanish manual pages</ulink> in the legacy encoding, use the following 358 commands:</para> 326 359 327 360 <screen role="nodump"><userinput>mv man7/iso_8859-7.7{,X} … … 331 364 332 365 <note> 333 <para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file334 from the conversion process because it is already in ISO-8859-1 is a335 packaging bug in man-pages-es-1.55. Future versions should not require336 this workaround.</para>366 <para>The <filename>man7/iso_8859-7.7</filename> file needs to be 367 exclueded from the conversion process because it is already in 368 ISO-8859-1 format. This is a packaging bug in man-pages-es-1.55. 369 Future versions should not require this workaround.</para> 337 370 </note> 371 372 <para>Finally, as an example installation of UTF-8 manual pages, the <ulink 373 url="http://manpagesfr.free.fr/download/man-pages-fr-2.40.0.tar.bz2"> 374 French manual pages</ulink> can be installed with the following 375 commands:</para> 376 377 <screen role="nodump"><userinput>mkdir -p /usr/share/man/fr.UTF-8 378 cp -rv man? /usr/share/man/fr.UTF-8</userinput></screen> 338 379 339 380 </sect2> … … 392 433 <term><command>convert-mans</command></term> 393 434 <listitem> 394 <para>Reformat man pages so that Man-DB can display them</para>435 <para>Reformats manual pages into the chosen encoding.</para> 395 436 <indexterm zone="ch-system-man-db convert-mans"> 396 437 <primary sortas="b-convert-mans">convert-mans</primary> -
general.ent
r18627b5 r862c5ae 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!ENTITY version "SVN-2008102 2">3 <!ENTITY releasedate "October 2 2, 2008">2 <!ENTITY version "SVN-20081023"> 3 <!ENTITY releasedate "October 23, 2008"> 4 4 <!ENTITY copyrightdate "1999–2008"> 5 5 <!ENTITY milestone "7.0">
Note:
See TracChangeset
for help on using the changeset viewer.