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:
Bruce Dubbs 2020-06-12 04:40:07 +00:00
parent ea7ec72fba
commit 6a156bab1b
38 changed files with 166 additions and 287 deletions

View File

@ -157,7 +157,7 @@ cd build</userinput></screen>
<para>Install the package:</para> <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 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 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 unusable. So double check that the environment is correctly set for user

View File

@ -13,8 +13,8 @@
<para>Most programs and libraries are, by default, compiled with <para>Most programs and libraries are, by default, compiled with
debugging symbols included (with <command>gcc</command>'s debugging symbols included (with <command>gcc</command>'s
<parameter>-g</parameter> option). This means that when debugging a <parameter>-g</parameter> option). This means that when debugging a
program or library that was compiled with debugging information program or library that was compiled with debugging information,
included, the debugger can provide not only memory addresses, but also the debugger can provide not only memory addresses, but also
the names of the routines and variables.</para> the names of the routines and variables.</para>
<para>However, the inclusion of these debugging symbols enlarges a <para>However, the inclusion of these debugging symbols enlarges a

View File

@ -50,7 +50,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
<para os="b">There should be no errors, <para os="b">There should be no errors,
and the output of the last command will be (allowing for 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> <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> <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> <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 <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 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 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 reason is that something went wrong with the specs file adjustment.--> Any
issues will need to be resolved before continuing with the process.</para> 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> <para os="u">Once everything is working correctly, clean up the test files:</para>

View File

@ -43,15 +43,13 @@
<para>Prepare Attr for compilation:</para> <para>Prepare Attr for compilation:</para>
<screen revision="sysv"><userinput remap="configure"> <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
./configure --prefix=/usr \
--bindir=/bin \ --bindir=/bin \
--disable-static \ --disable-static \
--sysconfdir=/etc \ --sysconfdir=/etc \
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen> --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
<screen revision="systemd"><userinput remap="configure"> <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
./configure --prefix=/usr \
--disable-static \ --disable-static \
--sysconfdir=/etc \ --sysconfdir=/etc \
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen> --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>

View File

@ -43,7 +43,7 @@
<para>First, fix a bug generated by Perl 5.28.</para> <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> <para>Prepare Autoconf for compilation:</para>

View File

@ -83,14 +83,7 @@
<screen><userinput remap="test">su tester &lt;&lt; EOF <screen><userinput remap="test">su tester &lt;&lt; EOF
PATH=$PATH make tests &lt; $(tty) PATH=$PATH make tests &lt; $(tty)
EOF</userinput></screen> 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 <para>Install the package and move the main executable to
<filename class='directory'>/bin</filename>:</para> <filename class='directory'>/bin</filename>:</para>
@ -104,7 +97,7 @@ mv -vf /usr/bin/bash /bin</userinput></screen>
<note> <note>
<para>The parameters used make the <command>bash</command> <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> that new programs are found as they become available.</para>
</note> </note>

View File

@ -111,9 +111,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen> <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 <para>We're going to run the remainder of the tests as the
<systemitem class="username">tester</systemitem> user. Certain tests, <systemitem class="username">tester</systemitem> user. Certain tests
however, require that the user be a member of more than one group. So that 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 these tests are not skipped, add a temporary group and make the
user <systemitem class="username">tester</systemitem> a part of it:</para> user <systemitem class="username">tester</systemitem> a part of it:</para>
<screen><userinput remap="test">echo "dummy:x:102:tester" &gt;&gt; /etc/group</userinput></screen> <screen><userinput remap="test">echo "dummy:x:102:tester" &gt;&gt; /etc/group</userinput></screen>
@ -126,12 +126,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<para>Now run the tests:</para> <para>Now run the tests:</para>
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> <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> <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/{rmdir,stty,sync,true,uname} /bin
mv -v /usr/bin/chroot /usr/sbin mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 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 <para revision="sysv">Some of the scripts in the LFS-Bootscripts package
depend on <command>head</command>, <command>nice</command>, 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"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?> <?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"> <varlistentry id="base32">
<term><command>base32</command></term> <term><command>base32</command></term>
<listitem> <listitem>

View File

@ -23,7 +23,7 @@
<sect2 role="package"> <sect2 role="package">
<title/> <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 <systemitem class="filesystem">ext2</systemitem> file system. It also
supports the <systemitem class="filesystem">ext3</systemitem> and supports the <systemitem class="filesystem">ext3</systemitem> and
<systemitem class="filesystem">ext4</systemitem> journaling <systemitem class="filesystem">ext4</systemitem> journaling
@ -44,13 +44,13 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of E2fsprogs</title> <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> a subdirectory of the source tree: </para>
<screen><userinput remap="pre">mkdir -v build <screen><userinput remap="pre">mkdir -v build
cd build</userinput></screen> cd build</userinput></screen>
<para>Prepare E2fsprogs for compilation:</para> <para>Prepare e2fsprogs for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \ <screen><userinput remap="configure">../configure --prefix=/usr \
--bindir=/bin \ --bindir=/bin \
@ -62,7 +62,7 @@ cd build</userinput></screen>
--disable-fsck</userinput></screen> --disable-fsck</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the environment variable and configure options:</title> <title>The meaning of the configure options:</title>
<varlistentry> <varlistentry>
<term><parameter>--with-root-prefix=""</parameter> and <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 programs still need to be available. They belong in directories
like <filename class="directory">/lib</filename> and <filename like <filename class="directory">/lib</filename> and <filename
class="directory">/sbin</filename>. If this option is not passed 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> <filename class="directory">/usr</filename> directory.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -90,11 +90,11 @@ cd build</userinput></screen>
<varlistentry> <varlistentry>
<term><parameter>--disable-*</parameter></term> <term><parameter>--disable-*</parameter></term>
<listitem> <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">libuuid</systemitem> and
<systemitem class="library">libblkid</systemitem> libraries, the <systemitem class="library">libblkid</systemitem> libraries, the
<systemitem class="daemon">uuidd</systemitem> daemon, and 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> recent versions.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -109,7 +109,7 @@ cd build</userinput></screen>
<screen><userinput remap="test">make check</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 If you do not have significantly more RAM than this, be sure to enable
sufficient swap space for the test. See <xref sufficient swap space for the test. See <xref
linkend="ch-partitioning-creatingfilesystem"/> and <xref linkend="ch-partitioning-creatingfilesystem"/> and <xref

View File

@ -43,7 +43,7 @@
<para>First fix a problem with the regression tests in the LFS environment:</para> <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> <para>Prepare Expat for compilation:</para>

View File

@ -65,9 +65,9 @@ cd build</userinput></screen>
--disable-bootstrap \ --disable-bootstrap \
--with-system-zlib</userinput></screen> --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 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> for instructions on how to build all of GCC's supported languages.</para>
<variablelist> <variablelist>
@ -77,7 +77,7 @@ cd build</userinput></screen>
<term><parameter>LD=ld</parameter></term> <term><parameter>LD=ld</parameter></term>
<listitem> <listitem>
<para>This parameter makes the configure script use the ld installed <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> the cross-built version which would otherwise be used.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -86,7 +86,7 @@ cd build</userinput></screen>
<term><parameter>--with-system-zlib</parameter></term> <term><parameter>--with-system-zlib</parameter></term>
<listitem> <listitem>
<para>This switch tells GCC to link to the system installed copy of <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> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
@ -100,8 +100,8 @@ cd build</userinput></screen>
critical. Do not skip it under any circumstance.</para> critical. Do not skip it under any circumstance.</para>
</important> </important>
<para>One set of tests in the GCC test suite is known to exhaust the stack, <para>One set of tests in the GCC test suite is known to exhaust the default
so increase the stack size prior to running the tests:</para> stack, so increase the stack size prior to running the tests:</para>
<screen><userinput remap="test">ulimit -s 32768</userinput></screen> <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 <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 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" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="adjusting.xml" 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/crti.o succeeded
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> /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, <para>Depending on your machine architecture, the above may differ slightly.
the difference usually being the name of the directory The difference will be the name of the directory
after <filename class="directory">/usr/lib/gcc</filename>. The important after <filename class="directory">/usr/lib/gcc</filename>. The important
thing to look for here is that <command>gcc</command> has found all three thing to look for here is that <command>gcc</command> has found all three
<filename>crt*.o</filename> files under the <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/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
/usr/include</computeroutput></screen> /usr/include</computeroutput></screen>
<para>Again, note that the directory named after your target triplet may be <para>Again, the directory named after your target triplet may be
different than the above, depending on your architecture.</para> different than the above, depending on your system 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>
-->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="adjusting.xml" href="adjusting.xml"

View File

@ -24,7 +24,7 @@
<title/> <title/>
<para>The GDBM package contains the GNU Database Manager. It is a library <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 standard UNIX dbm. The library provides primitives for storing key/data
pairs, searching and retrieving the data by its key and deleting a key pairs, searching and retrieving the data by its key and deleting a key
along with its data. </para> along with its data. </para>
@ -60,8 +60,8 @@
<varlistentry> <varlistentry>
<term><envar>--enable-libgdbm-compat</envar></term> <term><envar>--enable-libgdbm-compat</envar></term>
<listitem> <listitem>
<para>This switch enables the libgdbm compatibility library to be <para>This switch enables building the libgdbm compatibility library.
built, as some packages outside of LFS may require the older DBM Some packages outside of LFS may require the older DBM
routines it provides.</para> routines it provides.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -43,31 +43,6 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Gettext</title> <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 &amp;&amp;
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> <para>Prepare Gettext for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <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> <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> <variablelist>
<title>The meaning of the make parameter:</title> <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> </varlistentry>
</variablelist> </variablelist>
-->
<para>To test the results (this takes a long time, around 3 SBUs), <para>To test the results (this takes a long time, around 3 SBUs),
issue:</para> issue:</para>

View File

@ -49,34 +49,7 @@
store their runtime data in the FHS-compliant locations:</para> store their runtime data in the FHS-compliant locations:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> <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 &lt;linux/sockios.h&gt;' \
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 <para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para> in a dedicated build directory:</para>
@ -94,7 +67,7 @@ cd build</userinput></screen>
<!-- WIP --> <!-- WIP -->
<variablelist> <variablelist>
<title>The meaning of the options and new configure parameters:</title> <title>The meaning of the options and new configure parameters:</title>
<!--
<varlistentry> <varlistentry>
<term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term> <term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
<listitem> <listitem>
@ -106,7 +79,7 @@ cd build</userinput></screen>
symbols.</para> symbols.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<varlistentry> <varlistentry>
<term><parameter>--disable-werror</parameter></term> <term><parameter>--disable-werror</parameter></term>
<listitem> <listitem>
@ -176,7 +149,7 @@ esac</userinput></screen>
<para><emphasis>misc/tst-ttyname</emphasis> <para><emphasis>misc/tst-ttyname</emphasis>
is known to fail in the LFS chroot environment.</para> is known to fail in the LFS chroot environment.</para>
</listitem> </listitem>
<!--
<listitem> <listitem>
<para><emphasis>inet/tst-idna_name_classify</emphasis> <para><emphasis>inet/tst-idna_name_classify</emphasis>
is known to fail in the LFS chroot environment.</para> is known to fail in the LFS chroot environment.</para>
@ -187,7 +160,7 @@ esac</userinput></screen>
<emphasis>posix/tst-getaddrinfo5</emphasis> <emphasis>posix/tst-getaddrinfo5</emphasis>
may fail on some architectures.</para> may fail on some architectures.</para>
</listitem> </listitem>
-->
<listitem> <listitem>
<para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis> <para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis>
test may fail for reasons that have not been determined.</para> 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 systems where the CPU is not a relatively new Intel or
AMD processor.</para> AMD processor.</para>
</listitem> </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> </itemizedlist>
<para>Though it is a harmless message, the install stage of Glibc will <para>Though it is a harmless message, the install stage of Glibc will
@ -382,7 +344,7 @@ unset ZONEINFO</userinput></screen>
<varlistentry> <varlistentry>
<term><parameter>zic -L /dev/null ...</parameter></term> <term><parameter>zic -L /dev/null ...</parameter></term>
<listitem> <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 conventional to put these in both
<filename class="directory">zoneinfo</filename> and <filename class="directory">zoneinfo</filename> and
<filename class="directory">zoneinfo/posix</filename>. It is <filename class="directory">zoneinfo/posix</filename>. It is

View File

@ -53,9 +53,6 @@
<screen><userinput remap="test">make check</userinput></screen> <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> <para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen> <screen><userinput remap="install">make install</userinput></screen>

View File

@ -45,6 +45,10 @@
<screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen> <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> <para>Prepare Intltool for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

View File

@ -10,9 +10,8 @@
<title>Introduction</title> <title>Introduction</title>
<para>In this chapter, we enter the building site and start constructing the <para>In this chapter, we start constructing the LFS system in earnest.
LFS system in earnest. That is, we chroot into the temporary mini Linux system, </para>
make a few final preparations, and then begin installing the packages.</para>
<para>The installation of this software is straightforward. Although in many <para>The installation of this software is straightforward. Although in many
cases the installation instructions could be made shorter and more generic, 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 contains, approximately how long it will take to build, and how much disk
space is required during this building process. Following the installation space is required during this building process. Following the installation
instructions, there is a list of programs and libraries (along with brief 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 <note><para>The SBU values and required disk space includes test suite data
test suite data for all applicable packages in for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
<xref linkend="chapter-building-system"/>.</para></note> values have been calculated using a single CPU core (-j1) for all
operations.</para></note>
<sect2> <sect2>
<title>About libraries</title> <title>About libraries</title>
<para>In general, the LFS editors discourage building and installing static <para>In general, the LFS editors discourage building and installing static
libraries. The original purpose for most static libraries has been made 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 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 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 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 is not always obvious, the relevant programs (and the procedures needed to
do the linking) may not even be known.</para> do the linking) may not even be known.</para>
<para>In the procedures in Chapter&nbsp;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 most static libraries. Usually this is done by passing a
<option>--disable-static</option> option to <command>configure</command>. <option>--disable-static</option> option to <command>configure</command>.
In other cases, alternate means are needed. In a few cases, especially In other cases, alternate means are needed. In a few cases, especially

View File

@ -47,14 +47,14 @@
be installed. Prevent this by running the commands below. be installed. Prevent this by running the commands below.
If the <command>arpd</command> binary is needed, If the <command>arpd</command> binary is needed,
instructions for compiling Berkeley DB can be found in the BLFS Book at 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> </para>
<screen><userinput remap="pre">sed -i /ARPD/d Makefile <screen><userinput remap="pre">sed -i /ARPD/d Makefile
rm -fv man/man8/arpd.8</userinput></screen> rm -fv man/man8/arpd.8</userinput></screen>
<para>It is also necessary to disable building two modules that <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> <screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen>

View File

@ -41,21 +41,21 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Kbd</title> <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 across the keymaps in the Kbd package. The following patch fixes this
issue for i386 keymaps:</para> issue for i386 keymaps:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
<para>After patching, the Backspace key generates the character with code 127, <para>After patching, the backspace key generates the character with code 127,
and the Delete key generates a well-known escape sequence.</para> and the delete key generates a well-known escape sequence.</para>
<para>Remove the redundant <command>resizecons</command> program (it requires <para>Remove the redundant <command>resizecons</command> program (it requires
the defunct svgalib to provide the video mode files - for normal use the defunct svgalib to provide the video mode files - for normal use
<command>setfont</command> sizes the console appropriately) together with its <command>setfont</command> sizes the console appropriately) together with its
manpage.</para> 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> sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
<para>Prepare Kbd for compilation:</para> <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> <screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure option:</title>
<varlistentry> <varlistentry>
<term><parameter>--disable-vlock</parameter></term> <term><parameter>--disable-vlock</parameter></term>
<listitem> <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 requires the PAM library, which isn't available in the chroot
environment.</para> environment.</para>
</listitem> </listitem>

View File

@ -78,12 +78,7 @@
LFS chroot environment. At a minimum the git program is required and LFS chroot environment. At a minimum the git program is required and
several tests will not run outside of a git repository. </para> several tests will not run outside of a git repository. </para>
<!-- <para>Install the package and create symlinks for
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
-->
<para>Install the package, and create symlinks for
compatibility with Module-Init-Tools (the package that previously handled compatibility with Module-Init-Tools (the package that previously handled
Linux kernel modules):</para> Linux kernel modules):</para>

View File

@ -49,18 +49,7 @@
If this is not done, all applications that link to libffi will trigger If this is not done, all applications that link to libffi will trigger
Illegal Operation Errors.</para> Illegal Operation Errors.</para>
</note> </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> <para>Prepare libffi for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen> <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> <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> <para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen> <screen><userinput remap="install">make install</userinput></screen>

View File

@ -40,7 +40,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of M4</title> <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 <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> 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> <term><command>m4 </command></term>
<listitem> <listitem>
<para>Copies the given files while expanding the macros that they <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, take any number of arguments. Besides performing macro expansion,
<command>m4</command> has built-in functions for including named <command>m4</command> has built-in functions for including named
files, running Unix commands, performing integer arithmetic, files, running Unix commands, performing integer arithmetic,
manipulating text, recursion, etc. The <command>m4</command> program 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 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"> <indexterm zone="ch-system-m4 m4">
<primary sortas="b-m4">m4</primary> <primary sortas="b-m4">m4</primary>
</indexterm> </indexterm>

View File

@ -53,9 +53,7 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>The test suite needs to know where supporting perl files are located. <para>To test the results, issue:</para>
We use an environment variable to accomplish this. To test the
results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make check</userinput></screen>

View File

@ -126,21 +126,10 @@
<screen><userinput remap="test">make check</userinput></screen> <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> <para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen> <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>
<sect2> <sect2>

View File

@ -23,8 +23,8 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>Meson is an open source build system meant to be both extremely fast, <para>Meson is an open source build system meant to be both extremely fast
and, even more importantly, as user friendly as possible.</para> and as user friendly as possible.</para>
<segmentedlist> <segmentedlist>
<segtitle>&buildtime;</segtitle> <segtitle>&buildtime;</segtitle>
@ -39,11 +39,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Meson</title> <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)@&amp; and not a.startswith('/dev')@" mesonbuild/interpreter.py</userinput></screen>
-->
<para>Compile Meson with the following command:</para> <para>Compile Meson with the following command:</para>
<screen><userinput remap="make">python3 setup.py build</userinput></screen> <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> <para>By default <command>python3 setup.py install</command>
installs various files (such as man pages) into Python Eggs. installs various files (such as man pages) into Python Eggs.
With a specified root location, <command>setup.py</command> installs With a specified root location, <command>setup.py</command> installs
these files into a standard hierarchy. Then we can just copy these files into a standard hierarchy. Then the hierarchy
the hierarchy so the files will be in the standard location. can just be copied to the standard location.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -25,7 +25,7 @@
<para>The OpenSSL package contains management tools and libraries relating <para>The OpenSSL package contains management tools and libraries relating
to cryptography. These are useful for providing cryptographic functions 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> (for accessing HTTPS sites). </para>
<segmentedlist> <segmentedlist>
@ -42,12 +42,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of OpenSSL</title> <title>Installation of OpenSSL</title>
<!--
<para>First, fix a problem identified upstream:</para>
<screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n memset(\&amp;data, 0, sizeof(data));/' \
crypto/rand/rand_lib.c</userinput></screen>
-->
<para>Prepare OpenSSL for compilation:</para> <para>Prepare OpenSSL for compilation:</para>
<screen><userinput remap="configure">./config --prefix=/usr \ <screen><userinput remap="configure">./config --prefix=/usr \

View File

@ -79,10 +79,10 @@
<varlistentry id="patch"> <varlistentry id="patch">
<term><command>patch</command></term> <term><command>patch</command></term>
<listitem> <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> normally a difference listing created with the <command>diff</command>
program. By applying these differences to the original files, 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"> <indexterm zone="ch-system-patch patch">
<primary sortas="b-patch">patch</primary> <primary sortas="b-patch">patch</primary>
</indexterm> </indexterm>

View File

@ -24,8 +24,8 @@
<title/> <title/>
<para>The pkg-config package contains a tool for passing the include path <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 and/or library paths to build tools during the configure and make phases
execution.</para> of package installations.</para>
<segmentedlist> <segmentedlist>
<segtitle>&buildtime;</segtitle> <segtitle>&buildtime;</segtitle>

View File

@ -45,36 +45,33 @@
<title>Upgrade Issues</title> <title>Upgrade Issues</title>
<para>A Package Manager makes it easy to upgrade to newer versions when they <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 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> be aware of when upgrading packages, especially on a running system.</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>If Glibc needs to be upgraded to a newer version, (e.g. from <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 <emphasis>may</emphasis> be able to rebuild all the packages in their
dependency order, we do not recommend it. </para> dependency order, we do not recommend it. </para>
</listitem> </listitem>
<listitem> <listitem> <para>If a package containing a shared library is updated, and
<para>If a package containing a shared library is updated, and if the if the name of the library changes, then any the packages dynamically
name of the library changes, then all the packages dynamically linked linked to the library need to be recompiled in order to link against the
to the library need to be recompiled to link against the newer library. newer library. (Note that there is no correlation between the package
(Note that there is no correlation between the package version and the version and the name of the library.) For example, consider a package
name of the library.) For example, consider a package foo-1.2.3 that foo-1.2.3 that installs a shared library with name <filename
installs a shared library with name class='libraryfile'>libfoo.so.1</filename>. If you upgrade the package to
<filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade a newer version foo-1.2.4 that installs a shared library with name
the package to a newer version foo-1.2.4 that installs a shared library <filename class='libraryfile'>libfoo.so.2</filename>. In this case, any
with name <filename class='libraryfile'>libfoo.so.2</filename>. In this packages that are dynamically linked to <filename
case, all packages that are dynamically linked to class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link
<filename class='libraryfile'>libfoo.so.1</filename> need to be against <filename class='libraryfile'>libfoo.so.2</filename> in order to
recompiled to link against use the new library version. You should not remove the previous
<filename class='libraryfile'>libfoo.so.2</filename>. Note that you libraries unless all the dependent packages are recompiled.</para>
should not remove the previous libraries until the dependent packages </listitem> </itemizedlist>
are recompiled.</para>
</listitem>
</itemizedlist>
</sect2> </sect2>

View File

@ -58,7 +58,7 @@
--with-systemd</userinput></screen> --with-systemd</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure option:</title>
<varlistentry> <varlistentry>
<term><parameter>--disable-kill</parameter></term> <term><parameter>--disable-kill</parameter></term>

View File

@ -25,7 +25,7 @@
<para>The Python 3 package contains the Python development environment. It <para>The Python 3 package contains the Python development environment. It
is useful for object-oriented programming, writing scripts, prototyping is useful for object-oriented programming, writing scripts, prototyping
large programs or developing entire applications.</para> large programs, or developing entire applications.</para>
<segmentedlist> <segmentedlist>
<segtitle>&buildtime;</segtitle> <segtitle>&buildtime;</segtitle>
@ -84,7 +84,7 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue <command>make test</command>. <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 skipped. The test named test_normalization fails because network
configuration is not completed yet. For more comprehensive results, configuration is not completed yet. For more comprehensive results,
the test can be rerun when Python 3 is reinstalled in BLFS.</para> the test can be rerun when Python 3 is reinstalled in BLFS.</para>
@ -170,8 +170,8 @@ tar --strip-components=1 \
<para> <para>
is a <application>Python</application> program that reads is a <application>Python</application> program that reads
<application>Python 2.x</application> source code and applies a <application>Python 2.x</application> source code and applies a
series of fixes to transform it into valid series of fixes to transform it into
<application>Python 3.x</application> code. valid <application>Python 3.x</application> code.
</para> </para>
<indexterm zone="ch-system-Python"> <indexterm zone="ch-system-Python">
<primary sortas="b-2to3">2to3</primary> <primary sortas="b-2to3">2to3</primary>
@ -231,20 +231,7 @@ tar --strip-components=1 \
</indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </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> </variablelist>
</sect2> </sect2>

View File

@ -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 for user mailboxes that Shadow uses by default to the <filename
class="directory">/var/mail</filename> location used currently:</para> class="directory">/var/mail</filename> location used currently:</para>
<screen><userinput remap="pre">sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \ <screen><userinput remap="pre">
-e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen> sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
-e 's:/var/spool/mail:/var/mail:' \
-i etc/login.defs</userinput></screen>
<note> <note>
<para>If you chose to build Shadow with Cracklib support, run the following:</para> <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> </note>
<para>Make a minor change to make the first group number generated <para>Make a minor change to make the first group number generated

View File

@ -23,7 +23,7 @@
<sect2 role="package"> <sect2 role="package">
<title/> <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> such as those given by the kernel when unusual things happen.</para>
<segmentedlist> <segmentedlist>

View File

@ -23,8 +23,8 @@
<sect2 role="package"> <sect2 role="package">
<title/> <title/>
<para>The Tar package provides the ability to create tar archives, as well <para>The Tar package provides the ability to create tar archives as well
as various other kinds of manipulation. Tar can be used on as perform various other kinds of archive manipulation. Tar can be used on
previously created archives to extract files, to store additional files, or previously created archives to extract files, to store additional files, or
to update or list files which were already stored. </para> to update or list files which were already stored. </para>
@ -50,7 +50,7 @@
--bindir=/bin</userinput></screen> --bindir=/bin</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure option:</title>
<varlistentry> <varlistentry>
<term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term> <term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>

View File

@ -46,7 +46,7 @@
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure option:</title>
<varlistentry> <varlistentry>
<term><parameter>--disable-static</parameter></term> <term><parameter>--disable-static</parameter></term>

View File

@ -90,7 +90,7 @@
<warning><para>Running the test suite as the root user can be harmful to <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 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 module. Building it into the kernel will prevent booting. For complete
coverage, other BLFS packages must be installed. If desired, this test can coverage, other BLFS packages must be installed. If desired, this test can
be run after rebooting into the completed LFS system and running:</para> be run after rebooting into the completed LFS system and running:</para>

View File

@ -54,11 +54,7 @@
<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen> <screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
<!-- <para>Disable a test that fails:</para> <para>Prepare vim for compilation:</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>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
@ -66,19 +62,17 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>To prepare the tests, ensure that the <para>To prepare the tests, ensure that user
<systemitem class="username">tester</systemitem> user can write <systemitem class="username">tester</systemitem> can write
to the sources tree:</para> to the source tree:</para>
<screen><userinput remap="test">chown -Rv tester .</userinput></screen> <screen><userinput remap="test">chown -Rv tester .</userinput></screen>
<para>Now run the tests as the <systemitem <para>Now run the tests as user <systemitem
class="username">tester</systemitem> user:</para> class="username">tester</systemitem>:</para>
<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &amp;> vim-test.log</userinput></screen> <screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &amp;> vim-test.log</userinput></screen>
<!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &amp;&gt; vim-test.log</userinput></screen>-->
<para>The test suite outputs a lot of binary data to the screen. This can <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 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 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 ln -sv vim.1 $(dirname $L)/vi.1
done</userinput></screen> 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 class="directory">/usr/share/vim</filename>. The following symlink
allows the documentation to be accessed via <filename allows the documentation to be accessed via <filename
class="directory">/usr/share/doc/vim-&vim-version;</filename>, making 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> <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 <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 comes with a GUI version of the editor that requires X and some
additional libraries to be installed. For more information on this 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 in the BLFS book at <ulink
url="&blfs-book;postlfs/vim.html"/>.</para> 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 vi-compatible manner. Remove the <quote>no</quote> to keep the old
<command>vi</command> behavior. The <parameter>set backspace=2</parameter> <command>vi</command> behavior. The <parameter>set backspace=2</parameter>
setting allows backspacing over line breaks, autoindents, and the start of 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 highlighting. The <parameter>set mouse=</parameter> setting enables
proper pasting of text with the mouse when working in chroot or over a proper pasting of text with the mouse when working in chroot or over a
remote connection. Finally, the <emphasis>if</emphasis> statement with the 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 <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 emulators. This gives the highlighting a better color scheme for use on the
black background of these programs.</para> 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 <para>Documentation for other available options can be obtained by
running the following command:</para> running the following command:</para>
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen> <screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
<note> <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 To install spell files for your preferred language, download the
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename> <filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
files for your language and character encoding from <ulink files for your language and character encoding from <ulink

View File

@ -432,6 +432,12 @@ div.materials dd {
.segtitle { .segtitle {
float: left; float: left;
padding-left: 1em;
width: 14em;
}
.content .segtitle {
width: 12em;
} }
.package .segbody, .appendix .segbody { .package .segbody, .appendix .segbody {
@ -441,9 +447,19 @@ div.materials dd {
.content .segbody { .content .segbody {
display: block; 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 */ /* itemizedlist */
ul { ul {