Resolved bug 192 and a version increase

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1370 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Marc Heerdink 2001-12-10 15:23:46 +00:00
parent 7c77094da0
commit 8c5e7152f0
11 changed files with 50 additions and 62 deletions

View File

@ -6,6 +6,14 @@
<itemizedlist> <itemizedlist>
<listitem><para>December 10th, 2001 [marcheerdink]: Chapter 5+6: Cleaned
up the sed commands to use the backup file that was created earlier instead
of writing to an intermediate 'tmp~' file.</para></listitem>
<listitem><para>December 10th, 2001 [marcheerdink]: Chapter 5+6: 'make'
command for diffutils installation changed to 'make PR_PROGRAM=/usr/bin/pr.'
This bug was reported by Greg Schafer.</para></listitem>
<listitem><para>December 7th, 2001 [gerard]: Chapter 6: Change the <listitem><para>December 7th, 2001 [gerard]: Chapter 6: Change the
configure command from <emphasis>./Configure -Dprefix=/usr</emphasis> to configure command from <emphasis>./Configure -Dprefix=/usr</emphasis> to
<emphasis>./configure.gnu --prefix=/usr</emphasis>. This is more consistent <emphasis>./configure.gnu --prefix=/usr</emphasis>. This is more consistent

View File

@ -8,8 +8,7 @@ change.</para>
<para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &amp;&amp; <para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &amp;&amp;
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \ sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
&nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \ &nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
&nbsp;&nbsp;&nbsp;lib/Makefile.in &gt; lib/Makefile.in~ &amp;&amp; &nbsp;&nbsp;&nbsp;lib/Makefile.in.backup &gt; lib/Makefile.in:</userinput></screen>
mv lib/Makefile.in~ lib/Makefile.in:</userinput></screen>
This is used to fix a problem with building fileutils statically on glibc 2.2.3 This is used to fix a problem with building fileutils statically on glibc 2.2.3
systems. If this isn't done, then there is the possibility of all of the systems. If this isn't done, then there is the possibility of all of the
fileutils programs causing segmentation faults once chroot is entered fileutils programs causing segmentation faults once chroot is entered

View File

@ -24,8 +24,7 @@ than likely result in all kinds of compile time problems.</para>
<para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &amp;&amp; <para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &amp;&amp;
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \ sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
&nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \ &nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
&nbsp;&nbsp;&nbsp;lib/Makefile.in &gt; lib/Makefile.in~ &amp;&amp; &nbsp;&nbsp;&nbsp;lib/Makefile.in.backup &gt; lib/Makefile.in</userinput></screen></para>
mv lib/Makefile.in~ lib/Makefile.in</userinput></screen></para>
<para>Install fileutils by running the following commands:</para> <para>Install fileutils by running the following commands:</para>

View File

@ -12,30 +12,20 @@ that it can't read the file, so we simply create an empty file (the empty file
will have Glibc default to using /lib and /usr/lib which is fine).</para> will have Glibc default to using /lib and /usr/lib which is fine).</para>
<para><userinput>sed 's%\$(PERL)%/usr/bin/perl%' <para><userinput>sed 's%\$(PERL)%/usr/bin/perl%'
malloc/Makefile &gt; tmp~:</userinput> This sed command malloc/Makefile.backup &gt; malloc/Makefile:</userinput> This sed command
searches through <filename>malloc/Makefile</filename> and searches through <filename>malloc/Makefile.backup</filename> and
converts all occurrences of <filename>$(PERL)</filename> to converts all occurrences of <filename>$(PERL)</filename> to
<filename>/usr/bin/perl</filename>. The output is then written to the <filename>/usr/bin/perl</filename>. The output is then written to the
file <filename>tmp~</filename>. This is done because Glibc can't original <filename>malloc/Makefile.in</filename> which is used during
autodetect perl since it hasn't been installed yet.</para> configuration. This is done because Glibc can't autodetect perl since
it hasn't been installed yet.</para>
<para><userinput>mv tmp~ malloc/Makefile:</userinput> The file <para><userinput>sed 's/root/0' login/Makefile.backup &gt;
<filename>tmp~</filename> is now moved back to login/Makefile:</userinput> This sed command replaces all occurences of
<filename>malloc/Makefile</filename>. We do this because <filename>root</filename> in <filename>login/Makefile.backup</filename>
when using sed, we can't write straight back to this file so we need to with 0. This is because we don't have glibc on the LFS system yet, so
use a temporary file in between.</para> usernames can't be resolved to their user id's. Therefore, we replace
the username root with user id 0.</para>
<para><userinput>sed 's/root/0' login/Makefile &gt;
tmp~:</userinput> This sed command replaces all occurences of
<filename>root</filename> in
<filename>login/Makefile</filename> with 0. This is
because as we don't have glibc on the LFS system yet, usernames can't
be resolved to their user id's. Therefore, we replace the username
root with the id 0. </para>
<para><userinput>mv tmp~ login/Makefile:</userinput> As above, we are using
a temporary file (<filename>tmp~</filename>) to store the
edited Makefile and then copying it back over the original.</para>
<para><userinput>--enable-add-ons:</userinput> This enables the add-on that <para><userinput>--enable-add-ons:</userinput> This enables the add-on that
we install with Glibc: linuxthreads</para> we install with Glibc: linuxthreads</para>
@ -44,18 +34,16 @@ we install with Glibc: linuxthreads</para>
pt_chown program to be installed in the /usr/bin directory.</para> pt_chown program to be installed in the /usr/bin directory.</para>
<para><userinput>sed 's/cross-compiling = yes/cross-compiling = no/' <para><userinput>sed 's/cross-compiling = yes/cross-compiling = no/'
config.make &gt; config.make~:</userinput> This time, we're replacing config.make.backup &gt; config.make:</userinput> This time, sed searches
<filename>cross-compiling = yes</filename> with through <filename>config.make.backup</filename> and replaces all occurences
of <filename>cross-compiling = yes</filename> with
<filename>cross-compiling = no</filename>. We do this because we are <filename>cross-compiling = no</filename>. We do this because we are
only building for our own system. Cross-compiling is used, for only building for our own system. Cross-compiling is used, for instance,
instance, to build a package for an Apple Power PC on an Intel system. to build a package for an Apple Power PC on an Intel system. The reason
The reason Glibc thinks we're cross-compiling is that it can't compile a Glibc thinks we're cross-compiling is that it can't compile a test program
test program to determine this, so it automatically defaults to a to determine this, so it automatically defaults to a cross-compiler.
cross-compiler. The reason for the failed program is because Glibc Compiling the test program failes because Glibc hasn't been installed
hasn't been installed yet.</para> yet.</para>
<para><userinput>mv config.make~ config.make:</userinput> Again, we are moving
the temporary file over the original.</para>
<para><userinput>exec /bin/bash:</userinput>This command will <para><userinput>exec /bin/bash:</userinput>This command will
start a new bash shell which will replace the current shell. This is start a new bash shell which will replace the current shell. This is

View File

@ -17,19 +17,16 @@ it comes with.</para>
<para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &amp;&amp; <para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &amp;&amp;
touch /etc/ld.so.conf &amp;&amp; touch /etc/ld.so.conf &amp;&amp;
cp malloc/Makefile malloc/Makefile.backup &amp;&amp; cp malloc/Makefile malloc/Makefile.backup &amp;&amp;
sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile &gt; tmp~ &amp;&amp; sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile.backup &gt; malloc/Makefile &amp;&amp;
mv tmp~ malloc/Makefile &amp;&amp;
cp login/Makefile login/Makefile.backup &amp;&amp; cp login/Makefile login/Makefile.backup &amp;&amp;
sed 's/root/0/' login/Makefile &gt; tmp~ &amp;&amp; sed 's/root/0/' login/Makefile.backup &gt; login/Makefile &amp;&amp;
mv tmp~ login/Makefile &amp;&amp;
mkdir ../glibc-build &amp;&amp; mkdir ../glibc-build &amp;&amp;
cd ../glibc-build &amp;&amp; cd ../glibc-build &amp;&amp;
../glibc-&glibc-version;/configure --prefix=/usr \ ../glibc-&glibc-version;/configure --prefix=/usr \
&nbsp;&nbsp;&nbsp;--enable-add-ons --libexecdir=/usr/bin &amp;&amp; &nbsp;&nbsp;&nbsp;--enable-add-ons --libexecdir=/usr/bin &amp;&amp;
cp config.make config.make.backup &amp;&amp; cp config.make config.make.backup &amp;&amp;
sed 's/cross-compiling = yes/cross-compiling = no/' \ sed 's/cross-compiling = yes/cross-compiling = no/' \
&nbsp;&nbsp;&nbsp;config.make &gt; tmp~ &amp;&amp; &nbsp;&nbsp;&nbsp;config.make.backup &gt; config.make &amp;&amp;
mv tmp~ config.make &amp;&amp;
make &amp;&amp; make &amp;&amp;
make install &amp;&amp; make install &amp;&amp;
make localedata/install-locales &amp;&amp; make localedata/install-locales &amp;&amp;

View File

@ -1,10 +1,10 @@
<sect2> <sect2>
<title>Command explanations</title> <title>Command explanations</title>
<para><userinput>sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' src/useradd.c <para><userinput>sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/'
&gt; useradd.c.temp &amp;&amp;</userinput>: This sed is used to fix a src/useradd.c.backup &gt; src/useradd.c &amp;&amp;</userinput>:
compilation bug which occurs due to a variable (nflg) being used but not This sed is used to fix a compilation bug which occurs due to a
defined.</para> variable (nflg) being used but not defined.</para>
<para><userinput>cp limits login.access /etc:</userinput> These files <para><userinput>cp limits login.access /etc:</userinput> These files
were not installed during the installation of the package so we copy were not installed during the installation of the package so we copy

View File

@ -11,8 +11,7 @@ following commands:</para>
<para><screen><userinput>cp src/useradd.c src/useradd.c.backup &amp;&amp; <para><screen><userinput>cp src/useradd.c src/useradd.c.backup &amp;&amp;
sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' \ sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' \
&nbsp;&nbsp;&nbsp;src/useradd.c &gt; tmp~ &amp;&amp; &nbsp;&nbsp;&nbsp;src/useradd.c.backup &gt; src/useradd.c &amp;&amp;
mv tmp~ src/useradd.c &amp;&amp;
./configure --prefix=/usr &amp;&amp; ./configure --prefix=/usr &amp;&amp;
make &amp;&amp; make &amp;&amp;
make install &amp;&amp; make install &amp;&amp;

View File

@ -13,8 +13,7 @@ commands. If you don't want to change it, skip it.</para>
<para><screen><userinput>cp src/init.c src/init.c.backup &amp;&amp; <para><screen><userinput>cp src/init.c src/init.c.backup &amp;&amp;
sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \ sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \
&nbsp;&nbsp;&nbsp;src/init.c &gt; tmp~ &amp;&amp; &nbsp;&nbsp;&nbsp;src/init.c.backup &gt; src/init.c</userinput></screen></para>
mv tmp~ src/init.c</userinput></screen></para>
<para>Install Sysvinit by running the following commands:</para> <para>Install Sysvinit by running the following commands:</para>

View File

@ -7,8 +7,7 @@ util-linux package, FHS-compliant, run the following.</para>
<para><screen><userinput>cp hwclock/hwclock.c hwclock/hwclock.c.backup &amp;&amp; <para><screen><userinput>cp hwclock/hwclock.c hwclock/hwclock.c.backup &amp;&amp;
sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \ sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
&nbsp;&nbsp;&nbsp;hwclock/hwclock.c &gt; tmp~ &amp;&amp; &nbsp;&nbsp;&nbsp;hwclock/hwclock.c.backup &gt; hwclock/hwclock.c &amp;&amp;
mv tmp~ hwclock/hwclock.c &amp;&amp;
mkdir -p /var/lib/hwclock</userinput></screen></para> mkdir -p /var/lib/hwclock</userinput></screen></para>
</sect2> </sect2>

View File

@ -9,7 +9,8 @@ which are currently available are for Emacs, Joe and nano.</para>
<para>Install Vim by running the following commands:</para> <para>Install Vim by running the following commands:</para>
<para><screen><userinput>sed '/shUntil\|link shRepeat/{ <para><screen><userinput>cp runtime/syntax/sh.vim runtime/syntax/sh.vim.backup &amp;&amp;
sed '/shUntil\|link shRepeat/{
&nbsp;&nbsp;&nbsp;/shUntil/N &nbsp;&nbsp;&nbsp;/shUntil/N
&nbsp;&nbsp;&nbsp;/^/i\ &nbsp;&nbsp;&nbsp;/^/i\
&nbsp;&nbsp;&nbsp;if exists("b:is_kornshell") || exists("b:is_bash") &nbsp;&nbsp;&nbsp;if exists("b:is_kornshell") || exists("b:is_bash")
@ -17,8 +18,7 @@ which are currently available are for Emacs, Joe and nano.</para>
&nbsp;&nbsp;&nbsp;/$/i\ &nbsp;&nbsp;&nbsp;/$/i\
&nbsp;&nbsp;&nbsp;endif &nbsp;&nbsp;&nbsp;endif
&nbsp;&nbsp;&nbsp;d &nbsp;&nbsp;&nbsp;d
&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim &gt; sh.vim.fixed &amp;&amp; &nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim.backup &gt; runtime/syntax/sh.vim &amp;&amp;
mv sh.vim.fixed runtime/syntax/sh.vim &amp;&amp;
./configure --prefix=/usr &amp;&amp; ./configure --prefix=/usr &amp;&amp;
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &amp;&amp; make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &amp;&amp;
make install &amp;&amp; make install &amp;&amp;
@ -41,7 +41,8 @@ for their temporary state files, like temporary save files for example.
If you wish vim to conform to the FHS, you should use this command set If you wish vim to conform to the FHS, you should use this command set
instead of the one presented above:</para> instead of the one presented above:</para>
<para><screen><userinput>sed '/shUntil\|link shRepeat/{ <para><screen><userinput>cp runtime/syntax/sh.vim runtime/syntax/sh.vim.backup &amp;&amp;
sed '/shUntil\|link shRepeat/{
&nbsp;&nbsp;&nbsp;/shUntil/N &nbsp;&nbsp;&nbsp;/shUntil/N
&nbsp;&nbsp;&nbsp;/^/i\ &nbsp;&nbsp;&nbsp;/^/i\
&nbsp;&nbsp;&nbsp;if exists("b:is_kornshell") || exists("b:is_bash") &nbsp;&nbsp;&nbsp;if exists("b:is_kornshell") || exists("b:is_bash")
@ -49,8 +50,7 @@ instead of the one presented above:</para>
&nbsp;&nbsp;&nbsp;/$/i\ &nbsp;&nbsp;&nbsp;/$/i\
&nbsp;&nbsp;&nbsp;endif &nbsp;&nbsp;&nbsp;endif
&nbsp;&nbsp;&nbsp;d &nbsp;&nbsp;&nbsp;d
&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim &gt; sh.vim.fixed &amp;&amp; &nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim.backup &gt; runtime/syntax/sh.vim &amp;&amp;
mv sh.vim.fixed runtime/syntax/sh.vim &amp;&amp;
./configure --prefix=/usr --localstatedir=/var/lib/vim &amp;&amp; ./configure --prefix=/usr --localstatedir=/var/lib/vim &amp;&amp;
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &amp;&amp; make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &amp;&amp;
make install &amp;&amp; make install &amp;&amp;

View File

@ -4,8 +4,8 @@
<!ENTITY book SYSTEM "book/book.xml"> <!ENTITY book SYSTEM "book/book.xml">
<!ENTITY version "20011207"> <!ENTITY version "20011210">
<!ENTITY releasedate "December 7th, 2001"> <!ENTITY releasedate "December 10th, 2001">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org"> <!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org"> <!ENTITY http-root "http://ftp.linuxfromscratch.org">