Synchronized with LFS-SVN-20140611.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10576 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
DJ Lucas 2014-06-14 19:51:45 +00:00
parent 6f34f438e6
commit 61ce0b1fe4
38 changed files with 807 additions and 210 deletions

View File

@ -35,6 +35,283 @@
</itemizedlist>
</listitem>
-->
<listitem>
<para>2014-06-14</para>
<itemizedlist>
<listitem>
<para>[dj] - Updated to systemd-214.</para>
</listitem>
<listitem>
<para>[dj] - Synchronized with LFS-SVN-20140611.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-06-11</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Several text changes. Thanks to Chris
Staub for the patches. Fixes
<ulink url="&lfs-ticket-root;3600">#3600</ulink>,
<ulink url="&lfs-ticket-root;3601">#3601</ulink>,
<ulink url="&lfs-ticket-root;3602">#3602</ulink>,
<ulink url="&lfs-ticket-root;3603">#3603</ulink>, and
<ulink url="&lfs-ticket-root;3604">#3604</ulink>,
</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-3.15.0. Fixes
<ulink url="&lfs-ticket-root;3608">#3608</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-3.15. Fixes
<ulink url="&lfs-ticket-root;3606">#3606</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Gettext-0.19.1. Fixes
<ulink url="&lfs-ticket-root;3599">#3599</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Fix test failure in e2fsprogs. Fixes
<ulink url="&lfs-ticket-root;3586">#3586</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-06-08</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Add SHLIB_LIBS to readline install command.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-06-04</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to e2fsprogs-1.42.10. Fixes
<ulink url="&lfs-ticket-root;3586">#3596</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to grep-2.20. Fixes
<ulink url="&lfs-ticket-root;3589">#3589</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to perl-5.20.0. Fixes
<ulink url="&lfs-ticket-root;3592">#3592</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-3.68. Fixes
<ulink url="&lfs-ticket-root;3593">#3593</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tzdata-2014d. Fixes
<ulink url="&lfs-ticket-root;3594">#3594</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to check-0.9.13. Fixes
<ulink url="&lfs-ticket-root;3596">#3596</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-3.14.5. Fixes
<ulink url="&lfs-ticket-root;3597">#3597</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to eudev-1.7. Fixes
<ulink url="&lfs-ticket-root;3598">#3598</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-05-27</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to man-pages-3.67. Fixes
<ulink url="&lfs-ticket-root;3588">#3588</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Reformatted version check script to fit
pdf pages properly. Fixes
<ulink url="&lfs-ticket-root;3590">#3590</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Added a note about adding the
parent directory to the es and pt keymaps for proper
keymap loading. Fixes
<ulink url="&lfs-ticket-root;3591">#3591</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-05-19</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Remove unneeded configure switches from gcc. Fixes
<ulink url="&lfs-ticket-root;3582">#3582</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-05-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Fix gcc LTO symlink for i686 systems.</para>
</listitem>
<listitem>
<para>[bdubbs] - Fix kbd-2.0.1.tar.gz md5sum. Fixes
<ulink url="&lfs-ticket-root;3581">#3581</ulink></para>
</listitem>
<listitem>
<para>[bdubbs] - Fix procps-ng url. Fixes
<ulink url="&lfs-ticket-root;3580">#3580</ulink></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-05-12</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to tzdata-2014c. Fixes
<ulink url="&lfs-ticket-root;3578">#3578</ulink></para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-3.14.4. Fixes
<ulink url="&lfs-ticket-root;3577">#3577</ulink></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-05-02</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update several URLs in Chapter 3. Fixes
<ulink url="&lfs-ticket-root;3570">#3570</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Fix typo in Chapter 5, libstdc++. Fixes
<ulink url="&lfs-ticket-root;3564">#3564</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Removed obsolete reference to acinstall
in automake section. Fixes
<ulink url="&lfs-ticket-root;3567">#3567</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Removed obsolete reference to sbu home page
in Chapter 4. Fixes
<ulink url="&lfs-ticket-root;3568">#3568</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update installed programs for gdbm.
Thanks to Chris Staub for the patch. Fixes
<ulink url="&lfs-ticket-root;3560">#3560</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-28</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to linux-3.14.2. Fixes
<ulink url="&lfs-ticket-root;3559">#3559</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-25</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Remove unneeded symlink in gcc-pass1. Fixes
<ulink url="&lfs-ticket-root;3555">#3555</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to util-linux-2.24.2. Fixes
<ulink url="&lfs-ticket-root;3554">#3554</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-24</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to gcc-4.9. Fixes
<ulink url="&lfs-ticket-root;3553">#3553</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-22</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Removed unneeded groff symlinks. Fixes
<ulink url="&lfs-ticket-root;3551">#3551</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update users so all acl tests pass. Fixes
<ulink url="&lfs-ticket-root;3548">#3548</ulink>.</para>
</listitem>
<listitem>
<para>[krejzi] - Fix a segfault in shuf program from
Coreutils. Fixes
<ulink url="&lfs-ticket-root;3550">#3550</ulink>.</para>
</listitem>
<listitem>
<para>[krejzi] - Fix a segfault in Acl package. Fixes
<ulink url="&lfs-ticket-root;3549">#3549</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-18</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Updated to linux-3.14.1. Fixes
<ulink url="&lfs-ticket-root;3545">#3545</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Updated to man-db-2.6.7.1. Fixes
<ulink url="&lfs-ticket-root;3543">#3543</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Updated to iproute2-3.14.0. Fixes
<ulink url="&lfs-ticket-root;3542">#3542</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Updated to gawk-4.1.1. Fixes
<ulink url="&lfs-ticket-root;3541">#3541</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Added mpfr upstream patch. Fixes
<ulink url="&lfs-ticket-root;3537">#3537</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Added readline upstream patch. Fixes
<ulink url="&lfs-ticket-root;3532">#3532</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Added bash upstream patch. Fixes
<ulink url="&lfs-ticket-root;3531">#3531</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Added bc patch to address memory leaks. Fixes
<ulink url="&lfs-ticket-root;3536">#3536</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2014-04-12</para>
<itemizedlist>
@ -48,7 +325,7 @@
<para>2014-04-08</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Change lex rwapper script to a symbolic
<para>[bdubbs] - Change lex wrapper script to a symbolic
link. Completes
<ulink url="&lfs-ticket-root;3523">#3523</ulink>.</para>
</listitem>

View File

@ -11,7 +11,7 @@
<title>How to Build an LFS System</title>
<para>The LFS system will be built by using an already installed
Linux distribution (such as Debian, Mandriva, Red Hat, or SUSE). This
Linux distribution (such as Debian, OpenMandriva, Fedora, or openSUSE). This
existing Linux system (the host) will be used as a starting point to
provide necessary programs, including a compiler, linker, and shell,
to build the new system. Select the <quote>development</quote> option

View File

@ -21,7 +21,6 @@
<itemizedlist>
<title>Upgraded to:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<!--<listitem>
<para>None</para>
</listitem>-->
@ -49,9 +48,9 @@
<!--<listitem>
<para>Bzip2 &bzip2-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Check &check-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Coreutils &coreutils-version;</para>
</listitem>-->
@ -64,9 +63,9 @@
<!--<listitem>
<para>Diffutils &diffutils-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>E2fsprogs &e2fsprogs-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Expat-&expat-version;</para>
</listitem>-->
@ -82,18 +81,18 @@
<listitem>
<para>Flex &flex-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Gawk &gawk-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>GCC &gcc-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>GDBM &gdbm-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Gettext &gettext-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Glibc &glibc-version;</para>
</listitem>-->
@ -124,9 +123,9 @@
<!--<listitem>
<para>Intltool-&intltool-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>IPRoute2 &iproute2-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Kbd &kbd-version;</para>
</listitem>-->
@ -157,9 +156,9 @@
<!--<listitem>
<para>Make &make-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Man-DB &man-db-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Man-pages &man-pages-version;</para>
</listitem>
@ -175,9 +174,9 @@
<!--<listitem>
<para>Patch &patch-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Perl &perl-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Pkg-config &pkgconfig-version;</para>
</listitem>-->
@ -193,12 +192,12 @@
<!--<listitem>
<para>Sed &sed-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Shadow &shadow-version;</para>
</listitem>-->
<!--<listitem>
</listitem>
<listitem>
<para>Systemd &systemd-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Tar &tar-version;</para>
</listitem>-->
@ -211,9 +210,9 @@
<listitem>
<para>Tzdata &tzdata-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Util-Linux &util-linux-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Vim &vim-version;</para>
</listitem>-->
@ -239,22 +238,31 @@
<itemizedlist>
<title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>&bash-fixes-patch;</para>
</listitem>
<listitem>
<para>&bc-memory-leak-patch;</para>
</listitem>
<listitem>
<para>&binutils-lto-patch;</para>
</listitem>
<listitem>
<para>&coreutils-shuf-segfault-patch;</para>
</listitem>
<listitem>
<para>&mpfr-fixes-patch;</para>
</listitem>
<listitem>
<para>&readline-fixes-patch;</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Removed:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>bash-4.2-fixes-12.patch</para>
<para>perl-5.18.2-libc-1.patch</para>
</listitem>
<listitem>
<para>readline-6.2-fixes-2.patch</para>
</listitem>
</itemizedlist>
</sect1>

View File

@ -15,5 +15,6 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingpartition.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingfilesystem.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mounting.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
</chapter>

View File

@ -17,7 +17,7 @@
needed to build an LFS system:</para>
<variablelist role="materials">
<!--
<varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
<listitem>
@ -25,7 +25,23 @@
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry>
<term>Bc Memory Leak Patch - <token>&bc-memory-leak-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&bc-memory-leak-patch;"/></para>
<para>MD5 sum: <literal>&bc-memory-leak-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Binutils LTO Patch - <token>&binutils-lto-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&binutils-lto-patch;"/></para>
<para>MD5 sum: <literal>&binutils-lto-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Bzip2 Documentation Patch - <token>&bzip2-docs-patch-size;</token>:</term>
<listitem>
@ -42,6 +58,30 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Coreutils shuf Segmentation Fault Fix Patch - <token>&coreutils-shuf-segfault-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&coreutils-shuf-segfault-patch;"/></para>
<para>MD5 sum: <literal>&coreutils-shuf-segfault-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>E2fsprogs Fix Test Patch - <token>&e2fsprogs-fix-test-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&e2fsprogs-fix-test-patch;"/></para>
<para>MD5 sum: <literal>&e2fsprogs-fix-test-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Gcc Upstream Patch - <token>&gcc-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&gcc-upstream-patch;"/></para>
<para>MD5 sum: <literal>&gcc-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term>
<listitem>
@ -58,6 +98,14 @@
</listitem>
</varlistentry>
<varlistentry>
<term>Mpfr Upstream Fixes Patch - <token>&mpfr-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&mpfr-fixes-patch;"/></para>
<para>MD5 sum: <literal>&mpfr-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
<!--
<varlistentry>
<term>Perl Libc Patch - <token>&perl-libc-patch-size;</token>:</term>
<listitem>
@ -65,6 +113,14 @@
<para>MD5 sum: <literal>&perl-libc-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry>
<term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&readline-fixes-patch;"/></para>
<para>MD5 sum: <literal>&readline-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Systemd Compat Patch - <token>&systemd-compat-patch-size;</token>:</term>

View File

@ -36,9 +36,6 @@
to give an estimate of how long it might take to install a package, but the
numbers can vary by as much as dozens of minutes in some cases.</para>
<para>To view actual timings for a number of specific machines, we recommend
The LinuxFromScratch SBU Home Page at <ulink url="&lfs-root;~sbu/"/>.</para>
<note><para>For many modern systems with multiple processors (or cores) the
compilation time for a package can be reduced by performing a "parallel make"
by either setting an environment variable or telling the

View File

@ -11,7 +11,8 @@
<title>Final Preparations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>-->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingtoolsdir.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="addinguser.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="settingenviron.xml"/>

View File

@ -70,12 +70,9 @@ EOF</userinput></screen>
<para>The <envar>LC_ALL</envar> variable controls the localization of certain
programs, making their messages follow the conventions of a specified country.
If the host system uses a version of Glibc older than 2.2.4, having
<envar>LC_ALL</envar> set to something other than <quote>POSIX</quote> or
<quote>C</quote> (during this chapter) may cause issues if you exit the chroot
environment and wish to return later. Setting <envar>LC_ALL</envar> to
<quote>POSIX</quote> or <quote>C</quote> (the two are equivalent) ensures that
everything will work as expected in the chroot environment.</para>
Setting <envar>LC_ALL</envar> to <quote>POSIX</quote> or <quote>C</quote>
(the two are equivalent) ensures that everything will work as expected in
the chroot environment.</para>
<para>The <envar>LFS_TGT</envar> variable sets a non-default, but compatible machine
description for use when building our cross compiler and linker and when cross

View File

@ -56,6 +56,7 @@ RANLIB=$LFS_TGT-ranlib \
../binutils-&binutils-version;/configure \
--prefix=/tools \
--disable-nls \
--disable-werror \
--with-lib-path=/tools/lib \
--with-sysroot</userinput></screen>

View File

@ -129,15 +129,13 @@ cd ../gcc-build</userinput></screen>
--disable-libatomic \
--disable-libgomp \
--disable-libitm \
--disable-libmudflap \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--disable-libcilkrts \
--disable-libstdc++-v3 \
--enable-languages=c,c++ \
--with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
--with-mpfr-lib=$(pwd)/mpfr/src/.libs</userinput></screen>
--enable-languages=c,c++</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -222,14 +220,6 @@ cd ../gcc-build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-mpfr-*</parameter></term>
<listitem>
<para>These options enable the build system to correctly use the
in-tree copy of the MPFR sources.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile GCC by running:</para>
@ -245,8 +235,8 @@ cd ../gcc-build</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
<para>Using <parameter>--disable-shared</parameter> means that the
<!--
<para>Using <parameter>- -disable-shared</parameter> means that the
<filename>libgcc_eh.a</filename> file isn't created and installed. The
Glibc package depends on this library as it uses
<parameter>-lgcc_eh</parameter> within its build system. This dependency
@ -255,7 +245,7 @@ cd ../gcc-build</userinput></screen>
<filename>libgcc_eh.a</filename>:</para>
<screen><userinput remap="install">ln -sv libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | sed 's/libgcc/&amp;_eh/'`</userinput></screen>
-->
</sect2>
<sect2 role="content">

View File

@ -57,17 +57,15 @@
<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h &gt; \
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
<para>For x86 machines, a bootstrap build of GCC uses the
<option>-fomit-frame-pointer</option> compiler flag. Non-bootstrap builds
omit this flag by default, and the goal should be to produce a compiler
that is exactly the same as if it were bootstrapped. Apply the following
<command>sed</command> command to force the build to use the flag:</para>
<!--
<para>For x86 machines, the limited number of registers is a bottleneck
for the system. Free one up by not using a frame pointer that is not
needed:</para>
<screen><userinput remap="pre">case `uname -m` in
i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
esac</userinput></screen>
-->
<para>Once again, change the location of GCC's default dynamic linker to
use the one installed in <filename
class="directory">/tools</filename>.</para>
@ -123,9 +121,7 @@ RANLIB=$LFS_TGT-ranlib \
--disable-libstdcxx-pch \
--disable-multilib \
--disable-bootstrap \
--disable-libgomp \
--with-mpfr-include=$(pwd)/../gcc-&gcc-version;/mpfr/src \
--with-mpfr-lib=$(pwd)/mpfr/src/.libs</userinput></screen>
--disable-libgomp</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>

View File

@ -93,7 +93,7 @@ cd ../gcc-build</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>--with-gxx-include-dir=/tools/include/c++/&gcc-version;</parameter></term>
<term><parameter>--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</parameter></term>
<listitem>
<para>This is the location where the standard include files are
searched by the C++ compiler. In a normal build, this information

View File

@ -42,15 +42,17 @@
<sect2 role="installation">
<title>Installation of Perl</title>
<!--
<para>First apply the following patch to adapt some hard-wired paths to the
C library:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
Note: -Dlibs=-lm below avoids looking for gdbm and db libraries causing failure
-->
<para>Prepare Perl for compilation:</para>
<screen><userinput remap="configure">sh Configure -des -Dprefix=/tools</userinput></screen>
<screen><userinput remap="configure">sh Configure -des -Dprefix=/tools -Dlibs=-lm</userinput></screen>
<para>Build the package:</para>

View File

@ -18,6 +18,7 @@
<indexterm zone="ch-tools-util-linux">
<primary sortas="a-Util-linux">Util-linux</primary>
<secondary>tools</secondary>
</indexterm>
<sect2 role="package">

View File

@ -51,6 +51,12 @@
<screen><userinput remap="pre">sed -i "s:| sed.*::g" test/{sbits-restore,cp,misc}.test</userinput></screen>
<para>Additionally, fix a bug that causes <command>getfacl -e</command>
to segfault on overly long group name:</para>
<screen><userinput remap="pre">sed -i -e "/TABS-1;/a if (x > (TABS-1)) x = (TABS-1);" \
libacl/__acl_to_any_text.c</userinput></screen>
<para>Prepare Acl for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen>

View File

@ -73,7 +73,7 @@ make -j4 check</userinput></screen>
<segtitle>Installed directories</segtitle>
<seglistitem>
<seg>acinstall, aclocal, aclocal-&am-minor-version;, automake,
<seg>aclocal, aclocal-&am-minor-version;, automake,
automake-&am-minor-version;, compile, config.guess, config.sub,
depcomp, install-sh, mdate-sh, missing, mkinstalldirs,
py-compile, and ylwrap</seg>
@ -87,16 +87,6 @@ make -j4 check</userinput></screen>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="acinstall">
<term><command>acinstall</command></term>
<listitem>
<para>A script that installs aclocal-style M4 files</para>
<indexterm zone="ch-system-automake acinstall">
<primary sortas="b-acinstall">acinstall</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="aclocal">
<term><command>aclocal</command></term>
<listitem>

View File

@ -39,12 +39,12 @@
<sect2 role="installation">
<title>Installation of Bash</title>
<!--
<para>First, apply the following patch to fix various bugs that have been
addressed upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
-->
<para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -41,6 +41,10 @@
<sect2 role="installation">
<title>Installation of Bc</title>
<para>First, fix some minor memory leaks in the code:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bc-memory-leak-patch;</userinput></screen>
<para>Prepare Bc for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -64,6 +64,11 @@ Ask your system administrator to create more.</computeroutput></screen>
<screen><userinput remap="pre">rm -fv etc/standards.info
sed -i.bak '/^INFO/s/standards.info //' etc/Makefile.in</userinput></screen>
<para>Add an upstream patch to use gcc's link time optimization (LTO)
the default:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&binutils-lto-patch;</userinput></screen>
<para>The Binutils documentation recommends building Binutils outside of the
source directory in a dedicated build directory:</para>
@ -72,7 +77,9 @@ cd ../binutils-build</userinput></screen>
<para>Prepare Binutils for compilation:</para>
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr --enable-shared</userinput></screen>
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr \
--enable-shared \
--disable-werror</userinput></screen>
<para>Compile the package:</para>
@ -109,18 +116,15 @@ cd ../binutils-build</userinput></screen>
<screen><userinput remap="test">make check</userinput></screen>
<para>Six tests in the lto.exp testsuite are known to fail due
to changes in the most recent version of gcc.</para>
<para>Install the package:</para>
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
<!--
<para>Install the <filename class="headerfile">libiberty</filename> header
file that is needed by some packages:</para>
<screen><userinput remap="install">cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
-->
</sect2>
<sect2 id="contents-binutils" role="content">
<title>Contents of Binutils</title>

View File

@ -40,11 +40,11 @@
<sect2 role="installation">
<title>Installation of Coreutils</title>
<!--
<para>Fix a couple of test failures:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-test-patch;</userinput></screen>
-->
<para>First, fix a segfault in <command>shuf</command> program:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-shuf-segfault-patch;</userinput></screen>
<para>POSIX requires that programs from Coreutils recognize character
boundaries correctly even in multibyte locales. The following patch
fixes this non-compliance and other internationalization-related bugs:</para>

View File

@ -46,6 +46,89 @@ ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
ln -sv bash /bin/sh</userinput></screen>
<variablelist>
<title>The purpose of each link:</title>
<varlistentry>
<term><parameter><filename>/bin/bash</filename></parameter></term>
<listitem>
<para>Many <command>bash</command> scripts specify
<filename>/bin/bash</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/bin/cat</filename></parameter></term>
<listitem>
<para>This pathname is hard-coded into Glibc's configure script.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/bin/echo</filename></parameter></term>
<listitem>
<para>This is to satisfy one of the tests in Glibc's test suite, which
expects <filename>/bin/echo</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/bin/pwd</filename></parameter></term>
<listitem>
<para>Some <command>configure</command> scripts, particularly Glibc's,
have this pathname hard-coded.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/bin/stty</filename></parameter></term>
<listitem>
<para>This pathname is hard-coded into Expect, therefore it is needed
for Binutils and GCC test suites to pass.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/usr/bin/perl</filename></parameter></term>
<listitem>
<para>Many Perl scripts hard-code this path to the
<command>perl</command> program.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/usr/lib/libgcc_s.so{,.1}</filename></parameter></term>
<listitem>
<para>Glibc needs this for the pthreads library to work.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/usr/lib/libstdc++{,.6}</filename></parameter></term>
<listitem>
<para>This is needed by several tests in Glibc's test suite, as well as
for C++ support in GMP.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
<listitem>
<para>This prevents a <filename class="directory">/tools</filename>
reference that would otherwise be in
<filename>/usr/lib/libstdc++.la</filename> after GCC is installed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter><filename>/bin/sh</filename></parameter></term>
<listitem>
<para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Historically, Linux maintains a list of the mounted file systems in the
file <filename>/etc/mtab</filename>. Modern kernels maintain this list
internally and exposes it to the user via the <filename
@ -66,6 +149,7 @@ ln -sv bash /bin/sh</userinput></screen>
<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
<literal>root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
daemon:x:6:6:Daemon User:/dev/null:/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false</literal>
EOF</userinput></screen>
@ -78,7 +162,7 @@ EOF</userinput></screen>
<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
<literal>root:x:0:
bin:x:1:
bin:x:1:daemon
sys:x:2:
kmem:x:3:
tape:x:4:
@ -97,13 +181,15 @@ adm:x:16:
messagebus:x:18:
systemd-journal:x:23:
mail:x:34:
nogroup:x:99:</literal>
nogroup:x:99:
users:x:999:</literal>
EOF</userinput></screen>
<para>The created groups are not part of any standard&mdash;they are groups
decided on in part by the requirements of the Udev configuration in this
chapter, and in part by common convention employed by a number of existing
Linux distributions. The Linux Standard Base (LSB, available at <ulink
Linux distributions. In addition, some test suites rely on specific users
or groups. The Linux Standard Base (LSB, available at <ulink
url="http://www.linuxbase.org"/>) recommends only that, besides the group
<systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be

View File

@ -74,7 +74,7 @@
<para>This package does come with a testsuite, but it requires several
packages that are not included in LFS. Instructions for running the
testsuite can be found in the BLFS book at
<ulink url="&blfs-root;/view/svn/general/dbus.html"/>.</para>
<ulink url="&blfs-root;/view/&short-version;/general/dbus.html"/>.</para>
<para>Install the package:</para>
@ -93,6 +93,11 @@ ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</useri
<screen><userinput remap="install">ln -sv /etc/machine-id /var/lib/dbus</userinput></screen>
<para>Finally, generate a D-Bus UUID to avoid possible warnings
when building some packages in BLFS:</para>
<screen><userinput remap="install">dbus-uuidgen --ensure</userinput></screen>
</sect2>
<sect2 id="contents-dbus" role="content">

View File

@ -44,10 +44,11 @@
<sect2 role="installation">
<title>Installation of E2fsprogs</title>
<para>First fix a problem with running regression tests in the LFS chroot
<para>First fix some problems with running regression tests in the LFS chroot
environment:</para>
<screen><userinput remap="pre">sed -i -e 's|^LD_LIBRARY_PATH.*|&amp;:/tools/lib|' tests/test_config</userinput></screen>
<screen><userinput remap="pre">patch -Np1 -i ../&e2fsprogs-fix-test-patch;
sed -i -e 's|^LD_LIBRARY_PATH.*|&amp;:/tools/lib|' tests/test_config</userinput></screen>
<para>The E2fsprogs documentation recommends that the package be built in
a subdirectory of the source tree: </para>
@ -121,17 +122,19 @@ PKG_CONFIG_PATH=/tools/lib/pkgconfig \
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para>
<para>To set up the test suite we need to temporarily copy
a library from /tools/lib so the test programs can find it.
To run the tests, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<screen><userinput remap="test">cp -v /tools/lib/libblkid.so.1 /lib
make check
rm -v /lib/libblkid.so.1</userinput></screen>
<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="space-creatingfilesystem"/> and <xref linkend="space-mounting"/>
for details on creating and enabling swap space. Additionally,
three tests try to allocate a two terabyte partition and will fail
unless you have at least that much unused disk space available.</para>
for details on creating and enabling swap space.</para>
<para>Install the binaries, documentation, and shared libraries:</para>

View File

@ -41,6 +41,11 @@
<sect2 role="installation">
<title>Installation of GCC</title>
<para>First fix a problem identified upstream that causes some
programs to fail:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-patch;</userinput></screen>
<!--
<para>As in <xref linkend="ch-tools-gcc-pass2"/>, apply the following
<command>sed</command> to force the build to use the
<option>-fomit-frame-pointer</option> compiler flag in order to ensure
@ -49,19 +54,7 @@
<screen><userinput remap="pre">case `uname -m` in
i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
esac</userinput></screen>
<!--
<para>Workaround a bug so that GCC doesn't install
<filename class="libraryfile">libiberty.a</filename>, which is already
provided by Binutils:</para>
<screen><userinput remap="pre">sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
-->
<para>Also fix an error in one of the check Makefiles and disable one test in
the g++ libmudflap test suite:</para>
<screen><userinput remap="pre">sed -i -e /autogen/d -e /check.sh/d fixincludes/Makefile.in
mv -v libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx{,.disable}</userinput></screen>
<para>The GCC documentation recommends building GCC outside of the source
directory in a dedicated build directory:</para>
@ -157,6 +150,20 @@ cd ../gcc-build</userinput></screen>
<screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen>
<para>Add a compatibility symlink to enable building programs with
Link Time Optimization (LTO):</para>
<screen><userinput remap="install">install -dm755 /usr/lib/bfd-plugins
pushd /usr/lib/bfd-plugins
if [ $(uname -m) == "i686" ]; then
ln -sfv ../../libexec/gcc/i686-pc-linux-gnu/&gcc-version;/liblto_plugin.so
else
ln -sfv ../../libexec/gcc/x86_64-unknown-linux-gnu/&gcc-version;/liblto_plugin.so
fi
popd</userinput></screen>
<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>

View File

@ -23,10 +23,11 @@
<sect2 role="package">
<title/>
<para>The GDBM package contains the GNU Database Manager. This is a disk
file format database which stores key/data-pairs in single files. The
actual data of any record being stored is indexed by a unique key, which can
be retrieved in less time than if it was stored in a text file.</para>
<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
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>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
@ -82,7 +83,7 @@
<segtitle>Installed libraries</segtitle>
<seglistitem>
<seg>testgdbm</seg>
<seg>gdbm_dump, gdbm_load, and gdbmtool</seg>
<seg>libgdbm.{a,so} and libgdbm_compat.{a,so}</seg>
</seglistitem>
</segmentedlist>
@ -92,12 +93,32 @@
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="testgdbm">
<term><command>testgdbm</command></term>
<varlistentry id="gdbm_dump">
<term><command>gdbm_dump</command></term>
<listitem>
<para>Dumps a GDBM database to a file.</para>
<indexterm zone="ch-system-gdbm gdbm_dump">
<primary sortas="b-gdbm_dump">gdbm_dump</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdbm_load">
<term><command>gdbm_load</command></term>
<listitem>
<para>Recreates a GDBM database from a dump file.</para>
<indexterm zone="ch-system-gdbm gdbm_load">
<primary sortas="b-gdbm_load">gdbm_load</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdbmtool">
<term><command>gdbmtool</command></term>
<listitem>
<para>Tests and modifies a GDBM database</para>
<indexterm zone="ch-system-gdbm testgdbm">
<primary sortas="b-testgdbm">testgdbm</primary>
<indexterm zone="ch-system-gdbm gdbmtool">
<primary sortas="b-gdbmtool">gdbmtool</primary>
</indexterm>
</listitem>
</varlistentry>
@ -112,6 +133,16 @@
</listitem>
</varlistentry>
<varlistentry id="libgdbm_compat">
<term><filename class="libraryfile">libgdbm_compat</filename></term>
<listitem>
<para>Compatibility library containing older DBM functions</para>
<indexterm zone="ch-system-gdbm libgdbm_compat">
<primary sortas="c-libgdbm_compat">libgdbm_compat</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>

View File

@ -417,7 +417,7 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd, pcprofiledump,
pldd, rpcgen, sln, sotruss, sprof, tzselect, xtrace,
zdump, and zic</seg>
<seg>ld.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so},
<seg>ld-&glibc-version;.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so},
libc.{a,so}, libc_nonshared.a, libcidn.so,
libcrypt.{a,so}, libdl.{a,so}, libg.a, libieee.a, libm.{a,so},
libmcheck.a, libmemusage.so, libnsl.{a,so}, libnss_compat.so,
@ -703,11 +703,11 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen>
</varlistentry>
<varlistentry id="ld.so">
<term><filename class="libraryfile">ld.so</filename></term>
<term><filename class="libraryfile">ld-&glibc-version;.so</filename></term>
<listitem>
<para>The helper program for shared library executables</para>
<indexterm zone="ch-system-glibc ld.so">
<primary sortas="c-ld.so">ld.so</primary>
<primary sortas="c-ld.so">ld-&glibc-version;.so</primary>
</indexterm>
</listitem>
</varlistentry>

View File

@ -63,12 +63,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<para>Some documentation programs, such as <command>xman</command>,
will not work properly without the following symlinks:</para>
<screen><userinput remap="install">ln -sv eqn /usr/bin/geqn
ln -sv tbl /usr/bin/gtbl</userinput></screen>
</sect2>
<sect2 id="contents-groff" role="content">

View File

@ -41,6 +41,11 @@
<sect2 role="installation">
<title>Installation of MPFR</title>
<para>First, apply the following patch to fix various bugs that have been
addressed upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&mpfr-fixes-patch;</userinput></screen>
<para>Prepare MPFR for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -83,8 +83,8 @@
<varlistentry>
<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
<listitem>
<para>This corrects an error in the way that <command>perldoc</command>
invokes the <command>less</command> program.</para>
<para>This ensures that <userinput>less</userinput> is used instead
of <userinput>more</userinput>.</para>
</listitem>
</varlistentry>

View File

@ -41,6 +41,11 @@
<sect2 role="installation">
<title>Installation of Readline</title>
<para>First install some patches to fix various bugs that have been
addressed upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&readline-fixes-patch;</userinput></screen>
<para>Reinstalling Readline will cause the old libraries to be moved to
&lt;libraryname&gt;.old. While this is normally not a problem, in some cases
it can trigger a linking bug in <command>ldconfig</command>. This can be
@ -75,7 +80,7 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
<screen><userinput remap="install">make SHLIB_LIBS=-lncurses install</userinput></screen>
<para>Now move the dynamic libraries to a more appropriate location
and fix up some symbolic links:</para>

View File

@ -72,6 +72,11 @@ find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;</userinput></scr
<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 default useradd consistent with the LFS
groups file:</para>
<screen><userinput remap="pre">sed -i 's/1000/999/' etc/useradd</userinput></screen>
<para>Prepare Shadow for compilation:</para>
<screen><userinput remap="configure">./configure --sysconfdir=/etc</userinput></screen>

View File

@ -47,10 +47,11 @@
<literal>KILL=/bin/kill
HAVE_BLKID=1
BLKID_LIBS="-lblkid"
BLKID_CFLAGS="-I/tools/include/blkid"</literal>
BLKID_CFLAGS="-I/tools/include/blkid"
cc_cv_CFLAGS__flto=no</literal>
EOF</userinput></screen>
<para>Aditionally, fix a build error when using Util-Linux built in
<para>Additionally, fix a build error when using Util-Linux built in
Chapter 5:</para>
<screen><userinput remap="pre">sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")</userinput></screen>
@ -62,7 +63,7 @@ EOF</userinput></screen>
<para>Prepare Systemd for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
<screen><userinput remap="configure">CFLAGS="-fno-lto" ./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--config-cache \

View File

@ -1,5 +1,6 @@
<!ENTITY version "20140412-systemd">
<!ENTITY releasedate "April 12, 2014">
<!ENTITY version "20140614-systemd">
<!ENTITY short-version "svn"> <!-- Used in dbus chapter, change to x.y for release -->
<!ENTITY releasedate "June 14, 2014">
<!ENTITY copyrightdate "1999-2014"><!-- jhalfs needs a literal dash, not &ndash; -->
<!ENTITY milestone "7.6">
<!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->

View File

@ -62,7 +62,7 @@
<!ENTITY binutils-size "22,184 KB">
<!ENTITY binutils-url "&gnu;binutils/binutils-&binutils-version;.tar.bz2">
<!ENTITY binutils-md5 "e0f71a7b2ddab0f8612336ac81d9636b">
<!ENTITY binutils-home "http://www.gnu.org/software/binutils/">
<!ENTITY binutils-home "$gnu-software;binutils/">
<!ENTITY binutils-ch5p1-du "404 MB">
<!ENTITY binutils-ch5p1-sbu "1 SBU">
<!ENTITY binutils-ch5p2-du "417 MB">
@ -92,10 +92,10 @@
<!ENTITY bzip2-ch6-du "6.9 MB">
<!ENTITY bzip2-ch6-sbu "less than 0.1 SBU">
<!ENTITY check-version "0.9.12">
<!ENTITY check-size "714 KB">
<!ENTITY check-version "0.9.13">
<!ENTITY check-size "736 KB">
<!ENTITY check-url "http://sourceforge.net/projects/check/files/check/&check-version;/check-&check-version;.tar.gz">
<!ENTITY check-md5 "46fe540d1a03714c7a1967dbc6d484e7">
<!ENTITY check-md5 "95530868f81a9496b2518fd2b713008a">
<!ENTITY check-home "http://check.sourceforge.net/">
<!ENTITY check-ch5-du "6.9 MB">
<!ENTITY check-ch5-sbu "0.1 SBU">
@ -139,10 +139,10 @@
<!-- NOTE: When updating e2fsprogs, remember to check the list
of acceptable features that can be shown by debugfs in
chapter02/creatingfilesystem.xml -->
<!ENTITY e2fsprogs-version "1.42.9">
<!ENTITY e2fsprogs-size "5,928 KB">
<!ENTITY e2fsprogs-url "&sourceforge;e2fsprogs/e2fsprogs-&e2fsprogs-version;.tar.gz">
<!ENTITY e2fsprogs-md5 "3f8e41e63b432ba114b33f58674563f7">
<!ENTITY e2fsprogs-version "1.42.10">
<!ENTITY e2fsprogs-size "5,983 KB">
<!ENTITY e2fsprogs-url "http://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v&e2fsprogs-version;/e2fsprogs-&e2fsprogs-version;.tar.gz">
<!ENTITY e2fsprogs-md5 "62bfe2fe0a194c5c37165789ac2825a8">
<!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net/">
<!ENTITY e2fsprogs-ch6-du "64 MB">
<!ENTITY e2fsprogs-ch6-sbu "1.7 SBU">
@ -196,20 +196,20 @@
<!ENTITY flex-ch6-du "39 MB">
<!ENTITY flex-ch6-sbu "0.4 SBU">
<!ENTITY gawk-version "4.1.0">
<!ENTITY gawk-size "2,004 KB">
<!ENTITY gawk-version "4.1.1">
<!ENTITY gawk-size "2,146 KB">
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
<!ENTITY gawk-md5 "b18992ff8faf3217dab55d2d0aa7d707">
<!ENTITY gawk-md5 "a2a26543ce410eb74bc4a508349ed09a">
<!ENTITY gawk-home "&gnu-software;gawk/">
<!ENTITY gawk-ch5-du "30 MB">
<!ENTITY gawk-ch5-sbu "0.2 SBU">
<!ENTITY gawk-ch6-du "30 MB">
<!ENTITY gawk-ch6-sbu "0.2 SBU">
<!ENTITY gcc-version "4.8.2">
<!ENTITY gcc-size "83,984 KB">
<!ENTITY gcc-version "4.9.0">
<!ENTITY gcc-size "87,576 KB">
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
<!ENTITY gcc-md5 "a3d7d63b9cb6b6ea049469a0c4a43c9d">
<!ENTITY gcc-md5 "9709b49ae0e904cbb0a6a1b62853b556">
<!ENTITY gcc-home "http://gcc.gnu.org/">
<!ENTITY gcc-ch5p1-du "1.4 GB">
<!ENTITY gcc-ch5p1-sbu "5.5 SBU">
@ -228,10 +228,10 @@
<!ENTITY gdbm-ch6-du "8.5 MB">
<!ENTITY gdbm-ch6-sbu "0.1 SBU">
<!ENTITY gettext-version "0.18.3.2">
<!ENTITY gettext-size "15,810 KB">
<!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.gz">
<!ENTITY gettext-md5 "241aba309d07aa428252c74b40a818ef">
<!ENTITY gettext-version "0.19.1">
<!ENTITY gettext-size "6,456 KB">
<!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz">
<!ENTITY gettext-md5 "b52987f49bc99fa8b410270d47a9d52b">
<!ENTITY gettext-home "&gnu-software;gettext/">
<!ENTITY gettext-ch5-du "119 MB">
<!ENTITY gettext-ch5-sbu "0.6 SBU">
@ -267,10 +267,10 @@
<!ENTITY gperf-ch6-du "6.5 MB">
<!ENTITY gperf-ch6-sbu "0.1 SBU">
<!ENTITY grep-version "2.18">
<!ENTITY grep-size "1,185 KB">
<!ENTITY grep-version "2.20">
<!ENTITY grep-size "1,209 KB">
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
<!ENTITY grep-md5 "7439f8266f50844b56cc3e2721606541">
<!ENTITY grep-md5 "2cbea44a4f1548aee20b9ff2d3076908">
<!ENTITY grep-home "&gnu-software;grep/">
<!ENTITY grep-ch5-du "21 MB">
<!ENTITY grep-ch5-sbu "0.2 SBU">
@ -305,9 +305,9 @@
<!ENTITY iana-etc-version "2.30">
<!ENTITY iana-etc-size "201 KB">
<!ENTITY iana-etc-url "&anduin-sources;/iana-etc/iana-etc-&iana-etc-version;.tar.bz2">
<!ENTITY iana-etc-url "&anduin-sources;iana-etc/iana-etc-&iana-etc-version;.tar.bz2">
<!ENTITY iana-etc-md5 "3ba3afb1d1b261383d247f46cb135ee8">
<!ENTITY iana-etc-home "http://freshmeat.net/projects/iana-etc/">
<!ENTITY iana-etc-home "http://freecode.com/projects/iana-etc">
<!ENTITY iana-etc-ch6-du "2.2 MB">
<!ENTITY iana-etc-ch6-sbu "less than 0.1 SBU">
@ -327,10 +327,10 @@
<!ENTITY intltool-ch6-du "1.4 MB">
<!ENTITY intltool-ch6-sbu "0.1 SBU">
<!ENTITY iproute2-version "3.12.0">
<!ENTITY iproute2-size "415 KB">
<!ENTITY iproute2-version "3.15.0">
<!ENTITY iproute2-size "428 KB">
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
<!ENTITY iproute2-md5 "f87386aaaecafab95607fd10e8152c68">
<!ENTITY iproute2-md5 "5b1711c9d16071959052e369a2682d77">
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
<!ENTITY iproute2-ch6-du "7.3 MB">
<!ENTITY iproute2-ch6-sbu "0.1 SBU">
@ -338,7 +338,7 @@
<!ENTITY kbd-version "2.0.1">
<!ENTITY kbd-size "1,962 KB">
<!ENTITY kbd-url "http://ftp.altlinux.org/pub/people/legion/kbd/kbd-&kbd-version;.tar.gz">
<!ENTITY kbd-md5 "cc0ee9f2537d8636cae85a8c6541ed2e">
<!ENTITY kbd-md5 "e9f2b7046312c11cec9e52e22f307b6a">
<!ENTITY kbd-home "http://ftp.altlinux.org/pub/people/legion/kbd">
<!ENTITY kbd-ch6-du "20 MB">
<!ENTITY kbd-ch6-sbu "0.1 SBU">
@ -395,13 +395,13 @@
<!ENTITY libtool-ch6-sbu "3.0 SBU">
<!ENTITY linux-major-version "3">
<!ENTITY linux-minor-version "14">
<!ENTITY linux-minor-version "15">
<!ENTITY linux-patch-version "0">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">
<!ENTITY linux-size "76,562 KB">
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">
<!ENTITY linux-size "77,810 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "b621207b3f6ecbb67db18b13258f8ea8">
<!ENTITY linux-md5 "97ca1625bb40368dc41b9a7971549071">
<!ENTITY linux-home "http://www.kernel.org/">
<!-- measured for 3.9.0 / gcc-4.8.0 on x86_64 : minimum is
allnoconfig extended for a hopefully-bootable build on desktop machine,
@ -434,18 +434,18 @@
<!ENTITY make-ch6-du "11.3 MB">
<!ENTITY make-ch6-sbu "0.4 SBU">
<!ENTITY man-db-version "2.6.6">
<!ENTITY man-db-size "1,415 KB">
<!ENTITY man-db-version "2.6.7.1">
<!ENTITY man-db-size "1,419 KB">
<!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz">
<!ENTITY man-db-md5 "5d65d66191080c144437a6c854e17868">
<!ENTITY man-db-md5 "ce7b697f8e8016a085d9f5975ae6c4fb">
<!ENTITY man-db-home "http://www.nongnu.org/man-db/">
<!ENTITY man-db-ch6-du "27 MB">
<!ENTITY man-db-ch6-sbu "0.5 SBU">
<!ENTITY man-pages-version "3.64">
<!ENTITY man-pages-size "1,194 KB">
<!ENTITY man-pages-url "http://www.kernel.org/pub/linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz">
<!ENTITY man-pages-md5 "e39da1ac5a5effd4514809301bad47a8">
<!ENTITY man-pages-version "3.68">
<!ENTITY man-pages-size "1,225 KB">
<!ENTITY man-pages-url "&kernel;linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz">
<!ENTITY man-pages-md5 "43965ed65b34aeff75767b162f97eb01">
<!ENTITY man-pages-home "http://www.kernel.org/doc/man-pages/">
<!ENTITY man-pages-ch6-du "23 MB">
<!ENTITY man-pages-ch6-sbu "less than 0.1 SBU">
@ -474,7 +474,7 @@
<!ENTITY ncurses-size "2,760 KB">
<!ENTITY ncurses-url "http://ftp.gnu.org/gnu/ncurses/ncurses-&ncurses-version;.tar.gz">
<!ENTITY ncurses-md5 "8cb9c412e5f2d96bc6f459aa8c6282a1">
<!ENTITY ncurses-home "http://www.gnu.org/software/ncurses/">
<!ENTITY ncurses-home "&gnu-software;ncurses/">
<!ENTITY ncurses-ch5-du "35 MB">
<!ENTITY ncurses-ch5-sbu "0.5 SBU">
<!ENTITY ncurses-ch6-du "40 MB">
@ -490,10 +490,10 @@
<!ENTITY patch-ch6-du "3.4 MB">
<!ENTITY patch-ch6-sbu "less than 0.1 SBU">
<!ENTITY perl-version "5.18.2">
<!ENTITY perl-size "13,730 KB">
<!ENTITY perl-version "5.20.0">
<!ENTITY perl-size "13,448 KB">
<!ENTITY perl-url "http://www.cpan.org/src/5.0/perl-&perl-version;.tar.bz2">
<!ENTITY perl-md5 "d549b16ee4e9210988da39193a9389c1">
<!ENTITY perl-md5 "20cbecd4e9e880ee7a50a136c8b1484e">
<!ENTITY perl-home "http://www.perl.org/">
<!ENTITY perl-ch5-du "235 MB">
<!ENTITY perl-ch5-sbu "1.6 SBU">
@ -518,7 +518,7 @@
<!ENTITY psmisc-version "22.21">
<!ENTITY psmisc-size "447 KB">
<!ENTITY psmisc-url "&sourceforge;psmisc/psmisc-&psmisc-version;.tar.gz">
<!ENTITY psmisc-url "http://downloads.sourceforge.net/project/psmisc/psmisc/psmisc-&psmisc-version;.tar.gz">
<!ENTITY psmisc-md5 "935c0fd6eb208288262b385fa656f1bf">
<!ENTITY psmisc-home "http://psmisc.sourceforge.net/">
<!ENTITY psmisc-ch6-du "4.0 MB">
@ -563,7 +563,7 @@
<!ENTITY tcl-version "8.6.1">
<!ENTITY tcl-major-version "8.6">
<!ENTITY tcl-size "8,551 KB">
<!ENTITY tcl-url "&sourceforge;tcl/tcl&tcl-version;-src.tar.gz">
<!ENTITY tcl-url "http://downloads.sourceforge.net/project/tcl/Tcl/&tcl-version;/tcl&tcl-version;-src.tar.gz">
<!ENTITY tcl-md5 "aae4b701ee527c6e4e1a6f9c7399882e">
<!ENTITY tcl-home "http://tcl.sourceforge.net/">
<!ENTITY tcl-ch5-du "55 MB">
@ -579,27 +579,27 @@
<!ENTITY texinfo-ch6-du "101 MB">
<!ENTITY texinfo-ch6-sbu "0.6 SBU">
<!ENTITY systemd-version "212">
<!ENTITY systemd-size "2,659 KB">
<!ENTITY systemd-version "214">
<!ENTITY systemd-size "2,278 KB">
<!ENTITY systemd-url "http://www.freedesktop.org/software/systemd/systemd-&systemd-version;.tar.xz">
<!ENTITY systemd-md5 "257a75fff826ff91cb1ce567091cf270">
<!ENTITY systemd-md5 "eac4f9fc5bd18a0efc3fc20858baacf3">
<!ENTITY systemd-home "http://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-ch6-du "410 MB">
<!ENTITY systemd-ch6-sbu "4.5 SBU">
<!ENTITY tzdata-version "2014b">
<!ENTITY tzdata-size "216 KB">
<!ENTITY tzdata-version "2014d">
<!ENTITY tzdata-size "217 KB">
<!ENTITY tzdata-url "http://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz">
<!ENTITY tzdata-md5 "c58d556612396d4ca5a17807a79924e5">
<!ENTITY tzdata-md5 "299b86c0368ecfb321f15d5c408a1d9b">
<!ENTITY tzdata-home "http://www.iana.org/time-zones">
<!ENTITY tzdata-ch6-du "6.4 MB">
<!ENTITY tzdata-ch6-sbu "less than 0.1 SBU">
<!ENTITY util-linux-version "2.24.1">
<!ENTITY util-linux-size "3,461 KB">
<!ENTITY util-linux-version "2.24.2">
<!ENTITY util-linux-size "3,503 KB">
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v2.24/util-linux-&util-linux-version;.tar.xz">
<!ENTITY util-linux-md5 "88d46ae23ca599ac5af9cf96b531590f">
<!ENTITY util-linux-home "http://userweb.kernel.org/~kzak/util-linux/">
<!ENTITY util-linux-md5 "3f191727a0d28f7204b755cf1b6ea0aa">
<!ENTITY util-linux-home "http://freecode.com/projects/util-linux">
<!ENTITY util-linux-ch5-du "89 MB">
<!ENTITY util-linux-ch5-sbu "0.6 SBU">
<!ENTITY util-linux-ch6-du "89 MB">

View File

@ -2,6 +2,18 @@
<!-- Start of Common Patches -->
<!ENTITY bash-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
<!ENTITY bash-fixes-patch-md5 "749b4b520708300b64f8166ba2b1b4a0">
<!ENTITY bash-fixes-patch-size "14 KB">
<!ENTITY binutils-lto-patch "binutils-&binutils-version;-load_gcc_lto_plugin_by_default-1.patch">
<!ENTITY binutils-lto-patch-md5 "48e4e96a60bfed41804aaecf4944f5d9">
<!ENTITY binutils-lto-patch-size "2.0 KB">
<!ENTITY bc-memory-leak-patch "bc-&bc-version;-memory_leak-1.patch">
<!ENTITY bc-memory-leak-patch-md5 "877e81fba316fe487ec23501059d54b8">
<!ENTITY bc-memory-leak-patch-size "1.4 KB">
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB">
@ -10,6 +22,18 @@
<!ENTITY coreutils-i18n-patch-md5 "54c99871cd0ca20f29bdc9462e27f0df">
<!ENTITY coreutils-i18n-patch-size "140 KB">
<!ENTITY coreutils-shuf-segfault-patch "coreutils-&coreutils-version;-shuf_segfault-1.patch">
<!ENTITY coreutils-shuf-segfault-patch-md5 "f1b5b35392914e327b1b6bbbb454d256">
<!ENTITY coreutils-shuf-segfault-patch-size "4 KB">
<!ENTITY e2fsprogs-fix-test-patch "e2fsprogs-&e2fsprogs-version;-fix_test-1.patch">
<!ENTITY e2fsprogs-fix-test-patch-md5 "7c20605628536db298bb3bb4666047bf">
<!ENTITY e2fsprogs-fix-test-patch-size "0.7 KB">
<!ENTITY gcc-upstream-patch "gcc-&gcc-version;-upstream_fixes-1.patch">
<!ENTITY gcc-upstream-patch-md5 "f070aae5f5f92259ed167539725e6241">
<!ENTITY gcc-upstream-patch-size "4.0 KB">
<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!ENTITY glibc-fhs-patch-size "2.8 KB">
@ -18,13 +42,23 @@
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
<!ENTITY kbd-backspace-patch-size "12 KB">
<!ENTITY mpfr-fixes-patch "mpfr-&mpfr-version;-upstream_fixes-1.patch">
<!ENTITY mpfr-fixes-patch-md5 "aaf52416b309dd0b8c5eb92ae9c210c1">
<!ENTITY mpfr-fixes-patch-size "43 KB">
<!--
<!ENTITY perl-libc-patch "perl-&perl-version;-libc-1.patch">
<!ENTITY perl-libc-patch-md5 "daf5c64fd7311e924966842680535f8f">
<!ENTITY perl-libc-patch-size "1.6 KB">
-->
<!ENTITY readline-fixes-patch "readline-6.3-upstream_fixes-1.patch">
<!ENTITY readline-fixes-patch-md5 "bbee7fad08474328b807e6828c26a961">
<!ENTITY readline-fixes-patch-size "3.1 KB">
<!ENTITY systemd-compat-patch "systemd-&systemd-version;-compat-1.patch">
<!ENTITY systemd-compat-patch-md5 "7a1202e996122e6f2e10e94cba862ed8">
<!ENTITY systemd-compat-patch-size "10 KB">
<!ENTITY systemd-compat-patch-md5 "1f87b648878a0f6f16717e17920d2198">
<!ENTITY systemd-compat-patch-size "8.0 KB">
<!ENTITY tar-manpage-patch "tar-&tar-version;-manpage-1.patch">
<!ENTITY tar-manpage-patch-md5 "321f85ec32733b1a9399e788714a5156">

View File

@ -194,8 +194,21 @@ echo 'main(){}' &gt; dummy.c &amp;&amp; g++ -o dummy dummy.c
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy
rm -f dummy.c dummy</literal>
<!--
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
done
unset lib</literal>-->
EOF
bash version-check.sh</userinput></screen>
<para>Also check for some library consistency:</para>
<screen role="nodump"><userinput>cat &gt; library-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
@ -203,7 +216,11 @@ done
unset lib</literal>
EOF
bash version-check.sh</userinput></screen>
bash library-check.sh</userinput></screen>
<para>The files identified by this script should be all present
or all absent, but not only one or two present.</para>
</sect2>
</sect1>

View File

@ -46,7 +46,7 @@
<para>This guide covers the usage of assorted Linux software. This
reference is also fairly old, but still valid.</para>
</listitem>
<!--
<listitem>
<para>The Essential Pre-Reading Hint
<ulink url="&hints-root;essential_prereading.txt"/></para>
@ -56,7 +56,7 @@
wide range of topics. Anyone attempting to install LFS should have an
understanding of many of the topics in this hint.</para>
</listitem>
-->
</itemizedlist>
</sect1>

View File

@ -37,6 +37,23 @@
library.</para>
</listitem>
<listitem>
<para>Acl</para>
<para>This package contains utilities to administer Access
Control Lists, which are used to define more fine-grained
discretionary access rights for files and directories.
</para>
</listitem>
<listitem>
<para>Attr</para>
<para>This package contains programs for administering
extended attributes on filesystem objects.
</para>
</listitem>
<listitem>
<para>Autoconf</para>
@ -115,6 +132,14 @@
communicate with one another; it is required by Systemd.</para>
</listitem>
<listitem>
<para>D-Bus</para>
<para>This package contains programs to implement a message bus system,
which a simple way for applications to talk to one another.
</para>
</listitem>
<listitem>
<para>DejaGNU</para>
@ -145,6 +170,14 @@
is required by the XML::Parser Perl module.</para>
</listitem>
<listitem>
<para>Expat</para>
<para>This package contains programs for parsing XML. It is
required for systemd.
</para>
</listitem>
<listitem>
<para>Expect</para>
@ -228,6 +261,14 @@
required by Systemd.</para>
</listitem>
<listitem>
<para>Gperf</para>
<para>This package a program that generates a perfect hash function
from a key set. It is required for systemd.
</para>
</listitem>
<listitem>
<para>Grep</para>
@ -279,6 +320,13 @@
by Systemd.</para>
</listitem>
<listitem>
<para>Intltool</para>
<para>This package contains tools for extracting translatable
strings from source files.</para>
</listitem>
<listitem>
<para>IProute2</para>
@ -317,6 +365,14 @@
Systemd.</para>
</listitem>
<listitem>
<para>Libcap</para>
<para>This package implements the user-space interfaces to
the POSIX 1003.1e capabilities available in Linux kernels.
</para>
</listitem>
<listitem>
<para>Libpipeline</para>
@ -463,6 +519,16 @@
running, and shutdown of the system.</para>
</listitem>
<listitem>
<para>Systemd</para>
<para>This package provides and <application>init</application> program
and several additional boot and system control capabilites as an
alternative to Sysvinit. It is used by many commercial distributions.
In LFS it is installed side-by-side with Sysvinit to provide the user with
alternative boot systems for comparison.</para>
</listitem>
<listitem>
<para>Sysvinit</para>
@ -516,6 +582,12 @@
required by the Intltool package.</para>
</listitem>
<listitem>
<para>XML::Parser</para>
<para>This package is a Perl module that interfaces with Expat.</para>
</listitem>
<listitem>
<para>XZ Utils</para>