From 2fa922f3803deff8f7877720048e621ebf2eee8a Mon Sep 17 00:00:00 2001 From: Manuel Canales Esparcia Date: Mon, 6 Feb 2006 20:45:42 +0000 Subject: Indenting chapter 6, part 8 git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7358 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter06/man-db.xml | 549 +++++++++++++++++++++++++--------------- chapter06/man-pages.xml | 99 +++++--- chapter06/mktemp.xml | 168 +++++++----- chapter06/module-init-tools.xml | 262 ++++++++++--------- chapter06/ncurses.xml | 518 ++++++++++++++++++++----------------- chapter06/patch.xml | 115 +++++---- 6 files changed, 1002 insertions(+), 709 deletions(-) (limited to 'chapter06') diff --git a/chapter06/man-db.xml b/chapter06/man-db.xml index 3da4edb26..9e70db05f 100644 --- a/chapter06/man-db.xml +++ b/chapter06/man-db.xml @@ -1,38 +1,54 @@ - %general-entities; ]> + -Man-DB-&man-db-version; - + + + Man-DB-&man-db-version; + + + Man-DB + + + + + + <para>The Man-DB package contains programs for finding and viewing man + pages.</para> -<indexterm zone="ch-system-man-db"><primary sortas="a-Man-DB">Man-DB</primary></indexterm> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="package"><title/> -<para>The Man-DB package contains programs for finding and viewing man pages.</para> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>1.1 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1.1 MB</seg></seglistitem> -</segmentedlist> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC, -Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <seglistitem> + <seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC, Gettext, + Glibc, Grep, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<sect2 role="installation"> -<title>Installation of Man-DB + -Three adjustments need to be made to the sources of Man-DB. + + Installation of Man-DB -The first one changes the location of translated manual pages that come -with Man-DB, in order for them to be accessible in both traditional and -UTF-8 locales: + Three adjustments need to be made to the sources of Man-DB. + + The first one changes the location of translated manual pages that come + with Man-DB, in order for them to be accessible in both traditional and + UTF-8 locales: mv man/de{_DE.88591,} && mv man/es{_ES.88591,} && @@ -40,15 +56,15 @@ mv man/it{_IT.88591,} && mv man/ja{_JP.eucJP,} && sed -i 's,\*_\*,??,' man/Makefile.in -The second change is a sed substitution to delete the -/usr/man lines in the -man_db.conf file to prevent redundant results when -using programs such as whatis: + The second change is a sed substitution to delete + the /usr/man lines in the man_db.conf + file to prevent redundant results when using programs such as + whatis: sed -i '/\t\/usr\/man/d' src/man_db.conf.in -The third change accounts for programs that Man-DB should be able -to find at runtime, but that haven't been installed yet: + The third change accounts for programs that Man-DB should be able + to find at runtime, but that haven't been installed yet: cat >>include/manconfig.h.in <<"EOF" #define WEB_BROWSER "exec /usr/bin/lynx" @@ -57,209 +73,322 @@ to find at runtime, but that haven't been installed yet: #define GRAP "/usr/bin/grap" EOF -The col program is a part of the Util-linux package, -lynx is a text-based web browser -(see BLFS for installation instructions), -vgrind converts program sources to Groff input, -and grap is useful for typesetting graphs in Groff documents. -The vgrind and grap programs are -not normally needed for viewing manual pages. They are -not part of LFS or BLFS, but you should be able to install them yourself -after finishing LFS if you wish to do so. + The col program is a part of the Util-linux + package, lynx is a text-based web browser (see BLFS + for installation instructions), vgrind converts + program sources to Groff input, and grap is useful + for typesetting graphs in Groff documents. The vgrind + and grap programs are not normally needed for viewing + manual pages. They are not part of LFS or BLFS, but you should be able + to install them yourself after finishing LFS if you wish to do so. -Prepare Man-DB for compilation: + Prepare Man-DB for compilation: ./configure --prefix=/usr --enable-mb-groff --disable-setuid -The meaning of the configure options: + + The meaning of the configure options: + + + --enable-mb-groff + + This tells the man program to use the + ascii8 and nippon Groff devices for + formatting non-ISO-8859-1 manual pages. + + - - ---enable-mb-groff -This tells the man program to -use the ascii8 and nippon Groff devices for formatting non-ISO-8859-1 -manual pages. - - ---disable-setuid -This disables making the man program -setuid to user man. - - + + --disable-setuid + + This disables making the man program setuid + to user man. + + -Compile the package: + + + Compile the package: make -Install the package: + Install the package: make install -Additional information regarding the compression of -man and info pages can be found in the BLFS book at -. - - - -Non-English Manual Pages in LFS - -Linux distributions have different policies concerning the character -encoding in which manual pages are stored in the filesystem. E.g., RedHat -stores all manual pages in UTF-8, while Debian uses language-specific -(mostly 8-bit) encodings. This leads to incompatibility of packages with -manual pages designed for different distributions. - -LFS uses the same conventions as Debian. The relationship between -language codes and the expected encoding of manual pages is listed below. -Man-DB automatically converts them to the locale encoding while viewing. - - -Expected character encoding of manual pages - - -Language (code)Encoding - - -Danish (da)ISO-8859-1 -German (de)ISO-8859-1 -English (en)ISO-8859-1 -Spanish (es)ISO-8859-1 -Finnish (fi)ISO-8859-1 -French (fr)ISO-8859-1 -Irish (ga)ISO-8859-1 -Galician (gl)ISO-8859-1 -Indonesian (id)ISO-8859-1 -Icelandic (is)ISO-8859-1 -Italian (it)ISO-8859-1 -Dutch (nl)ISO-8859-1 - -Norwegian (no)ISO-8859-1 - -Portuguese (pt)ISO-8859-1 -Swedish (sv)ISO-8859-1 - -Czech (cs)ISO-8859-2 -Croatian (hr)ISO-8859-2 -Hungarian (hu)ISO-8859-2 -Japanese (ja)EUC-JP -Korean (ko)EUC-KR -Polish (pl)ISO-8859-2 -Russian (ru)KOI8-R -Slovak (sk)ISO-8859-2 -Turkish (tr)ISO-8859-9 - - -
- -Manual pages in languages not in the list are not supported. -Norwegian doesn't work now because of the transition from no_NO to nb_NO -locale, and Korean is non-functional because of the incomplete Groff patch. - - -If upstream distributes the manual pages in the same encoding as -Man-DB expects, the manual pages can be copied to -/usr/share/man/[language code]. -E.g., French manual pages -() -can be installed with the following command: + Additional information regarding the compression of + man and info pages can be found in the BLFS book at + . + +
+ + + Non-English Manual Pages in LFS + + Linux distributions have different policies concerning the character + encoding in which manual pages are stored in the filesystem. E.g., RedHat + stores all manual pages in UTF-8, while Debian uses language-specific + (mostly 8-bit) encodings. This leads to incompatibility of packages with + manual pages designed for different distributions. + + LFS uses the same conventions as Debian. The relationship between + language codes and the expected encoding of manual pages is listed below. + Man-DB automatically converts them to the locale encoding while viewing. + + + + Expected character encoding of manual pages + + + + + + Language (code) + Encoding + + + + + + Danish (da) + ISO-8859-1 + + + German (de) + ISO-8859-1 + + + English (en) + ISO-8859-1 + + + Spanish (es) + ISO-8859-1 + + + Finnish (fi) + ISO-8859-1 + + + French (fr) + ISO-8859-1 + + + Irish (ga) + ISO-8859-1 + + + Galician (gl) + ISO-8859-1 + + + Indonesian (id) + ISO-8859-1 + + + Icelandic (is) + ISO-8859-1 + + + Italian (it) + ISO-8859-1 + + + Dutch (nl) + ISO-8859-1 + + + + Norwegian (no) + ISO-8859-1 + + + + Portuguese (pt) + ISO-8859-1 + + + Swedish (sv) + ISO-8859-1 + + + + Czech (cs) + ISO-8859-2 + + + Croatian (hr) + ISO-8859-2 + + + Hungarian (hu) + ISO-8859-2 + + + Japanese (ja) + EUC-JP + + + Korean (ko) + EUC-KR + + + Polish (pl) + ISO-8859-2 + + + Russian (ru) + KOI8-R + + + Slovak (sk) + ISO-8859-2 + + + Turkish (tr) + ISO-8859-9 + + + + + +
+ + + Manual pages in languages not in the list are not supported. + Norwegian doesn't work now because of the transition from no_NO to + nb_NO locale, and Korean is non-functional because of the incomplete + Groff patch. + + + If upstream distributes the manual pages in the same encoding + as Man-DB expects, the manual pages can be copied to + /usr/share/man/[language + code]. E.g., French manual pages + () can be + installed with the following command: mkdir -p /usr/share/man/fr && cp -rv man? /usr/share/man/fr -If upstream distributes manual pages in UTF-8 (i.e., for RedHat) -instead of the encoding listed in the table above, they have to be -converted from UTF-8 to the encoding listed in the table before -installation. E.g., Spanish manual pages -() -can be installed with the following commands: + If upstream distributes manual pages in UTF-8 (i.e., for + RedHat) instead of the encoding listed in the table above, they + have to be converted from UTF-8 to the encoding listed in the table before + installation. E.g., Spanish manual pages () + can be installed with the following commands: mkdir -p /usr/share/man/es && find man? -type f | grep -v 'man7/iso_8859-7.7' | \ while read F ; do - iconv -f UTF-8 -t ISO-8859-1 $F >tmp ; mv tmp $F + iconv -f UTF-8 -t ISO-8859-1 $F >tmp ; mv tmp $F done && cp -rv man? /usr/share/man/es -The need to exclude the man7/iso_8859-7.7 file -from the conversion process because it is already in ISO-8859-1 is a packaging -bug in man-pages-es-1.55. Future versions should not require this workaround. - -
- -Contents of Man-DB - - -Installed programs -accessdb, apropos, catman, lexgrog, man, mandb, manpath, -and whatis - - -Short Descriptions - - - - - -accessdb - -Dumps the whatis database contents in human-readable form -accessdb - - - - -apropos - -Searches the whatis database and displays the short descriptions -of system commands that contain a given string -apropos - - - - -catman - -Creates or updates the pre-formatted manual pages -catman - - - - -lexgrog - -Displays one-line summary information about a given manual page -lexgrog - - - - -man - -Formats and displays the requested manual page -man - - - - -mandb - -Creates or updates the whatis database -mandb - - - - -whatis - -Searches the whatis database and displays the short descriptions -of system commands that contain the given keyword as a separate -word -whatis - - - - - + + The need to exclude the man7/iso_8859-7.7 file + from the conversion process because it is already in ISO-8859-1 is a + packaging bug in man-pages-es-1.55. Future versions should not require + this workaround. + + + + + + Contents of Man-DB + + + Installed programs + + + accessdb, apropos, catman, lexgrog, man, mandb, manpath, + and whatis + + + + + Short Descriptions + + + + + accessdb + + Dumps the whatis database contents in + human-readable form + + accessdb + + + + + + apropos + + Searches the whatis database and displays + the short descriptions of system commands that contain a given + string + + apropos + + + + + + catman + + Creates or updates the pre-formatted manual pages + + catman + + + + + + lexgrog + + Displays one-line summary information about a given manual + page + + lexgrog + + + + + + man + + Formats and displays the requested manual page + + man + + + + + + mandb + + Creates or updates the whatis database + + mandb + + + + + + whatis + + Searches the whatis database and displays + the short descriptions of system commands that contain the given + keyword as a separate word + + whatis + + + + + + +
- diff --git a/chapter06/man-pages.xml b/chapter06/man-pages.xml index 8f64c90f9..dd744f187 100644 --- a/chapter06/man-pages.xml +++ b/chapter06/man-pages.xml @@ -1,61 +1,82 @@ - %general-entities; ]> + -Man-pages-&man-pages-version; - + + + Man-pages-&man-pages-version; + + + Man-pages + + + + -<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm> + <para>The Man-pages package contains over 1,200 man pages.</para> -<sect2 role="package"><title/> -<para>The Man-pages package contains over 1,200 man pages.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>18.6 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>18.6 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Coreutils, and Make</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Man-pages + + Bash, Coreutils, and Make + + -Install Man-pages by running: + + + + Installation of Man-pages + + Install Man-pages by running: make install - + + + Contents of Man-pages -Contents of Man-pages + + Installed files - -Installed files -various man pages - + + various man pages + + -Short Descriptions - - + + Short Descriptions + + - -man pages - -Describe the C and C++ functions, important -device files, and significant configuration files -man pages - - - + + man pages + + Describe the C and C++ functions, important + device files, and significant configuration files + + man pages + + + - + - + + diff --git a/chapter06/mktemp.xml b/chapter06/mktemp.xml index 2fd6bfca3..670c24e47 100644 --- a/chapter06/mktemp.xml +++ b/chapter06/mktemp.xml @@ -1,100 +1,128 @@ - %general-entities; ]> + -Mktemp-&mktemp-version; - + -Mktemp + Mktemp-&mktemp-version; - -<para>The Mktemp package contains programs used to create secure temporary -files in shell scripts.</para> + <indexterm zone="ch-system-mktemp"> + <primary sortas="a-Mktemp">Mktemp</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>436 KB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Coreutils, Make, and Patch</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Mktemp package contains programs used to create secure temporary + files in shell scripts.</para> -<sect2 role="installation"> -<title>Installation of Mktemp + + &buildtime; + &diskspace; -Many scripts still use the deprecated -tempfile program, which has functionality similar -to mktemp. Patch Mktemp to include a -tempfile wrapper: + + 0.1 SBU + 436 KB + + -patch -Np1 -i ../&mktemp-tempfile-patch; + + &dependencies; -Prepare Mktemp for compilation: + + Coreutils, Make, and Patch + + -./configure --prefix=/usr --with-libc + -The meaning of the configure options: + + Installation of Mktemp - - ---with-libc -This causes the mktemp program to -use the mkstemp and mkdtemp -functions from the system C library instead of its own implementation of them. - - - + Many scripts still use the deprecated + tempfile program, which has functionality similar + to mktemp. Patch Mktemp to include a + tempfile wrapper: -Compile the package: +patch -Np1 -i ../&mktemp-tempfile-patch; -make + Prepare Mktemp for compilation: -This package does not come with a test suite. +./configure --prefix=/usr --with-libc -Install the package: + + The meaning of the configure options: -make install -make install-tempfile - - + + --with-libc + + This causes the mktemp program to use the + mkstemp and mkdtemp + functions from the system C library instead of its own implementation + of them. + + + -Contents of Mktemp + Compile the package: - -Installed programs -mktemp and tempfile - +make -Short Descriptions - - + This package does not come with a test suite. - -mktemp - -Creates temporary files in a secure manner; it is used in scripts -mktemp - - + Install the package: - -tempfile - -Creates temporary files in a less secure manner than -mktemp; it is installed for backwards-compatibility -tempfile - - - +make install +make install-tempfile - + + + + Contents of Mktemp + + + Installed programs + + + mktemp and tempfile + + + + + Short Descriptions + + + + + mktemp + + Creates temporary files in a secure manner; it is used in + scripts + + mktemp + + + + + + tempfile + + Creates temporary files in a less secure manner than + mktemp; it is installed for + backwards-compatibility + + tempfile + + + + + + + - diff --git a/chapter06/module-init-tools.xml b/chapter06/module-init-tools.xml index 798480978..fa8920590 100644 --- a/chapter06/module-init-tools.xml +++ b/chapter06/module-init-tools.xml @@ -1,140 +1,176 @@ - %general-entities; ]> + -Module-Init-Tools-&module-init-tools-version; - + + + Module-Init-Tools-&module-init-tools-version; + + + Module-Init-Tools + + + + -<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm> + <para>The Module-Init-Tools package contains programs for handling kernel + modules in Linux kernels greater than or equal to version 2.5.47.</para> -<sect2 role="package"><title/> -<para>The Module-Init-Tools package contains programs for handling kernel -modules in Linux kernels greater than or equal to version 2.5.47.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.3 SBU</seg><seg>3.3 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.3 SBU</seg> + <seg>3.3 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Bison, -Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Module-Init-Tools + + Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Glibc, + Grep, M4, Make, and Sed + + -Issue the following commands to perform the tests (note that the -make distclean command is required to clean up the source -tree, as the source gets recompiled as part of the testing process): + + + + Installation of Module-Init-Tools + + Issue the following commands to perform the tests (note that the + make distclean command is required to clean up the source + tree, as the source gets recompiled as part of the testing process): ./configure && make check && make distclean -Prepare Module-Init-Tools for compilation: + Prepare Module-Init-Tools for compilation: ./configure --prefix=/ --enable-zlib -Compile the package: + Compile the package: make -Install the package: + Install the package: make install - - - -Contents of Module-Init-Tools - - -Installed programs -depmod, generate-modprobe.conf, insmod, -insmod.static, lsmod, modinfo, modprobe, and rmmod - - -Short Descriptions - - - - -depmod - -Creates a dependency file based on the symbols it finds in the -existing set of modules; this dependency file is used by modprobe to -automatically load the required modules -depmod - - - - -generate-modprobe.conf - -Creates a modprobe.conf file from an existing 2.2 or 2.4 module setup -generate-modprobe.conf - - - - -insmod - -Installs a loadable module in the running kernel -insmod - - - - -insmod.static - -A statically compiled version of insmod -insmod.static - - - - -lsmod - -Lists currently loaded modules -lsmod - - - - -modinfo - -Examines an object file associated with a kernel module and -displays any information that it can glean -modinfo - - - - -modprobe - -Uses a dependency file, created by -depmod, to automatically load relevant modules -modprobe - - - - -rmmod - -Unloads modules from the running kernel -rmmod - - - - - + + + + Contents of Module-Init-Tools + + + Installed programs + + + depmod, generate-modprobe.conf, insmod, insmod.static, lsmod, + modinfo, modprobe, and rmmod + + + + + Short Descriptions + + + + + depmod + + Creates a dependency file based on the symbols it finds in the + existing set of modules; this dependency file is used by + modprobe to automatically load the required + modules + + depmod + + + + + + generate-modprobe.conf + + Creates a modprobe.conf file from an existing 2.2 or 2.4 module + setup + + generate-modprobe.conf + + + + + + insmod + + Installs a loadable module in the running kernel + + insmod + + + + + + insmod.static + + A statically compiled version of insmod + + insmod.static + + + + + + lsmod + + Lists currently loaded modules + + lsmod + + + + + + modinfo + + Examines an object file associated with a kernel module and + displays any information that it can glean + + modinfo + + + + + + modprobe + + Uses a dependency file, created by + depmod, to automatically load relevant modules + + modprobe + + + + + + rmmod + + Unloads modules from the running kernel + + rmmod + + + + + + + - diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 9e094c868..a8ec143c3 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -1,286 +1,344 @@ - %general-entities; ]> + -Ncurses-&ncurses-version; - + + + Ncurses-&ncurses-version; + + + Ncurses + + + + -<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm> + <para>The Ncurses package contains libraries for terminal-independent + handling of character screens.</para> -<sect2 role="package"><title/> -<para>The Ncurses package contains libraries for terminal-independent -handling of character screens.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.6 SBU</seg><seg>18.6 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.6 SBU</seg> + <seg>18.6 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Ncurses - + --> -Since the release of Ncurses-&ncurses-version;, a memory leak and some -display bugs were found and fixed upstream. Apply those fixes: + Since the release of Ncurses-&ncurses-version;, a memory leak and some + display bugs were found and fixed upstream. Apply those fixes: patch -Np1 -i ../&ncurses-fixes-patch; -Prepare Ncurses for compilation: + Prepare Ncurses for compilation: ./configure --prefix=/usr --with-shared --without-debug --enable-widec -The meaning of the configure options: - - - ---enable-widec -This switch causes wide-character libraries -(e.g., libncursesw.so.&ncurses-version;) -to be built instead of normal ones -(e.g., libncurses.so.&ncurses-version;). -These wide-character libraries are usable in both multibyte and traditional 8-bit -locales, while normal libraries work properly only in 8-bit locales. -Wide-character and normal libraries are source-compatible, but not -binary-compatible. - - - - - -Compile the package: + + The meaning of the configure option: + + + --enable-widec + + This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-version;) + to be built instead of normal ones (e.g., libncurses.so.&ncurses-version;). + These wide-character libraries are usable in both multibyte and + traditional 8-bit locales, while normal libraries work properly + only in 8-bit locales. Wide-character and normal libraries are + source-compatible, but not binary-compatible. + + + + + + + + Compile the package: make -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make install -Give the Ncurses libraries execute permissions: + Give the Ncurses libraries execute permissions: chmod -v 755 /usr/lib/*.&ncurses-version; -Fix a library that should not be executable: + Fix a library that should not be executable: chmod -v 644 /usr/lib/libncurses++w.a -Move the libraries to the /lib directory, -where they are expected to reside: + Move the libraries to the /lib directory, + where they are expected to reside: mv -v /usr/lib/libncursesw.so.5* /lib -Because the libraries have been moved, one symlink points to -a non-existent file. Recreate it: + Because the libraries have been moved, one symlink points to + a non-existent file. Recreate it: ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so -Many applications still expect the linker to be able to find -non-wide-character Ncurses libraries. Trick such applications into linking with -wide-character libraries by means of symlinks and linker scripts: + Many applications still expect the linker to be able to find + non-wide-character Ncurses libraries. Trick such applications into linking with + wide-character libraries by means of symlinks and linker scripts: for lib in curses ncurses form panel menu ; do \ - rm -vf /usr/lib/lib${lib}.so ; \ - echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \ - ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \ + rm -vf /usr/lib/lib${lib}.so ; \ + echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \ + ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \ done && ln -sfv libncurses++w.a /usr/lib/libncurses++.a -Finally, make sure that old applications that look for --lcurses at build time are still -buildable: + Finally, make sure that old applications that look for + -lcurses at build time are still + buildable: echo "INPUT(-lncursesw)" >/usr/lib/libcursesw.so && ln -sfv libncurses.so /usr/lib/libcurses.so && ln -sfv libncursesw.a /usr/lib/libcursesw.a && ln -sfv libncurses.a /usr/lib/libcurses.a -The instructions above don't create non-wide-character Ncurses -libraries since no package installed by compiling from sources would link -against them at runtime. -If you must have such libraries because of some binary-only application, -build them with the following commands: + + The instructions above don't create non-wide-character Ncurses + libraries since no package installed by compiling from sources would + link against them at runtime. If you must have such libraries because + of some binary-only application, build them with the following + commands: + make distclean && ./configure --prefix=/usr --with-shared --without-normal \ - --without-debug --without-cxx-binding && + --without-debug --without-cxx-binding && make sources libs && cp -av lib/lib*.so.5* /usr/lib - - - - -Contents of Ncurses - - -Installed programs -Installed libraries -captoinfo (link to tic), clear, infocmp, infotocap (link to tic), -reset (link to tset), tack, tic, toe, tput, and tset -libcursesw.[a,so] (symlink and linker script to libncursesw.[a,so]), -libformw.[a,so], libmenuw.[a,so], -libncurses++w.a, libncursesw.[a,so], libpanelw.[a,so] and their -non-wide-character counterparts without "w" in the library names. - - -Short Descriptions - - - - -captoinfo - -Converts a termcap description into a terminfo description -captoinfo - - - - -clear - -Clears the screen, if possible -clear - - - - -infocmp - -Compares or prints out terminfo descriptions -infocmp - - - - -infotocap - -Converts a terminfo description into a termcap description -infotocap - - - - -reset - -Reinitializes a terminal to its default values -reset - - - - -tack - -The terminfo action checker; it is mainly used to test the -accuracy of an entry in the terminfo database -tack - - - - -tic - -The terminfo entry-description compiler that translates a -terminfo file from source format into the binary format needed for the -ncurses library routines. A terminfo file contains information on the -capabilities of a certain terminal -tic - - - - -toe - -Lists all available terminal types, giving the primary name and -description for each -toe - - - - -tput - -Makes the values of terminal-dependent capabilities available to -the shell; it can also be used to reset or initialize a terminal or -report its long name -tput - - - - -tset - -Can be used to initialize terminals -tset - - - - -libcurses - -A link to libncurses -libcurses - - - - -libncurses - -Contains functions to display text in many complex ways on a -terminal screen; a good example of the use of these functions is the -menu displayed during the kernel's make menuconfig -libncurses - - - - -libform - -Contains functions to implement forms -libform - - - - -libmenu - -Contains functions to implement menus -libmenu - - - - -libpanel - -Contains functions to implement panels -libpanel - - - - - + + + + + + Contents of Ncurses + + + Installed programs + Installed libraries + + + captoinfo (link to tic), clear, infocmp, infotocap (link to tic), + reset (link to tset), tack, tic, toe, tput, and tset + libcursesw.[a,so] (symlink and linker script to libncursesw.[a,so]), + libformw.[a,so], libmenuw.[a,so], libncurses++w.a, libncursesw.[a,so], + libpanelw.[a,so] and their non-wide-character counterparts without "w" + in the library names. + + + + + Short Descriptions + + + + + captoinfo + + Converts a termcap description into a terminfo description + + captoinfo + + + + + + clear + + Clears the screen, if possible + + clear + + + + + + infocmp + + Compares or prints out terminfo descriptions + + infocmp + + + + + + infotocap + + Converts a terminfo description into a termcap description + + infotocap + + + + + + reset + + Reinitializes a terminal to its default values + + reset + + + + + + tack + + The terminfo action checker; it is mainly used to test the + accuracy of an entry in the terminfo database + + tack + + + + + + tic + + The terminfo entry-description compiler that translates a + terminfo file from source format into the binary format needed for the + ncurses library routines. A terminfo file contains information on the + capabilities of a certain terminal + + tic + + + + + + toe + + Lists all available terminal types, giving the primary name and + description for each + + toe + + + + + + tput + + Makes the values of terminal-dependent capabilities available to + the shell; it can also be used to reset or initialize a terminal or + report its long name + + tput + + + + + + tset + + Can be used to initialize terminals + + tset + + + + + + libcurses + + A link to libncurses + + libcurses + + + + + + libncurses + + Contains functions to display text in many complex ways on a + terminal screen; a good example of the use of these functions is the + menu displayed during the kernel's make + menuconfig + + libncurses + + + + + + libform + + Contains functions to implement forms + + libform + + + + + + libmenu + + Contains functions to implement menus + + libmenu + + + + + + libpanel + + Contains functions to implement panels + + libpanel + + + + + + + diff --git a/chapter06/patch.xml b/chapter06/patch.xml index 2b277811f..dcb3ef1af 100644 --- a/chapter06/patch.xml +++ b/chapter06/patch.xml @@ -1,76 +1,97 @@ - %general-entities; ]> + -Patch-&patch-version; - + + + Patch-&patch-version; + + + Patch + + + + -<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm> + <para>The Patch package contains a program for modifying or creating files + by applying a <quote>patch</quote> file typically created by the + <command>diff</command> program.</para> -<sect2 role="package"><title/> -<para>The Patch package contains a program for modifying or creating files by -applying a <quote>patch</quote> file typically created by the -<command>diff</command> program.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>1.5 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -GCC, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Patch + + Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, + and Sed + + -Prepare Patch for compilation. + + + + Installation of Patch + + Prepare Patch for compilation. ./configure --prefix=/usr -Compile the package: + Compile the package: make -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make install - + + + Contents of Patch -Contents of Patch + + Installed program - -Installed program -patch - + + patch + + -Short Descriptions - - + + Short Descriptions + + - -patch - -Modifies files according to a patch file. A patch file is normally -a difference listing created with the diff program. By applying -these differences to the original files, patch creates the patched -versions. -patch - - - + + patch + + Modifies files according to a patch file. A patch file is + normally a difference listing created with the diff + program. By applying these differences to the original files, + patch creates the patched versions. + + patch + + + - + - + + -- cgit v1.2.3-54-g00ecf