diff options
Diffstat (limited to 'chapter06/bash.xml')
-rw-r--r-- | chapter06/bash.xml | 137 |
1 files changed, 30 insertions, 107 deletions
diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 650c33ade..92627e92c 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -5,7 +5,7 @@ %general-entities; ]> -<sect1 id="ch-system-bash" role="wrap"> +<sect1 id="ch-tools-bash" role="wrap"> <?dbhtml filename="bash.html"?> <sect1info condition="script"> @@ -16,22 +16,25 @@ <title>Bash-&bash-version;</title> - <indexterm zone="ch-system-bash"> + <indexterm zone="ch-tools-bash"> <primary sortas="a-Bash">Bash</primary> + <secondary>tools</secondary> </indexterm> <sect2 role="package"> <title/> - <para>The Bash package contains the Bourne-Again SHell.</para> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/bash.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> - <seg>&bash-ch6-sbu;</seg> - <seg>&bash-ch6-du;</seg> + <seg>&bash-ch5-sbu;</seg> + <seg>&bash-ch5-du;</seg> </seglistitem> </segmentedlist> @@ -40,27 +43,24 @@ <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> +<screen><userinput remap="configure">./configure --prefix=/usr \ + --build=$(support/config.guess) \ + --host=$LFS_TGT \ + --without-bash-malloc</userinput></screen> <variablelist> - <title>The meaning of the new configure option:</title> + <title>The meaning of the configure options:</title> <varlistentry> - <term><parameter>--with-installed-readline</parameter></term> + <term><parameter>--without-bash-malloc</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> + <para>This option turns off the use of Bash's memory allocation + (<function>malloc</function>) function which is known to cause + segmentation faults. By turning this option off, Bash will use + the <function>malloc</function> functions from Glibc which are + more stable.</para> </listitem> </varlistentry> @@ -70,103 +70,26 @@ <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>Install the package:</para> - <para>Now, run the tests as the <systemitem - class="username">tester</systemitem> user:</para> +<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> -<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> + <para>Move the excutable to where it is expected to be:</para> -<screen><userinput remap="install">make install -mv -vf /usr/bin/bash /bin</userinput></screen> +<screen><userinput remap="install">mv $LFS/usr/bin/bash $LFS/bin/bash</userinput></screen> - <para>Run the newly compiled <command>bash</command> program (replacing the one that is - currently being executed):</para> + <para>Make a link for the programs that use <command>sh</command> for + a shell:</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> +<screen><userinput remap="install">ln -sv bash $LFS/bin/sh</userinput></screen> </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> + <sect2 role="content"> + <title/> - </variablelist> + <para>Details on this package are located in + <xref linkend="contents-bash" role="."/></para> </sect2> |