diff options
author | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2020-06-07 20:16:00 +0000 |
---|---|---|
committer | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2020-06-07 20:16:00 +0000 |
commit | fcc027677da55c41dcaea045f5b9ff8b088e6495 (patch) | |
tree | 42500a7858959695b971e7f28f1d0bf33185db2e /chapter08/bash.xml | |
parent | d53fefab5a6772fef606392a61608fc290e6a7ae (diff) |
Initial commit of alternative cross LFS
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08/bash.xml')
-rw-r--r-- | chapter08/bash.xml | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/chapter08/bash.xml b/chapter08/bash.xml new file mode 100644 index 000000000..650c33ade --- /dev/null +++ b/chapter08/bash.xml @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!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-system-bash" role="wrap"> + <?dbhtml filename="bash.html"?> + + <sect1info condition="script"> + <productname>bash</productname> + <productnumber>&bash-version;</productnumber> + <address>&bash-url;</address> + </sect1info> + + <title>Bash-&bash-version;</title> + + <indexterm zone="ch-system-bash"> + <primary sortas="a-Bash">Bash</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>The Bash package contains the Bourne-Again SHell.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&bash-ch6-sbu;</seg> + <seg>&bash-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Bash</title> + + <para>Incorporate some upstream fixes:</para> + +<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen> + + <para>Prepare Bash for compilation:</para> + +<screen><userinput remap="configure">./configure --prefix=/usr \ + --docdir=/usr/share/doc/bash-&bash-version; \ + --without-bash-malloc \ + --with-installed-readline</userinput></screen> + + <variablelist> + <title>The meaning of the new configure option:</title> + + <varlistentry> + <term><parameter>--with-installed-readline</parameter></term> + <listitem> + <para>This option tells Bash to use the <filename + class="libraryfile">readline</filename> library that is already + installed on the system rather than using its own readline + version.</para> + </listitem> + </varlistentry> + + </variablelist> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>Skip down to <quote>Install the + package</quote> if not running the test suite.</para> + + <para>To prepare the tests, ensure that the <systemitem class="username">tester</systemitem> user can write to the sources tree:</para> + +<screen><userinput remap="test">chown -Rv tester .</userinput></screen> + + <para>Now, run the tests as the <systemitem + class="username">tester</systemitem> user:</para> + +<screen><userinput remap="test">su tester << EOF +PATH=$PATH make tests < $(tty) +EOF</userinput></screen> +<!-- + <para>The <systemitem class="username">tester</systemitem> + user does not have enough permissions for all the tests to pass. This shows + up in some <quote>diff</quote> output in four test results. Portions of the + run-execscript, run-lastpipe, run-read, and run-test programs + are known to fail in the LFS chroot environment, but pass if the tests + are run in a full system.</para> +--> + <para>Install the package and move the main executable to + <filename class='directory'>/bin</filename>:</para> + +<screen><userinput remap="install">make install +mv -vf /usr/bin/bash /bin</userinput></screen> + + <para>Run the newly compiled <command>bash</command> program (replacing the one that is + currently being executed):</para> + +<screen role="nodump"><userinput>exec /bin/bash --login +h</userinput></screen> + + <note> + <para>The parameters used make the <command>bash</command> + process an interactive login shell and continue to disable hashing so + that new programs are found as they become available.</para> + </note> + + </sect2> + + <sect2 id="contents-bash" role="content"> + <title>Contents of Bash</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed directory</segtitle> + + <seglistitem> + <seg>bash, bashbug, and sh (link to bash)</seg> + <seg>/usr/include/bash, /usr/lib/bash, and + /usr/share/doc/bash-&bash-version;</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="bash"> + <term><command>bash</command></term> + <listitem> + <para>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</para> + <indexterm zone="ch-system-bash bash"> + <primary sortas="b-bash">bash</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="bashbug"> + <term><command>bashbug</command></term> + <listitem> + <para>A shell script to help the user compose and mail standard + formatted bug reports concerning <command>bash</command></para> + <indexterm zone="ch-system-bash bashbug"> + <primary sortas="b-bashbug">bashbug</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="sh"> + <term><command>sh</command></term> + <listitem> + <para>A symlink to the <command>bash</command> program; when invoked + as <command>sh</command>, <command>bash</command> tries to mimic the + startup behavior of historical versions of <command>sh</command> as + closely as possible, while conforming to the POSIX standard as + well</para> + <indexterm zone="ch-system-bash sh"> + <primary sortas="b-sh">sh</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> + +</sect1> |