diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 3010805b7..82608f068 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -1,122 +1,154 @@ - %general-entities; ]> + -Bash-&bash-version; - + -Bash + Bash-&bash-version; - -<para>The Bash package contains the Bourne-Again SHell.</para> + <indexterm zone="ch-system-bash"> + <primary sortas="a-Bash">Bash</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>1.2 SBU</seg><seg>24.6 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk, -GCC, Glibc, Grep, Make, Ncurses, and Sed.</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Bash package contains the Bourne-Again SHell.</para> -<sect2 role="installation"> -<title>Installation of Bash + + &buildtime; + &diskspace; -If you downloaded the Bash documentation tarball and wish to install HTML -documentation, issue the following commands: + + 1.2 SBU + 24.6 MB + + + + + &dependencies; + + + Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, + Ncurses, and Sed. + + + + + + + Installation of Bash + + If you downloaded the Bash documentation tarball and wish to install + HTML documentation, issue the following commands: tar -xvf ../bash-doc-&bash-doc-version;.tar.gz && sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-&bash-version;|" \ Makefile.in -Prepare Bash for compilation: + Prepare Bash for compilation: ./configure --prefix=/usr --bindir=/bin \ --without-bash-malloc --with-installed-readline -The meaning of the configure options: + + The meaning of the configure options: - - ---with-installed-readline -This option tells Bash to use the -readline library that is already installed -on the system rather than using its own readline version. - - + + --with-installed-readline + + This option tells Bash to use the readline library that is already + installed on the system rather than using its own readline + version. + + -Compile the package: + + + Compile the package: make -To test the results, issue: -make tests. + To test the results, issue: + make tests. -Install the package: + Install the package: make install -Run the newly compiled bash program (replacing the one that is -currently being executed): + Run the newly compiled bash program (replacing the one that is + currently being executed): exec /bin/bash --login +h -The parameters used make the bash -process an interactive login shell and continue to disable hashing so -that new programs are found as they become available. + + The parameters used make the bash + process an interactive login shell and continue to disable hashing so + that new programs are found as they become available. + - + + + Contents of Bash -Contents of Bash + + Installed programs - -Installed programs -bash, bashbug, and sh (link to bash) - + + bash, bashbug, and sh (link to bash) + + -Short Descriptions - - + + Short Descriptions + + - -bash - -A widely-used command interpreter; it performs many types of -expansions and substitutions on a given command line before executing -it, thus making this interpreter a powerful tool -bash - - + + bash + + A widely-used command interpreter; it performs many types of + expansions and substitutions on a given command line before executing + it, thus making this interpreter a powerful tool + + bash + + + - -bashbug - -A shell script to help the user compose and mail standard formatted bug -reports concerning bash -bashbug - - + + bashbug + + A shell script to help the user compose and mail standard + formatted bug reports concerning bash + + bashbug + + + - -sh - -A symlink to the bash program; when invoked -as sh, bash tries to mimic the -startup behavior of historical versions of sh as -closely as possible, while conforming to the POSIX standard as well -sh - - - + + sh + + A symlink to the bash program; when invoked + as sh, bash tries to mimic the + startup behavior of historical versions of sh as + closely as possible, while conforming to the POSIX standard as + well + + sh + + + - + + + - diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml index c5f7926b7..59a0f0ca4 100644 --- a/chapter06/binutils.xml +++ b/chapter06/binutils.xml @@ -1,277 +1,336 @@ - %general-entities; ]> + -Binutils-&binutils-version; - + -Binutils + Binutils-&binutils-version; - -<para>The Binutils package contains a linker, an assembler, and other tools for -handling object files.</para> + <indexterm zone="ch-system-binutils"> + <primary sortas="a-Binutils">Binutils</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>1.3 SBU</seg><seg>158 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext, -Glibc, Grep, M4, Make, Perl, Sed, and Texinfo</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Binutils package contains a linker, an assembler, and other + tools for handling object files.</para> -<sect2 role="installation"> -<title>Installation of Binutils + + &buildtime; + &diskspace; -Verify that the PTYs are working properly inside the chroot -environment. Check that everything is set up correctly by performing a -simple test: + + 1.3 SBU + 158 MB + + + + + &dependencies; + + + Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4, + Make, Perl, Sed, and Texinfo + + + + + + + Installation of Binutils + + Verify that the PTYs are working properly inside the chroot + environment. Check that everything is set up correctly by performing a + simple test: expect -c "spawn ls" -If the following message shows up, the chroot environment is not -set up for proper PTY operation: + If the following message shows up, the chroot environment is not + set up for proper PTY operation: -The system has no more ptys. +The system has no more ptys. Ask your system administrator to create more. -This issue needs to be resolved before running the test suites -for Binutils and GCC. + This issue needs to be resolved before running the test suites + for Binutils and GCC. -The Binutils documentation recommends building Binutils outside of the -source directory in a dedicated build directory: + The Binutils documentation recommends building Binutils outside of the + source directory in a dedicated build directory: mkdir -v ../binutils-build cd ../binutils-build -Prepare Binutils for compilation: + Prepare Binutils for compilation: ../binutils-&binutils-version;/configure --prefix=/usr \ --enable-shared -Compile the package: + Compile the package: make tooldir=/usr - - The meaning of the make parameter: - - tooldir=/usr - - Normally, the tooldir (the directory where the executables will - ultimately be located) is set to $(exec_prefix)/$(target_alias). For - example, i686 machines would expand that to /usr/i686-pc-linux-gnu. Because this is - a custom system, this target-specific directory in /usr is not required. $(exec_prefix)/$(target_alias) would be - used if the system was used to cross-compile (for example, compiling a - package on an Intel machine that generates code that can be executed - on PowerPC machines). - - - + + The meaning of the make parameter: -The test suite for Binutils in this section is -considered critical. Do not skip it under any -circumstances. + + tooldir=/usr + + Normally, the tooldir (the directory where the executables will + ultimately be located) is set to $(exec_prefix)/$(target_alias). For + example, i686 machines would expand that to /usr/i686-pc-linux-gnu. Because this is + a custom system, this target-specific directory in /usr is not required. $(exec_prefix)/$(target_alias) would be + used if the system was used to cross-compile (for example, compiling a + package on an Intel machine that generates code that can be executed + on PowerPC machines). + + -Test the results: + + + + The test suite for Binutils in this section is considered critical. + Do not skip it under any circumstances. + + + Test the results: make check -Install the package: + Install the package: make tooldir=/usr install -Install the libiberty header file that is needed by -some packages: + Install the libiberty header + file that is needed by some packages: cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include - + -Contents of Binutils + + Contents of Binutils - -Installed programs -Installed libraries -addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, -ranlib, readelf, size, strings, and strip -libiberty.a, libbfd.[a,so], and libopcodes.[a,so] - + + Installed programs + Installed libraries -Short Descriptions - - + + addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, + ranlib, readelf, size, strings, and strip + libiberty.a, libbfd.[a,so], and libopcodes.[a,so] + + - -addr2line - -Translates program addresses to file names and line numbers; -given an address and the name of an executable, it uses the debugging -information in the executable to determine which source file and line -number are associated with the address -addr2line - - + + Short Descriptions + + - -ar - -Creates, modifies, and extracts from archives -ar - - + + addr2line + + Translates program addresses to file names and line numbers; + given an address and the name of an executable, it uses the debugging + information in the executable to determine which source file and line + number are associated with the address + + addr2line + + + - -as - -An assembler that assembles the output of gcc -into object files -as - - + + ar + + Creates, modifies, and extracts from archives + + ar + + + - -c++filt - -Used by the linker to de-mangle C++ and Java symbols and to keep -overloaded functions from clashing -c++filt - - + + as + + An assembler that assembles the output of gcc + into object files + + as + + + - -gprof - -Displays call graph profile data -gprof - - + + c++filt + + Used by the linker to de-mangle C++ and Java symbols and to keep + overloaded functions from clashing + + c++filt + + + - -ld - -A linker that combines a number of object and archive files into a single file, -relocating their data and tying up symbol references -ld - - + + gprof + + Displays call graph profile data + + gprof + + + - -nm - -Lists the symbols occurring in a given object file -nm - - + + ld + + A linker that combines a number of object and archive files + into a single file, relocating their data and tying up symbol + references + + ld + + + - -objcopy - -Translates one type of object file into another -objcopy - - + + nm + + Lists the symbols occurring in a given object file + + nm + + + - -objdump - -Displays information about the given object file, with options -controlling the particular information to display; the information -shown is useful to programmers who are working on the compilation -tools -objdump - - + + objcopy + + Translates one type of object file into another + + objcopy + + + - -ranlib - -Generates an index of the contents of an archive and stores it -in the archive; the index lists all of the symbols defined by archive -members that are relocatable object files -ranlib - - + + objdump + + Displays information about the given object file, with options + controlling the particular information to display; the information + shown is useful to programmers who are working on the compilation + tools + + objdump + + + - -readelf - -Displays information about ELF type binaries -readelf - - + + ranlib + + Generates an index of the contents of an archive and stores it + in the archive; the index lists all of the symbols defined by archive + members that are relocatable object files + + ranlib + + + - -size - -Lists the section sizes and the total size for the given object files -size - - + + readelf + + Displays information about ELF type binaries + + readelf + + + - -strings - -Outputs, for each given file, the sequences of printable -characters that are of at least the specified length (defaulting to -four); for object files, it prints, by default, only the strings from -the initializing and loading sections while for other types of files, it -scans the entire file -strings - - + + size + + Lists the section sizes and the total size for the given + object files + + size + + + - -strip - -Discards symbols from object files -strip - - + + strings + + Outputs, for each given file, the sequences of printable + characters that are of at least the specified length (defaulting to + four); for object files, it prints, by default, only the strings from + the initializing and loading sections while for other types of files, it + scans the entire file + + strings + + + - -libiberty - -Contains routines used by various GNU programs, including -getopt, obstack, -strerror, strtol, and -strtoul -libiberty - - + + strip + + Discards symbols from object files + + strip + + + - -libbfd - -The Binary File Descriptor library -libbfd - - + + libiberty + + Contains routines used by various GNU programs, including + getopt, obstack, + strerror, strtol, and + strtoul + + libiberty + + + - -libopcodes - -A library for dealing with opcodes—the readable -text versions of instructions for the processor; -it is used for building utilities like -objdump. -libopcodes - - - + + libbfd + + The Binary File Descriptor library + + libbfd + + + - + + libopcodes + + A library for dealing with opcodes—the readable + text versions of instructions for the processor; + it is used for building utilities like + objdump. + + libopcodes + + + + + + + - diff --git a/chapter06/bison.xml b/chapter06/bison.xml index d5fb0ae82..3e208fe02 100644 --- a/chapter06/bison.xml +++ b/chapter06/bison.xml @@ -1,102 +1,129 @@ - %general-entities; ]> + -Bison-&bison-version; - + -Bison + Bison-&bison-version; - -<para>The Bison package contains a parser generator.</para> + <indexterm zone="ch-system-bison"> + <primary sortas="a-Bison">Bison</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.6 SBU</seg><seg>9.9 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -GCC, Gettext, Glibc, Grep, M4, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Bison package contains a parser generator.</para> -<sect2 role="installation"> -<title>Installation of Bison + + &buildtime; + &diskspace; -Prepare Bison for compilation: + + 0.6 SBU + 9.9 MB + + + + + &dependencies; + + + Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, M4, Make, and Sed + + + + + + + Installation of Bison + + Prepare Bison for compilation: ./configure --prefix=/usr -The configure system causes bison to be built without support for -internationalization of error messages if a bison -program is not already in $PATH. The following addition will correct -this. + The configure system causes bison to be built without support for + internationalization of error messages if a bison + program is not already in $PATH. The following addition will correct + this. -echo '#define YYENABLE_NLS 1' >> config.h +echo '#define YYENABLE_NLS 1' >> config.h -Compile the package: + Compile the package: make -To test the results, issue: -make check. + To test the results, issue: + make check. -Install the package: + Install the package: make install - + -Contents of Bison + + Contents of Bison - -Installed programs -Installed library -bison and yaccliby.a - + + Installed programs + Installed library -Short Descriptions - - + + bison and yacc + liby.a + + - -bison - -Generates, from a series of rules, a program for analyzing the structure -of text files; Bison is a replacement for Yacc (Yet Another Compiler -Compiler) -bison - - + + Short Descriptions + + - -yacc - -A wrapper for bison, meant for programs -that still call yacc instead of bison; -it calls bison with the -y option -yacc - - + + bison + + Generates, from a series of rules, a program for analyzing the + structure of text files; Bison is a replacement for Yacc (Yet Another + Compiler Compiler) + + bison + + + - -liby.a - -The Yacc library containing implementations of Yacc-compatible -yyerror and main functions; -this library is normally not very useful, but POSIX requires -it -liby.a - - - + + yacc + + A wrapper for bison, meant for programs that + still call yacc instead of bison; + it calls bison with the -y + option + + yacc + + + - + + liby.a + + The Yacc library containing implementations of Yacc-compatible + yyerror and main functions; + this library is normally not very useful, but POSIX requires it + + liby.a + + + + + + + -