mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-18 19:29:21 +01:00
Mostly text updates in Chapter 8.
There are a couple of minor command changes. git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11924 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
ea7ec72fba
commit
6a156bab1b
@ -157,7 +157,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<warning><para>If <envar>LFS</envar> is not proprly set, and despite the
|
||||
<warning><para>If <envar>LFS</envar> is not properly set, and despite the
|
||||
recommendations, you are building as root, the next command will install
|
||||
the newly built glibc to your host system, which most likely will render it
|
||||
unusable. So double check that the environment is correctly set for user
|
||||
|
@ -13,8 +13,8 @@
|
||||
<para>Most programs and libraries are, by default, compiled with
|
||||
debugging symbols included (with <command>gcc</command>'s
|
||||
<parameter>-g</parameter> option). This means that when debugging a
|
||||
program or library that was compiled with debugging information
|
||||
included, the debugger can provide not only memory addresses, but also
|
||||
program or library that was compiled with debugging information,
|
||||
the debugger can provide not only memory addresses, but also
|
||||
the names of the routines and variables.</para>
|
||||
|
||||
<para>However, the inclusion of these debugging symbols enlarges a
|
||||
|
@ -50,7 +50,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
|
||||
|
||||
<para os="b">There should be no errors,
|
||||
and the output of the last command will be (allowing for
|
||||
platform-specific differences in dynamic linker name):</para>
|
||||
platform-specific differences in the dynamic linker name):</para>
|
||||
|
||||
<screen os="c"><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
|
||||
|
||||
@ -104,7 +104,7 @@ SEARCH_DIR("/lib")</computeroutput></screen>
|
||||
|
||||
<screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
|
||||
|
||||
<para os="p">Lastly, make sure GCC is using the correct dynamic linker:</para>
|
||||
<para os="p">Make sure GCC is using the correct dynamic linker:</para>
|
||||
|
||||
<screen os="q"><userinput>grep found dummy.log</userinput></screen>
|
||||
|
||||
@ -115,8 +115,8 @@ SEARCH_DIR("/lib")</computeroutput></screen>
|
||||
|
||||
<para os="t">If the output does not appear as shown above or is not received
|
||||
at all, then something is seriously wrong. Investigate and retrace the
|
||||
steps to find out where the problem is and correct it. The most likely
|
||||
reason is that something went wrong with the specs file adjustment. Any
|
||||
steps to find out where the problem is and correct it. <!--The most likely
|
||||
reason is that something went wrong with the specs file adjustment.--> Any
|
||||
issues will need to be resolved before continuing with the process.</para>
|
||||
|
||||
<para os="u">Once everything is working correctly, clean up the test files:</para>
|
||||
|
@ -43,15 +43,13 @@
|
||||
|
||||
<para>Prepare Attr for compilation:</para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="configure">
|
||||
./configure --prefix=/usr \
|
||||
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--bindir=/bin \
|
||||
--disable-static \
|
||||
--sysconfdir=/etc \
|
||||
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
||||
|
||||
<screen revision="systemd"><userinput remap="configure">
|
||||
./configure --prefix=/usr \
|
||||
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-static \
|
||||
--sysconfdir=/etc \
|
||||
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
<para>First, fix a bug generated by Perl 5.28.</para>
|
||||
|
||||
<screen><userinput remap="pre">sed '361 s/{/\\{/' -i bin/autoscan.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -i '361 s/{/\\{/' bin/autoscan.in</userinput></screen>
|
||||
|
||||
<para>Prepare Autoconf for compilation:</para>
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
<para>Fix a failing test:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
|
||||
|
||||
<para>Prepare Automake for compilation:</para>
|
||||
|
||||
|
@ -83,14 +83,7 @@
|
||||
<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>
|
||||
|
||||
@ -104,7 +97,7 @@ mv -vf /usr/bin/bash /bin</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>The parameters used make the <command>bash</command>
|
||||
process an interactive login shell and continue to disable hashing so
|
||||
process an interactive login shell and continues to disable hashing so
|
||||
that new programs are found as they become available.</para>
|
||||
</note>
|
||||
|
||||
|
@ -111,9 +111,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
||||
<screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen>
|
||||
|
||||
<para>We're going to run the remainder of the tests as the
|
||||
<systemitem class="username">tester</systemitem> user. Certain tests,
|
||||
however, require that the user be a member of more than one group. So that
|
||||
these tests are not skipped we'll add a temporary group and make the
|
||||
<systemitem class="username">tester</systemitem> user. Certain tests
|
||||
require that the user be a member of more than one group. So that
|
||||
these tests are not skipped, add a temporary group and make the
|
||||
user <systemitem class="username">tester</systemitem> a part of it:</para>
|
||||
|
||||
<screen><userinput remap="test">echo "dummy:x:102:tester" >> /etc/group</userinput></screen>
|
||||
@ -126,12 +126,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
||||
<para>Now run the tests:</para>
|
||||
|
||||
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
|
||||
<!--
|
||||
<para>The test program test-getlogin is known to fail in a
|
||||
partially built system environment like the chroot environment here, but
|
||||
passes if run at the end of this chapter. The test program tty.sh is
|
||||
also known to fail.</para>
|
||||
-->
|
||||
|
||||
<para>Remove the temporary group:</para>
|
||||
|
||||
@ -147,7 +141,7 @@ mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
|
||||
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
|
||||
mv -v /usr/bin/chroot /usr/sbin
|
||||
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
|
||||
sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
|
||||
sed -i 's/"1"/"8"' /usr/share/man/man8/chroot.8</userinput></screen>
|
||||
|
||||
<para revision="sysv">Some of the scripts in the LFS-Bootscripts package
|
||||
depend on <command>head</command>, <command>nice</command>,
|
||||
@ -190,6 +184,17 @@ sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="lbracket">
|
||||
<term><command>[</command></term>
|
||||
<listitem>
|
||||
<para>Is an actual command, /usr/bin/[, that is a synonym
|
||||
for the <command>test</command> command.</para>
|
||||
<indexterm zone="ch-system-coreutils lbracket">
|
||||
<primary sortas="b-111">[</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="base32">
|
||||
<term><command>base32</command></term>
|
||||
<listitem>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The E2fsprogs package contains the utilities for handling the
|
||||
<para>The e2fsprogs package contains the utilities for handling the
|
||||
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
||||
supports the <systemitem class="filesystem">ext3</systemitem> and
|
||||
<systemitem class="filesystem">ext4</systemitem> journaling
|
||||
@ -44,13 +44,13 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of E2fsprogs</title>
|
||||
|
||||
<para>The E2fsprogs documentation recommends that the package be built in
|
||||
<para>The e2fsprogs documentation recommends that the package be built in
|
||||
a subdirectory of the source tree: </para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v build
|
||||
cd build</userinput></screen>
|
||||
|
||||
<para>Prepare E2fsprogs for compilation:</para>
|
||||
<para>Prepare e2fsprogs for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||
--bindir=/bin \
|
||||
@ -62,7 +62,7 @@ cd build</userinput></screen>
|
||||
--disable-fsck</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the environment variable and configure options:</title>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-root-prefix=""</parameter> and
|
||||
@ -74,7 +74,7 @@ cd build</userinput></screen>
|
||||
programs still need to be available. They belong in directories
|
||||
like <filename class="directory">/lib</filename> and <filename
|
||||
class="directory">/sbin</filename>. If this option is not passed
|
||||
to E2fsprogs' configure, the programs are installed into the
|
||||
to configure, the programs are installed into the
|
||||
<filename class="directory">/usr</filename> directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -90,11 +90,11 @@ cd build</userinput></screen>
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-*</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents E2fsprogs from building and installing the
|
||||
<para>This prevents e2fsprogs from building and installing the
|
||||
<systemitem class="library">libuuid</systemitem> and
|
||||
<systemitem class="library">libblkid</systemitem> libraries, the
|
||||
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
||||
<command>fsck</command> wrapper, as Util-Linux installs more
|
||||
<command>fsck</command> wrapper, as util-linux installs more
|
||||
recent versions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -109,7 +109,7 @@ cd build</userinput></screen>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory.
|
||||
<para>One of the e2fsprogs tests will attempt to allocate 256 MB of memory.
|
||||
If you do not have significantly more RAM than this, be sure to enable
|
||||
sufficient swap space for the test. See <xref
|
||||
linkend="ch-partitioning-creatingfilesystem"/> and <xref
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
<para>First fix a problem with the regression tests in the LFS environment:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's|usr/bin/env |bin/|' run.sh.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -i 's:usr/bin/env :bin/:' run.sh.in</userinput></screen>
|
||||
|
||||
<para>Prepare Expat for compilation:</para>
|
||||
|
||||
|
@ -65,9 +65,9 @@ cd build</userinput></screen>
|
||||
--disable-bootstrap \
|
||||
--with-system-zlib</userinput></screen>
|
||||
|
||||
<para>Note that for other languages, there are some prerequisites that
|
||||
<para>Note that for other programming languages there are some prerequisites that
|
||||
are not yet available. See the
|
||||
<ulink url="&blfs-book;general/gcc.html">BLFS Book</ulink>
|
||||
<ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
|
||||
for instructions on how to build all of GCC's supported languages.</para>
|
||||
|
||||
<variablelist>
|
||||
@ -77,7 +77,7 @@ cd build</userinput></screen>
|
||||
<term><parameter>LD=ld</parameter></term>
|
||||
<listitem>
|
||||
<para>This parameter makes the configure script use the ld installed
|
||||
by the binutils installed earlier in this chapter, rather than
|
||||
by the binutils built earlier in this chapter, rather than
|
||||
the cross-built version which would otherwise be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -86,7 +86,7 @@ cd build</userinput></screen>
|
||||
<term><parameter>--with-system-zlib</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch tells GCC to link to the system installed copy of
|
||||
the Zlib library, rather than its own internal copy.</para>
|
||||
the zlib library, rather than its own internal copy.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@ -100,8 +100,8 @@ cd build</userinput></screen>
|
||||
critical. Do not skip it under any circumstance.</para>
|
||||
</important>
|
||||
|
||||
<para>One set of tests in the GCC test suite is known to exhaust the stack,
|
||||
so increase the stack size prior to running the tests:</para>
|
||||
<para>One set of tests in the GCC test suite is known to exhaust the default
|
||||
stack, so increase the stack size prior to running the tests:</para>
|
||||
|
||||
<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
|
||||
|
||||
@ -175,7 +175,7 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
||||
|
||||
<para>Now that our final toolchain is in place, it is important to again ensure
|
||||
that compiling and linking will work as expected. We do this by performing
|
||||
the same sanity checks as we did earlier in the chapter:</para>
|
||||
some sanity checks:</para>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="adjusting.xml"
|
||||
@ -205,8 +205,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
|
||||
|
||||
<para>Depending on your machine architecture, the above may differ slightly,
|
||||
the difference usually being the name of the directory
|
||||
<para>Depending on your machine architecture, the above may differ slightly.
|
||||
The difference will be the name of the directory
|
||||
after <filename class="directory">/usr/lib/gcc</filename>. The important
|
||||
thing to look for here is that <command>gcc</command> has found all three
|
||||
<filename>crt*.o</filename> files under the
|
||||
@ -228,16 +228,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
|
||||
/usr/include</computeroutput></screen>
|
||||
|
||||
<para>Again, note that the directory named after your target triplet may be
|
||||
different than the above, depending on your architecture.</para>
|
||||
|
||||
<!-- This appears to be obsolete
|
||||
|
||||
<note><para>As of version 4.3.0, GCC now unconditionally installs the
|
||||
<filename>limits.h</filename> file into the private
|
||||
<filename class="directory">include-fixed</filename> directory, and that
|
||||
directory is required to be in place.</para></note>
|
||||
-->
|
||||
<para>Again, the directory named after your target triplet may be
|
||||
different than the above, depending on your system architecture.</para>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="adjusting.xml"
|
||||
|
@ -24,7 +24,7 @@
|
||||
<title/>
|
||||
|
||||
<para>The GDBM package contains the GNU Database Manager. It is a library
|
||||
of database functions that use extensible hashing and work similar to the
|
||||
of database functions that use extensible hashing and works similar to the
|
||||
standard UNIX dbm. The library provides primitives for storing key/data
|
||||
pairs, searching and retrieving the data by its key and deleting a key
|
||||
along with its data. </para>
|
||||
@ -60,8 +60,8 @@
|
||||
<varlistentry>
|
||||
<term><envar>--enable-libgdbm-compat</envar></term>
|
||||
<listitem>
|
||||
<para>This switch enables the libgdbm compatibility library to be
|
||||
built, as some packages outside of LFS may require the older DBM
|
||||
<para>This switch enables building the libgdbm compatibility library.
|
||||
Some packages outside of LFS may require the older DBM
|
||||
routines it provides.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -43,31 +43,6 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Gettext</title>
|
||||
|
||||
<!-- This has been fixed in upstream gnulib, when a new version of
|
||||
gettext is released, please check #4055 to see if the change has been
|
||||
picked up in this package
|
||||
|
||||
As of April 11, 2018, 'TESTS = test-lock' is in gettext-runtime/tests/Makefile.am
|
||||
Perhaps the test is fixed.
|
||||
|
||||
There is no reference to 'test' or TEST in gettext-tools/gnulib-tests/Makefile.am
|
||||
-->
|
||||
<!--
|
||||
<para>First, suppress two invocations of test-lock which on some machines
|
||||
can loop forever:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in &&
|
||||
sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinput></screen>-->
|
||||
|
||||
<!-- As of April 11, 2018 appdata.* is NOT in git master, but appears
|
||||
to be in metainfo.{its,loc}, When updating, check BLFS gnome-screenshot. -->
|
||||
|
||||
<!--
|
||||
<para>Now fix a configuration file:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \
|
||||
-i gettext-tools/its/appdata.loc</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Gettext for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
@ -76,8 +51,9 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>
|
||||
|
||||
<!--<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>-->
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameter:</title>
|
||||
|
||||
@ -92,7 +68,7 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
-->
|
||||
<para>To test the results (this takes a long time, around 3 SBUs),
|
||||
issue:</para>
|
||||
|
||||
|
@ -49,34 +49,7 @@
|
||||
store their runtime data in the FHS-compliant locations:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
|
||||
<!--
|
||||
<para>Fix a minor security issue with glob functions:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-glob-patch;</userinput></screen>
|
||||
-->
|
||||
<!-- No longer needed
|
||||
<para>Fix a problem introduced with the linux-5.2 kernel:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/asm.socket.h/a# include <linux/sockios.h>' \
|
||||
sysdeps/unix/sysv/linux/bits/socket.h</userinput></screen>
|
||||
=== already done ===
|
||||
<para>Create a symlink for LSB
|
||||
compliance. Additionally, for x86_64, create a compatibility symlink
|
||||
required for the dynamic loader to function correctly:</para>
|
||||
|
||||
<screen><userinput remap="pre">case $(uname -m) in
|
||||
i?86) ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
|
||||
;;
|
||||
x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
|
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
|
||||
;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para>Remove a file that may be left over from a previous build attempt:
|
||||
</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -f /usr/include/limits.h</userinput></screen>
|
||||
-->
|
||||
<para>The Glibc documentation recommends building Glibc
|
||||
in a dedicated build directory:</para>
|
||||
|
||||
@ -94,7 +67,7 @@ cd build</userinput></screen>
|
||||
<!-- WIP -->
|
||||
<variablelist>
|
||||
<title>The meaning of the options and new configure parameters:</title>
|
||||
|
||||
<!--
|
||||
<varlistentry>
|
||||
<term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
|
||||
<listitem>
|
||||
@ -106,7 +79,7 @@ cd build</userinput></screen>
|
||||
symbols.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
-->
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-werror</parameter></term>
|
||||
<listitem>
|
||||
@ -176,7 +149,7 @@ esac</userinput></screen>
|
||||
<para><emphasis>misc/tst-ttyname</emphasis>
|
||||
is known to fail in the LFS chroot environment.</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
<listitem>
|
||||
<para><emphasis>inet/tst-idna_name_classify</emphasis>
|
||||
is known to fail in the LFS chroot environment.</para>
|
||||
@ -187,7 +160,7 @@ esac</userinput></screen>
|
||||
<emphasis>posix/tst-getaddrinfo5</emphasis>
|
||||
may fail on some architectures.</para>
|
||||
</listitem>
|
||||
|
||||
-->
|
||||
<listitem>
|
||||
<para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis>
|
||||
test may fail for reasons that have not been determined.</para>
|
||||
@ -206,18 +179,7 @@ esac</userinput></screen>
|
||||
systems where the CPU is not a relatively new Intel or
|
||||
AMD processor.</para>
|
||||
</listitem>
|
||||
<!--
|
||||
<listitem>
|
||||
<para>The
|
||||
<emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
|
||||
tests may fail for reasons that have not been determined. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Other tests known to fail on some architectures are
|
||||
malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
|
||||
</listitem>
|
||||
-->
|
||||
</itemizedlist>
|
||||
|
||||
<para>Though it is a harmless message, the install stage of Glibc will
|
||||
@ -382,7 +344,7 @@ unset ZONEINFO</userinput></screen>
|
||||
<varlistentry>
|
||||
<term><parameter>zic -L /dev/null ...</parameter></term>
|
||||
<listitem>
|
||||
<para>This creates posix time zones, without any leap seconds. It is
|
||||
<para>This creates posix time zones without any leap seconds. It is
|
||||
conventional to put these in both
|
||||
<filename class="directory">zoneinfo</filename> and
|
||||
<filename class="directory">zoneinfo/posix</filename>. It is
|
||||
@ -390,7 +352,7 @@ unset ZONEINFO</userinput></screen>
|
||||
<filename class="directory">zoneinfo</filename>, otherwise various
|
||||
test-suites will report errors. On an embedded system, where space is
|
||||
tight and you do not intend to ever update the time zones, you could save
|
||||
1.9MB by not using the <filename class="directory">posix</filename>
|
||||
1.9 MB by not using the <filename class="directory">posix</filename>
|
||||
directory, but some applications or test-suites might produce some
|
||||
failures.</para>
|
||||
</listitem>
|
||||
|
@ -53,9 +53,6 @@
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Two tests are known to fail in the LFS environment:
|
||||
help-version and zmore.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
@ -45,6 +45,10 @@
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen>
|
||||
|
||||
<note><para>The above regular expression looks unusual because of all the
|
||||
baxkslashes. What it does is add a backslash before the right brace
|
||||
character in the sequence '\${' resulting in '\$\{'.</para></note>
|
||||
|
||||
<para>Prepare Intltool for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
@ -10,9 +10,8 @@
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>In this chapter, we enter the building site and start constructing the
|
||||
LFS system in earnest. That is, we chroot into the temporary mini Linux system,
|
||||
make a few final preparations, and then begin installing the packages.</para>
|
||||
<para>In this chapter, we start constructing the LFS system in earnest.
|
||||
</para>
|
||||
|
||||
<para>The installation of this software is straightforward. Although in many
|
||||
cases the installation instructions could be made shorter and more generic,
|
||||
@ -41,25 +40,26 @@
|
||||
contains, approximately how long it will take to build, and how much disk
|
||||
space is required during this building process. Following the installation
|
||||
instructions, there is a list of programs and libraries (along with brief
|
||||
descriptions of these) that the package installs.</para>
|
||||
descriptions) that the package installs.</para>
|
||||
|
||||
<note><para>The SBU values and required disk space includes
|
||||
test suite data for all applicable packages in
|
||||
<xref linkend="chapter-building-system"/>.</para></note>
|
||||
<note><para>The SBU values and required disk space includes test suite data
|
||||
for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
|
||||
values have been calculated using a single CPU core (-j1) for all
|
||||
operations.</para></note>
|
||||
|
||||
<sect2>
|
||||
<title>About libraries</title>
|
||||
|
||||
<para>In general, the LFS editors discourage building and installing static
|
||||
libraries. The original purpose for most static libraries has been made
|
||||
obsolete in a modern Linux system. In addition linking a static library
|
||||
obsolete in a modern Linux system. In addition, linking a static library
|
||||
into a program can be detrimental. If an update to the library is needed
|
||||
to remove a security problem, all programs that use the static library will
|
||||
need to be relinked to the new library. Since the use of static libraries
|
||||
is not always obvious, the relevant programs (and the procedures needed to
|
||||
do the linking) may not even be known.</para>
|
||||
|
||||
<para>In the procedures in Chapter 6, we remove or disable installation of
|
||||
<para>In the procedures in this chapter, we remove or disable installation of
|
||||
most static libraries. Usually this is done by passing a
|
||||
<option>--disable-static</option> option to <command>configure</command>.
|
||||
In other cases, alternate means are needed. In a few cases, especially
|
||||
|
@ -47,14 +47,14 @@
|
||||
be installed. Prevent this by running the commands below.
|
||||
If the <command>arpd</command> binary is needed,
|
||||
instructions for compiling Berkeley DB can be found in the BLFS Book at
|
||||
<ulink url="&blfs-book;server/databases.html#db"/>.
|
||||
<ulink url="&blfs-book;server/db.html"/>.
|
||||
</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i /ARPD/d Makefile
|
||||
rm -fv man/man8/arpd.8</userinput></screen>
|
||||
|
||||
<para>It is also necessary to disable building two modules that
|
||||
requires <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
|
||||
require <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen>
|
||||
|
||||
|
@ -41,21 +41,21 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Kbd</title>
|
||||
|
||||
<para>The behaviour of the Backspace and Delete keys is not consistent
|
||||
<para>The behaviour of the backspace and delete keys is not consistent
|
||||
across the keymaps in the Kbd package. The following patch fixes this
|
||||
issue for i386 keymaps:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
|
||||
|
||||
<para>After patching, the Backspace key generates the character with code 127,
|
||||
and the Delete key generates a well-known escape sequence.</para>
|
||||
<para>After patching, the backspace key generates the character with code 127,
|
||||
and the delete key generates a well-known escape sequence.</para>
|
||||
|
||||
<para>Remove the redundant <command>resizecons</command> program (it requires
|
||||
the defunct svgalib to provide the video mode files - for normal use
|
||||
<command>setfont</command> sizes the console appropriately) together with its
|
||||
manpage.</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
|
||||
<screen><userinput remap="pre">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
|
||||
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
||||
|
||||
<para>Prepare Kbd for compilation:</para>
|
||||
@ -63,12 +63,12 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-vlock</parameter></term>
|
||||
<listitem>
|
||||
<para>This option prevents the vlock utility from being built, as it
|
||||
<para>This option prevents the vlock utility from being built because it
|
||||
requires the PAM library, which isn't available in the chroot
|
||||
environment.</para>
|
||||
</listitem>
|
||||
@ -97,7 +97,7 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
||||
|
||||
<para>If desired, install the documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version;
|
||||
<screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version;
|
||||
cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
@ -78,12 +78,7 @@
|
||||
LFS chroot environment. At a minimum the git program is required and
|
||||
several tests will not run outside of a git repository. </para>
|
||||
|
||||
<!--
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
-->
|
||||
<para>Install the package, and create symlinks for
|
||||
<para>Install the package and create symlinks for
|
||||
compatibility with Module-Init-Tools (the package that previously handled
|
||||
Linux kernel modules):</para>
|
||||
|
||||
|
@ -49,18 +49,7 @@
|
||||
If this is not done, all applications that link to libffi will trigger
|
||||
Illegal Operation Errors.</para>
|
||||
</note>
|
||||
<!--
|
||||
<para>Modify the Makefile to install headers into the standard
|
||||
<filename class="directory">/usr/include</filename> directory instead of
|
||||
<filename class="directory">/usr/lib/libffi-&libffi-version;/include</filename>.</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
|
||||
-i include/Makefile.in
|
||||
|
||||
sed -e '/^includedir/ s/=.*$/=@includedir@/' \
|
||||
-e 's/^Cflags: -I${includedir}/Cflags:/' \
|
||||
-i libffi.pc.in</userinput></screen>
|
||||
-->
|
||||
<para>Prepare libffi for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen>
|
||||
@ -92,8 +81,6 @@ sed -e '/^includedir/ s/=.*$/=@includedir@/' \
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Six tests, all related to test-callback.c, are known to fail.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
@ -40,7 +40,7 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of M4</title>
|
||||
|
||||
<para>First, make some fixes required by glibc-2.28:</para>
|
||||
<para>First, make some fixes required by glibc-2.28 and later:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
||||
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
|
||||
@ -84,13 +84,13 @@ echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
|
||||
<term><command>m4 </command></term>
|
||||
<listitem>
|
||||
<para>Copies the given files while expanding the macros that they
|
||||
contain [These macros are either built-in or user-defined and can
|
||||
contain. These macros are either built-in or user-defined and can
|
||||
take any number of arguments. Besides performing macro expansion,
|
||||
<command>m4</command> has built-in functions for including named
|
||||
files, running Unix commands, performing integer arithmetic,
|
||||
manipulating text, recursion, etc. The <command>m4</command> program
|
||||
can be used either as a front-end to a compiler or as a macro processor
|
||||
in its own right.]</para>
|
||||
in its own right.</para>
|
||||
<indexterm zone="ch-system-m4 m4">
|
||||
<primary sortas="b-m4">m4</primary>
|
||||
</indexterm>
|
||||
|
@ -53,9 +53,7 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>The test suite needs to know where supporting perl files are located.
|
||||
We use an environment variable to accomplish this. To test the
|
||||
results, issue:</para>
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
|
@ -126,21 +126,10 @@
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>One test, man-missing-locales, is known to fail in the LFS chroot envirnment.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
<!--
|
||||
<para revision="sysv">Remove an unwanted directory used for service files
|
||||
which would cause some BLFS packages to also install files there: </para>
|
||||
|
||||
<screen revision="sysv"><userinput remap="install">rm -rfv /lib/systemd</userinput></screen>
|
||||
|
||||
<para revision="systemd">Remove a reference to a non-existent user:</para>
|
||||
|
||||
<screen revision="systemd"><userinput remap="install">sed -i "s:man man:root root:g" /usr/lib/tmpfiles.d/man-db.conf</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
|
@ -23,8 +23,8 @@
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>Meson is an open source build system meant to be both extremely fast,
|
||||
and, even more importantly, as user friendly as possible.</para>
|
||||
<para>Meson is an open source build system meant to be both extremely fast
|
||||
and as user friendly as possible.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -39,11 +39,7 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Meson</title>
|
||||
<!--
|
||||
<para>Apply a fix from upstream to fix a regression:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i "s@isfile(a)@& and not a.startswith('/dev')@" mesonbuild/interpreter.py</userinput></screen>
|
||||
-->
|
||||
<para>Compile Meson with the following command:</para>
|
||||
|
||||
<screen><userinput remap="make">python3 setup.py build</userinput></screen>
|
||||
@ -64,8 +60,8 @@ cp -rv dest/* /</userinput></screen>
|
||||
<para>By default <command>python3 setup.py install</command>
|
||||
installs various files (such as man pages) into Python Eggs.
|
||||
With a specified root location, <command>setup.py</command> installs
|
||||
these files into a standard hierarchy. Then we can just copy
|
||||
the hierarchy so the files will be in the standard location.
|
||||
these files into a standard hierarchy. Then the hierarchy
|
||||
can just be copied to the standard location.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
<para>The OpenSSL package contains management tools and libraries relating
|
||||
to cryptography. These are useful for providing cryptographic functions
|
||||
to other packages, such as OpenSSH, email applications and web browsers
|
||||
to other packages, such as OpenSSH, email applications, and web browsers
|
||||
(for accessing HTTPS sites). </para>
|
||||
|
||||
<segmentedlist>
|
||||
@ -42,12 +42,7 @@
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of OpenSSL</title>
|
||||
<!--
|
||||
<para>First, fix a problem identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n memset(\&data, 0, sizeof(data));/' \
|
||||
crypto/rand/rand_lib.c</userinput></screen>
|
||||
-->
|
||||
<para>Prepare OpenSSL for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./config --prefix=/usr \
|
||||
|
@ -79,10 +79,10 @@
|
||||
<varlistentry id="patch">
|
||||
<term><command>patch</command></term>
|
||||
<listitem>
|
||||
<para>Modifies files according to a patch file [A patch file is
|
||||
<para>Modifies files according to a patch file (A patch file is
|
||||
normally a difference listing created with the <command>diff</command>
|
||||
program. By applying these differences to the original files,
|
||||
<command>patch</command> creates the patched versions.]</para>
|
||||
<command>patch</command> creates the patched versions.)</para>
|
||||
<indexterm zone="ch-system-patch patch">
|
||||
<primary sortas="b-patch">patch</primary>
|
||||
</indexterm>
|
||||
|
@ -23,9 +23,9 @@
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para> The pkg-config package contains a tool for passing the include path
|
||||
and/or library paths to build tools during the configure and make file
|
||||
execution.</para>
|
||||
<para>The pkg-config package contains a tool for passing the include path
|
||||
and/or library paths to build tools during the configure and make phases
|
||||
of package installations.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
|
@ -45,36 +45,33 @@
|
||||
<title>Upgrade Issues</title>
|
||||
|
||||
<para>A Package Manager makes it easy to upgrade to newer versions when they
|
||||
are released. Generally the instructions in the LFS and BLFS Book can be
|
||||
are released. Generally the instructions in the LFS and BLFS books can be
|
||||
used to upgrade to the newer versions. Here are some points that you should
|
||||
be aware of when upgrading packages, especially on a running system.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>If Glibc needs to be upgraded to a newer version, (e.g. from
|
||||
glibc-2.19 to glibc-2.20), it is safer to rebuild LFS. Though you
|
||||
glibc-2.31 to glibc-2.32), it is safer to rebuild LFS. Though you
|
||||
<emphasis>may</emphasis> be able to rebuild all the packages in their
|
||||
dependency order, we do not recommend it. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>If a package containing a shared library is updated, and if the
|
||||
name of the library changes, then all the packages dynamically linked
|
||||
to the library need to be recompiled to link against the newer library.
|
||||
(Note that there is no correlation between the package version and the
|
||||
name of the library.) For example, consider a package foo-1.2.3 that
|
||||
installs a shared library with name
|
||||
<filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade
|
||||
the package to a newer version foo-1.2.4 that installs a shared library
|
||||
with name <filename class='libraryfile'>libfoo.so.2</filename>. In this
|
||||
case, all packages that are dynamically linked to
|
||||
<filename class='libraryfile'>libfoo.so.1</filename> need to be
|
||||
recompiled to link against
|
||||
<filename class='libraryfile'>libfoo.so.2</filename>. Note that you
|
||||
should not remove the previous libraries until the dependent packages
|
||||
are recompiled.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<listitem> <para>If a package containing a shared library is updated, and
|
||||
if the name of the library changes, then any the packages dynamically
|
||||
linked to the library need to be recompiled in order to link against the
|
||||
newer library. (Note that there is no correlation between the package
|
||||
version and the name of the library.) For example, consider a package
|
||||
foo-1.2.3 that installs a shared library with name <filename
|
||||
class='libraryfile'>libfoo.so.1</filename>. If you upgrade the package to
|
||||
a newer version foo-1.2.4 that installs a shared library with name
|
||||
<filename class='libraryfile'>libfoo.so.2</filename>. In this case, any
|
||||
packages that are dynamically linked to <filename
|
||||
class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link
|
||||
against <filename class='libraryfile'>libfoo.so.2</filename> in order to
|
||||
use the new library version. You should not remove the previous
|
||||
libraries unless all the dependent packages are recompiled.</para>
|
||||
</listitem> </itemizedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
--with-systemd</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-kill</parameter></term>
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
<para>The Python 3 package contains the Python development environment. It
|
||||
is useful for object-oriented programming, writing scripts, prototyping
|
||||
large programs or developing entire applications.</para>
|
||||
large programs, or developing entire applications.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -84,7 +84,7 @@
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue <command>make test</command>.
|
||||
Some tests requiring network connection or additional packages are
|
||||
Some tests requiring a network connection or additional packages are
|
||||
skipped. The test named test_normalization fails because network
|
||||
configuration is not completed yet. For more comprehensive results,
|
||||
the test can be rerun when Python 3 is reinstalled in BLFS.</para>
|
||||
@ -170,8 +170,8 @@ tar --strip-components=1 \
|
||||
<para>
|
||||
is a <application>Python</application> program that reads
|
||||
<application>Python 2.x</application> source code and applies a
|
||||
series of fixes to transform it into valid
|
||||
<application>Python 3.x</application> code.
|
||||
series of fixes to transform it into
|
||||
valid <application>Python 3.x</application> code.
|
||||
</para>
|
||||
<indexterm zone="ch-system-Python">
|
||||
<primary sortas="b-2to3">2to3</primary>
|
||||
@ -231,20 +231,7 @@ tar --strip-components=1 \
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<!--
|
||||
<varlistentry id="pyvenv">
|
||||
<term><command>pyvenv</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
creates virtual <application>Python</application> environments in
|
||||
one or more target directories.
|
||||
</para>
|
||||
<indexterm zone="ch-system-Python">
|
||||
<primary sortas="b-pyvenv">pyvenv</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
@ -67,13 +67,15 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
||||
for user mailboxes that Shadow uses by default to the <filename
|
||||
class="directory">/var/mail</filename> location used currently:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
|
||||
-e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen>
|
||||
<screen><userinput remap="pre">
|
||||
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
|
||||
-e 's:/var/spool/mail:/var/mail:' \
|
||||
-i etc/login.defs</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>If you chose to build Shadow with Cracklib support, run the following:</para>
|
||||
|
||||
<screen role="nodump"><userinput>sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs</userinput></screen>
|
||||
<screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen>
|
||||
</note>
|
||||
|
||||
<para>Make a minor change to make the first group number generated
|
||||
@ -84,7 +86,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
||||
<para>Prepare Shadow for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">touch /usr/bin/passwd
|
||||
./configure --sysconfdir=/etc \
|
||||
./configure --sysconfdir=/etc \
|
||||
--with-group-name-max-length=32</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Sysklogd package contains programs for logging system messages,
|
||||
<para>The sysklogd package contains programs for logging system messages,
|
||||
such as those given by the kernel when unusual things happen.</para>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -23,8 +23,8 @@
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Tar package provides the ability to create tar archives, as well
|
||||
as various other kinds of manipulation. Tar can be used on
|
||||
<para>The Tar package provides the ability to create tar archives as well
|
||||
as perform various other kinds of archive manipulation. Tar can be used on
|
||||
previously created archives to extract files, to store additional files, or
|
||||
to update or list files which were already stored. </para>
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
--bindir=/bin</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>
|
||||
|
@ -46,7 +46,7 @@
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-static</parameter></term>
|
||||
@ -101,10 +101,10 @@
|
||||
recreated, the following optional commands will accomplish the task:</para>
|
||||
|
||||
<screen role="nodump"><userinput>pushd /usr/share/info
|
||||
rm -v dir
|
||||
for f in *
|
||||
do install-info $f dir 2>/dev/null
|
||||
done
|
||||
rm -v dir
|
||||
for f in *
|
||||
do install-info $f dir 2>/dev/null
|
||||
done
|
||||
popd</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
@ -90,7 +90,7 @@
|
||||
|
||||
<warning><para>Running the test suite as the root user can be harmful to
|
||||
your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must
|
||||
be available in the currently running system, and must be built as a
|
||||
be available in the currently running system and must be built as a
|
||||
module. Building it into the kernel will prevent booting. For complete
|
||||
coverage, other BLFS packages must be installed. If desired, this test can
|
||||
be run after rebooting into the completed LFS system and running:</para>
|
||||
|
@ -54,11 +54,7 @@
|
||||
|
||||
<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h</userinput></screen>
|
||||
|
||||
<!-- <para>Disable a test that fails:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/call/{s/split/xsplit/;s/303/492/}' src/testdir/test_recover.vim</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Vim for compilation:</para>
|
||||
<para>Prepare vim for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
@ -66,19 +62,17 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To prepare the tests, ensure that the
|
||||
<systemitem class="username">tester</systemitem> user can write
|
||||
to the sources tree:</para>
|
||||
<para>To prepare the tests, ensure that user
|
||||
<systemitem class="username">tester</systemitem> can write
|
||||
to the source tree:</para>
|
||||
|
||||
<screen><userinput remap="test">chown -Rv tester .</userinput></screen>
|
||||
|
||||
<para>Now run the tests as the <systemitem
|
||||
class="username">tester</systemitem> user:</para>
|
||||
<para>Now run the tests as user <systemitem
|
||||
class="username">tester</systemitem>:</para>
|
||||
|
||||
<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen>
|
||||
|
||||
<!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &> vim-test.log</userinput></screen>-->
|
||||
|
||||
<para>The test suite outputs a lot of binary data to the screen. This can
|
||||
cause issues with the settings of the current terminal. The problem can be
|
||||
avoided by redirecting the output to a log file as shown above. A
|
||||
@ -100,7 +94,7 @@ for L in /usr/share/man/{,*/}man1/vim.1; do
|
||||
ln -sv vim.1 $(dirname $L)/vi.1
|
||||
done</userinput></screen>
|
||||
|
||||
<para>By default, Vim's documentation is installed in <filename
|
||||
<para>By default, vim's documentation is installed in <filename
|
||||
class="directory">/usr/share/vim</filename>. The following symlink
|
||||
allows the documentation to be accessed via <filename
|
||||
class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
|
||||
@ -109,10 +103,10 @@ done</userinput></screen>
|
||||
<screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
|
||||
|
||||
<para>If an X Window System is going to be installed on the LFS
|
||||
system, it may be necessary to recompile Vim after installing X. Vim
|
||||
system, it may be necessary to recompile vim after installing X. Vim
|
||||
comes with a GUI version of the editor that requires X and some
|
||||
additional libraries to be installed. For more information on this
|
||||
process, refer to the Vim documentation and the Vim installation page
|
||||
process, refer to the vim documentation and the vim installation page
|
||||
in the BLFS book at <ulink
|
||||
url="&blfs-book;postlfs/vim.html"/>.</para>
|
||||
|
||||
@ -157,7 +151,7 @@ EOF</userinput></screen>
|
||||
vi-compatible manner. Remove the <quote>no</quote> to keep the old
|
||||
<command>vi</command> behavior. The <parameter>set backspace=2</parameter>
|
||||
setting allows backspacing over line breaks, autoindents, and the start of
|
||||
insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
|
||||
an insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
|
||||
highlighting. The <parameter>set mouse=</parameter> setting enables
|
||||
proper pasting of text with the mouse when working in chroot or over a
|
||||
remote connection. Finally, the <emphasis>if</emphasis> statement with the
|
||||
@ -165,18 +159,14 @@ EOF</userinput></screen>
|
||||
<command>vim</command>'s guess about the background color of some terminal
|
||||
emulators. This gives the highlighting a better color scheme for use on the
|
||||
black background of these programs.</para>
|
||||
<!--
|
||||
<para>Creating an empty <filename>~/.vimrc</filename> prevents vim from
|
||||
overriding settings in <filename>/etc/vimrc</filename> by using
|
||||
<filename>/usr/share/vim/vim80/defaults.vim</filename>.</para>
|
||||
-->
|
||||
|
||||
<para>Documentation for other available options can be obtained by
|
||||
running the following command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>By default, Vim only installs spell files for the English language.
|
||||
<para>By default, vim only installs spell files for the English language.
|
||||
To install spell files for your preferred language, download the
|
||||
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
||||
files for your language and character encoding from <ulink
|
||||
|
@ -432,6 +432,12 @@ div.materials dd {
|
||||
|
||||
.segtitle {
|
||||
float: left;
|
||||
padding-left: 1em;
|
||||
width: 14em;
|
||||
}
|
||||
|
||||
.content .segtitle {
|
||||
width: 12em;
|
||||
}
|
||||
|
||||
.package .segbody, .appendix .segbody {
|
||||
@ -441,9 +447,19 @@ div.materials dd {
|
||||
|
||||
.content .segbody {
|
||||
display: block;
|
||||
padding-left: 12em;
|
||||
padding-left: 13em;
|
||||
}
|
||||
|
||||
.content table tr td:first-child
|
||||
{
|
||||
width: 9em;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.content table tr td:first-child p
|
||||
{
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
/* itemizedlist */
|
||||
ul {
|
||||
|
Loading…
Reference in New Issue
Block a user