Rewrote chapter 5-bash into new format

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2304 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Gerard Beekmans 2003-01-11 15:58:55 +00:00
parent 63644a2aaf
commit 78ec17a2dd
9 changed files with 74 additions and 58 deletions

View File

@ -1,11 +1,8 @@
<sect2><title>Contents of Bash</title>
<sect2><title>Descriptions</title>
<para>Last checked against version &bash-contversion;.</para>
<sect3><title>Program Files</title>
<para>bash, sh (link to bash) and bashbug</para></sect3>
<sect3><title>Descriptions</title>
<sect3><title>ProgramfFiles descriptions</title>
<sect4><title>bash</title>
<para>bash is the Bourne-Again SHell, which is a widely used command

View File

@ -0,0 +1,17 @@
<sect2><title>Contents of Bash</title>
<para>Last checked against version &bash-contversion;.</para>
<para>bash is the Bourne-Again SHell, which is a widely used command
interpreter on Unix systems. The bash program reads from standard
input, the keyboard. A user types something and the program will evaluate
what he has typed and do something with it, like running a
program.</para>
<para>Bash installs the following files:</para>
<sect3><title>Program Files</title>
<para>bash, sh (link to bash) and bashbug</para></sect3>
</sect2>

View File

@ -3,6 +3,7 @@
<?dbhtml filename="bash.html" dir="appendixa"?>
&aa-bash-down;
&aa-bash-shortdesc;
&aa-bash-desc;
&aa-bash-dep;

View File

@ -1,32 +0,0 @@
<sect2>
<title>Command explanations</title>
<para><userinput>--enable-static-link:</userinput> This configure
option causes bash to be linked statically.</para>
<para><userinput>--prefix=$LFS/static:</userinput> This configure option
installs all of Bash's files under the $LFS/static directory, which becomes
the /static directory when chroot'ed or reboot'ed into LFS.</para>
<para><userinput>--with-curses:</userinput> This causes bash to be
linked against the curses library instead of the default termcap
library which is becoming obsolete.</para>
<para>It is not strictly necessary for the static bash to be linked
against libncurses (it can link against a static termcap for the time
being just fine because we will reinstall Bash in Chapter 6 anyways,
where we will use libncurses), but it's a good test to make sure that
the Ncurses package has been installed properly. If not, you will get in
trouble later on in this chapter when you install the Texinfo package.
That package requires ncurses, and termcap can't reliably be used
there.</para>
<para>The <userinput>&amp;&amp;</userinput>'s at the end of every line cause
the next command to be executed only if the previous command exits
with a return value of 0 indicating success. In case all of these
commands are copy &amp; pasted on the shell, it is important to ensure
that if ./configure fails, make isn't executed and, likewise, if make
fails, that make install isn't executed, and so forth.</para>
</sect2>

View File

@ -12,21 +12,56 @@ development package. This package is often called something like
<emphasis>ncurses-dev</emphasis> or <emphasis>ncurses-static</emphasis>. If
this package is already installed, or you just installed it, check for the
two files again. Often the <filename>libcurses.a</filename> file is (still)
missing. If so, then create <filename>libcurses.a</filename> as a symlink
by running the following commands as user root:</para>
missing. If so, create <filename>libcurses.a</filename> as a symlink
by running the following commands as user <emphasis>root:</emphasis></para>
<para><screen><userinput>ln -s libncurses.a /usr/lib/libcurses.a</userinput></screen></para>
<para>Now we can continue. Install Bash by running the following
commands:</para>
<para>Now we can really start. Prepare Bash to be compiled by running the
following command:</para>
<para><screen><userinput>./configure --enable-static-link \
&nbsp;&nbsp;&nbsp;&nbsp;--prefix=$LFS/static --with-curses &amp;&amp;
make &amp;&amp;
make install</userinput></screen></para>
&nbsp;&nbsp;&nbsp;&nbsp;--prefix=$LFS/static --with-curses</userinput></screen></para>
<para>The meaning of the configure switches are:</para>
<itemizedlist>
<listitem><para><userinput>--enable-static-link:</userinput> This option
caused the <userinput>bash</userinput> program to be statically
linked.</para></listitem>
<listitem><para><userinput>--prefix=$LFS/static</userinput> This option
installs all of Bash's files under the $LFS/static directory, which becomes
the /static directory when chroot'ed or reboot'ed into
LFS.</para></listitem>
<listitem><para><userinput>--with-curses:</userinput> This option caused
bash to be linked against the curses library instead of the default termcap
library which is being phased out and has become obsolete. Note, on most
all Linux systems, the curses library is provided by the Ncurses
package (so in truth we link against the ncurses library).</para>
<para>It is not strictly necessary for the static bash to be linked
against libncurses (it can link against a static termcap for the time
being just fine because we will reinstall Bash in Chapter 6 anyways,
where we will use libncurses), but it's a good test to make sure that
the Ncurses package has been installed properly. If not, you will get in
trouble later on in this chapter when you install the Texinfo package.
That package requires ncurses, and termcap can't reliably be used
there.</para></listitem>
</itemizedlist>
<para>Now we can continue compiling Bash:</para>
<para><screen><userinput>make</userinput></screen></para>
<para>And finish off the installation by installing Bash:</para>
<para><screen><userinput>make install</userinput></screen></para>
<para>If the <userinput>make install</userinput> phase ends with something
along the lines of this:</para>
along the lines of the following:</para>
<blockquote><screen>install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
usage: install-info [--version] [--help] [--debug] [--maxwidth=nnn]
@ -40,11 +75,11 @@ make[1]: Leaving directory `/mnt/lfs/usr/src/bash-&bash-version;/doc'
make: [install] Error 2 (ignored)</screen></blockquote>
<para>then that means that you are probably using Debian-2.2 (potato), and
that you have an old version of the texinfo package. This error is not
severe by any means: the info pages will be installed when we recompile bash
dynamically in Chapter 6, so you can ignore it. It is reported that the
current release of Debian (3.0; also known as Woody) doesn't have this
problem.</para>
that you have an old version of the texinfo package and the info pages
can't be installed at this time. This error is not a problem as the info
pages will be installed when we recompile bash dynamically in Chapter 6, so
you can ignore it. It is reported that the current release of Debian
(3.0; also known as Woody) doesn't have this problem.</para>
</sect2>

View File

@ -5,10 +5,9 @@
<screen>Estimated build time: &bash-time-static;
Estimated required disk space: &bash-compsize-static;</screen>
&c5-bash-inst;
&c5-bash-exp;
&aa-bash-desc;
&aa-bash-shortdesc;
&aa-bash-dep;
&c5-bash-inst;
</sect1>

View File

@ -2,9 +2,7 @@
<title>Installing Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html" dir="chapter06"?>
<screen>Download location: <ulink url="ftp://ftp.gnu.org/gnu/glibc/"/>
Download location (patch): <ulink url="&http;/"/>
Estimated build time: &glibc-time;
<screen>Estimated build time: &glibc-time;
Estimated required disk space: &glibc-compsize;</screen>
&aa-glibc-shortdesc;

View File

@ -8,6 +8,7 @@
<!ENTITY c6-bash-inst SYSTEM "../chapter06/bash-inst.xml">
<!ENTITY aa-bash SYSTEM "../appendixa/bash.xml">
<!ENTITY aa-bash-shortdesc SYSTEM "../appendixa/bash-shortdesc.xml">
<!ENTITY aa-bash-desc SYSTEM "../appendixa/bash-desc.xml">
<!ENTITY aa-bash-dep SYSTEM "../appendixa/bash-dep.xml">
<!ENTITY aa-bash-down SYSTEM "../appendixa/bash-down.xml">

View File

@ -4,8 +4,8 @@
<!ENTITY book SYSTEM "book/book.xml">
<!ENTITY version "20030110">
<!ENTITY releasedate "January 10th, 2003">
<!ENTITY version "20030111">
<!ENTITY releasedate "January 11th, 2003">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org">