mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 11:49:20 +01:00
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:
parent
7c77094da0
commit
8c5e7152f0
@ -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
|
||||||
|
@ -8,8 +8,7 @@ change.</para>
|
|||||||
<para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &&
|
<para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &&
|
||||||
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
|
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
|
||||||
-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
|
-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
|
||||||
lib/Makefile.in > lib/Makefile.in~ &&
|
lib/Makefile.in.backup > 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
|
||||||
|
@ -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 &&
|
<para><screen><userinput>cp lib/Makefile.in lib/Makefile.in.backup &&
|
||||||
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
|
sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \
|
||||||
-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
|
-e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \
|
||||||
lib/Makefile.in > lib/Makefile.in~ &&
|
lib/Makefile.in.backup > 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>
|
||||||
|
|
||||||
|
@ -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 > tmp~:</userinput> This sed command
|
malloc/Makefile.backup > 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 >
|
||||||
<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 >
|
|
||||||
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 > config.make~:</userinput> This time, we're replacing
|
config.make.backup > config.make:</userinput> This time, sed searches
|
||||||
<filename>cross-compiling = yes</filename> with
|
through <filename>config.make.backup</filename> and replaces all occurences
|
||||||
<filename>cross-compiling = no</filename>. We do this because we are
|
of <filename>cross-compiling = yes</filename> with
|
||||||
only building for our own system. Cross-compiling is used, for
|
<filename>cross-compiling = no</filename>. We do this because we are
|
||||||
instance, to build a package for an Apple Power PC on an Intel system.
|
only building for our own system. Cross-compiling is used, for instance,
|
||||||
The reason Glibc thinks we're cross-compiling is that it can't compile a
|
to build a package for an Apple Power PC on an Intel system. The reason
|
||||||
test program to determine this, so it automatically defaults to a
|
Glibc thinks we're cross-compiling is that it can't compile a test program
|
||||||
cross-compiler. The reason for the failed program is because Glibc
|
to determine this, so it automatically defaults to a cross-compiler.
|
||||||
hasn't been installed yet.</para>
|
Compiling the test program failes 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>
|
|
||||||
|
|
||||||
<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
|
||||||
|
@ -17,19 +17,16 @@ it comes with.</para>
|
|||||||
<para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &&
|
<para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &&
|
||||||
touch /etc/ld.so.conf &&
|
touch /etc/ld.so.conf &&
|
||||||
cp malloc/Makefile malloc/Makefile.backup &&
|
cp malloc/Makefile malloc/Makefile.backup &&
|
||||||
sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile > tmp~ &&
|
sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile.backup > malloc/Makefile &&
|
||||||
mv tmp~ malloc/Makefile &&
|
|
||||||
cp login/Makefile login/Makefile.backup &&
|
cp login/Makefile login/Makefile.backup &&
|
||||||
sed 's/root/0/' login/Makefile > tmp~ &&
|
sed 's/root/0/' login/Makefile.backup > login/Makefile &&
|
||||||
mv tmp~ login/Makefile &&
|
|
||||||
mkdir ../glibc-build &&
|
mkdir ../glibc-build &&
|
||||||
cd ../glibc-build &&
|
cd ../glibc-build &&
|
||||||
../glibc-&glibc-version;/configure --prefix=/usr \
|
../glibc-&glibc-version;/configure --prefix=/usr \
|
||||||
--enable-add-ons --libexecdir=/usr/bin &&
|
--enable-add-ons --libexecdir=/usr/bin &&
|
||||||
cp config.make config.make.backup &&
|
cp config.make config.make.backup &&
|
||||||
sed 's/cross-compiling = yes/cross-compiling = no/' \
|
sed 's/cross-compiling = yes/cross-compiling = no/' \
|
||||||
config.make > tmp~ &&
|
config.make.backup > config.make &&
|
||||||
mv tmp~ config.make &&
|
|
||||||
make &&
|
make &&
|
||||||
make install &&
|
make install &&
|
||||||
make localedata/install-locales &&
|
make localedata/install-locales &&
|
||||||
|
@ -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/'
|
||||||
> useradd.c.temp &&</userinput>: This sed is used to fix a
|
src/useradd.c.backup > src/useradd.c &&</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
|
||||||
|
@ -11,8 +11,7 @@ following commands:</para>
|
|||||||
|
|
||||||
<para><screen><userinput>cp src/useradd.c src/useradd.c.backup &&
|
<para><screen><userinput>cp src/useradd.c src/useradd.c.backup &&
|
||||||
sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' \
|
sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' \
|
||||||
src/useradd.c > tmp~ &&
|
src/useradd.c.backup > src/useradd.c &&
|
||||||
mv tmp~ src/useradd.c &&
|
|
||||||
./configure --prefix=/usr &&
|
./configure --prefix=/usr &&
|
||||||
make &&
|
make &&
|
||||||
make install &&
|
make install &&
|
||||||
|
@ -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 &&
|
<para><screen><userinput>cp src/init.c src/init.c.backup &&
|
||||||
sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \
|
sed 's/\(.*\)\(Sending processes\)\(.*\)/\1\2 started by init\3/' \
|
||||||
src/init.c > tmp~ &&
|
src/init.c.backup > 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>
|
||||||
|
|
||||||
|
@ -7,8 +7,7 @@ util-linux package, FHS-compliant, run the following.</para>
|
|||||||
|
|
||||||
<para><screen><userinput>cp hwclock/hwclock.c hwclock/hwclock.c.backup &&
|
<para><screen><userinput>cp hwclock/hwclock.c hwclock/hwclock.c.backup &&
|
||||||
sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
|
sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
|
||||||
hwclock/hwclock.c > tmp~ &&
|
hwclock/hwclock.c.backup > hwclock/hwclock.c &&
|
||||||
mv tmp~ hwclock/hwclock.c &&
|
|
||||||
mkdir -p /var/lib/hwclock</userinput></screen></para>
|
mkdir -p /var/lib/hwclock</userinput></screen></para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -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 &&
|
||||||
|
sed '/shUntil\|link shRepeat/{
|
||||||
/shUntil/N
|
/shUntil/N
|
||||||
/^/i\
|
/^/i\
|
||||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||||
@ -17,8 +18,7 @@ which are currently available are for Emacs, Joe and nano.</para>
|
|||||||
/$/i\
|
/$/i\
|
||||||
endif
|
endif
|
||||||
d
|
d
|
||||||
}' runtime/syntax/sh.vim > sh.vim.fixed &&
|
}' runtime/syntax/sh.vim.backup > runtime/syntax/sh.vim &&
|
||||||
mv sh.vim.fixed runtime/syntax/sh.vim &&
|
|
||||||
./configure --prefix=/usr &&
|
./configure --prefix=/usr &&
|
||||||
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &&
|
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &&
|
||||||
make install &&
|
make install &&
|
||||||
@ -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 &&
|
||||||
|
sed '/shUntil\|link shRepeat/{
|
||||||
/shUntil/N
|
/shUntil/N
|
||||||
/^/i\
|
/^/i\
|
||||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||||
@ -49,8 +50,7 @@ instead of the one presented above:</para>
|
|||||||
/$/i\
|
/$/i\
|
||||||
endif
|
endif
|
||||||
d
|
d
|
||||||
}' runtime/syntax/sh.vim > sh.vim.fixed &&
|
}' runtime/syntax/sh.vim.backup > runtime/syntax/sh.vim &&
|
||||||
mv sh.vim.fixed runtime/syntax/sh.vim &&
|
|
||||||
./configure --prefix=/usr --localstatedir=/var/lib/vim &&
|
./configure --prefix=/usr --localstatedir=/var/lib/vim &&
|
||||||
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &&
|
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" &&
|
||||||
make install &&
|
make install &&
|
||||||
|
@ -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">
|
||||||
|
Loading…
Reference in New Issue
Block a user