瀏覽代碼

Resolved bug 192 and a version increase

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1370 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Marc Heerdink 23 年之前
父節點
當前提交
8c5e7152f0

+ 8 - 0
chapter01/changelog.xml

@@ -6,6 +6,14 @@
 
 <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
 configure command from <emphasis>./Configure -Dprefix=/usr</emphasis> to
 <emphasis>./configure.gnu --prefix=/usr</emphasis>. This is more consistent

+ 1 - 2
chapter05/fileutils-exp.xml

@@ -8,8 +8,7 @@ change.</para>
 <para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &amp;&amp;
 sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
 &nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
-&nbsp;&nbsp;&nbsp;lib/Makefile.in &gt; lib/Makefile.in~ &amp;&amp;
-mv lib/Makefile.in~ lib/Makefile.in:</userinput></screen>
+&nbsp;&nbsp;&nbsp;lib/Makefile.in.backup &gt; lib/Makefile.in:</userinput></screen>
 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 
 fileutils programs causing segmentation faults once chroot is entered 

+ 1 - 2
chapter05/fileutils-inst.xml

@@ -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;
 sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
 &nbsp;&nbsp;&nbsp;-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
-&nbsp;&nbsp;&nbsp;lib/Makefile.in &gt; lib/Makefile.in~ &amp;&amp;
-mv lib/Makefile.in~ lib/Makefile.in</userinput></screen></para>
+&nbsp;&nbsp;&nbsp;lib/Makefile.in.backup &gt; lib/Makefile.in</userinput></screen></para>
 
 <para>Install fileutils by running the following commands:</para>
 

+ 23 - 35
chapter06/glibc-exp.xml

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

+ 3 - 6
chapter06/glibc-inst.xml

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

+ 4 - 4
chapter06/shadowpwd-exp.xml

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

+ 1 - 2
chapter06/shadowpwd-inst.xml

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

+ 1 - 2
chapter06/sysvinit-inst.xml

@@ -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;
 sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \
-&nbsp;&nbsp;&nbsp;src/init.c &gt; tmp~ &amp;&amp;
-mv tmp~ src/init.c</userinput></screen></para>
+&nbsp;&nbsp;&nbsp;src/init.c.backup &gt; src/init.c</userinput></screen></para>
 
 <para>Install Sysvinit by running the following commands:</para>
 

+ 1 - 2
chapter06/utillinux-inst.xml

@@ -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;
 sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
-&nbsp;&nbsp;&nbsp;hwclock/hwclock.c &gt; tmp~ &amp;&amp;
-mv tmp~ hwclock/hwclock.c &amp;&amp;
+&nbsp;&nbsp;&nbsp;hwclock/hwclock.c.backup &gt; hwclock/hwclock.c &amp;&amp;
 mkdir -p /var/lib/hwclock</userinput></screen></para>
 
 </sect2>

+ 6 - 6
chapter06/vim-inst.xml

@@ -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><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;/^/i\
 &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;endif
 &nbsp;&nbsp;&nbsp;d
-&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim &gt; sh.vim.fixed &amp;&amp;
-mv sh.vim.fixed runtime/syntax/sh.vim &amp;&amp;
+&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim.backup &gt; runtime/syntax/sh.vim &amp;&amp;
 ./configure --prefix=/usr &amp;&amp;
 make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &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 
 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;/^/i\
 &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;endif
 &nbsp;&nbsp;&nbsp;d
-&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim &gt; sh.vim.fixed &amp;&amp;
-mv sh.vim.fixed runtime/syntax/sh.vim &amp;&amp;
+&nbsp;&nbsp;&nbsp;}' runtime/syntax/sh.vim.backup &gt; runtime/syntax/sh.vim &amp;&amp;
 ./configure --prefix=/usr --localstatedir=/var/lib/vim &amp;&amp;
 make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &amp;&amp;
 make install &amp;&amp;

+ 2 - 2
index.xml

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