aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDJ Lucas <dj@linuxfromscratch.org>2014-06-14 19:51:45 +0000
committerDJ Lucas <dj@linuxfromscratch.org>2014-06-14 19:51:45 +0000
commit61ce0b1fe4ffbf86ef3189e733f9f372cac419aa (patch)
tree4d470e322c309bbd743befe34f84f06d4c95b040
parent6f34f438e62ee95fd8b9025984ecc0a0bafd1f32 (diff)
Synchronized with LFS-SVN-20140611.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10576 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--chapter01/changelog.xml279
-rw-r--r--chapter01/how.xml2
-rw-r--r--chapter01/whatsnew.xml74
-rw-r--r--chapter02/chapter02.xml1
-rw-r--r--chapter03/patches.xml60
-rw-r--r--chapter04/aboutsbus.xml3
-rw-r--r--chapter04/chapter04.xml3
-rw-r--r--chapter04/settingenviron.xml9
-rw-r--r--chapter05/binutils-pass2.xml1
-rw-r--r--chapter05/gcc-pass1.xml22
-rw-r--r--chapter05/gcc-pass2.xml16
-rw-r--r--chapter05/libstdc++.xml2
-rw-r--r--chapter05/perl.xml8
-rw-r--r--chapter05/util-linux.xml1
-rw-r--r--chapter06/acl.xml6
-rw-r--r--chapter06/automake.xml12
-rw-r--r--chapter06/bash.xml4
-rw-r--r--chapter06/bc.xml4
-rw-r--r--chapter06/binutils.xml18
-rw-r--r--chapter06/coreutils.xml8
-rw-r--r--chapter06/createfiles.xml92
-rw-r--r--chapter06/dbus.xml7
-rw-r--r--chapter06/e2fsprogs.xml17
-rw-r--r--chapter06/gcc.xml31
-rw-r--r--chapter06/gdbm.xml49
-rw-r--r--chapter06/glibc.xml6
-rw-r--r--chapter06/groff.xml6
-rw-r--r--chapter06/mpfr.xml5
-rw-r--r--chapter06/perl.xml4
-rw-r--r--chapter06/readline.xml7
-rw-r--r--chapter06/shadow.xml5
-rw-r--r--chapter06/systemd.xml7
-rw-r--r--general.ent5
-rw-r--r--packages.ent108
-rw-r--r--patches.ent38
-rw-r--r--prologue/hostreqs.xml21
-rw-r--r--prologue/prerequisites.xml4
-rw-r--r--prologue/why.xml72
38 files changed, 807 insertions, 210 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index c910be0d2..25dcce833 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -36,6 +36,283 @@
</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>
<listitem>
@@ -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>
diff --git a/chapter01/how.xml b/chapter01/how.xml
index 2708a7c50..d85c3e62f 100644
--- a/chapter01/how.xml
+++ b/chapter01/how.xml
@@ -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
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index b6fc1645b..2f5f76159 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -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>
diff --git a/chapter02/chapter02.xml b/chapter02/chapter02.xml
index 4402a6d9d..84484ccce 100644
--- a/chapter02/chapter02.xml
+++ b/chapter02/chapter02.xml
@@ -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>
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 581a3763c..271eca266 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -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>
@@ -43,6 +59,30 @@
</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>
<para>Download: <ulink url="&patches-root;&glibc-fhs-patch;"/></para>
@@ -59,12 +99,28 @@
</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>
<para>Download: <ulink url="&patches-root;&perl-libc-patch;"/></para>
<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>
diff --git a/chapter04/aboutsbus.xml b/chapter04/aboutsbus.xml
index 265cec244..61eb2276d 100644
--- a/chapter04/aboutsbus.xml
+++ b/chapter04/aboutsbus.xml
@@ -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
diff --git a/chapter04/chapter04.xml b/chapter04/chapter04.xml
index b7f5cb2d4..fe3cdbd74 100644
--- a/chapter04/chapter04.xml
+++ b/chapter04/chapter04.xml
@@ -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"/>
diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml
index 485269e3b..02cd717d4 100644
--- a/chapter04/settingenviron.xml
+++ b/chapter04/settingenviron.xml
@@ -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
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index 9ebf763e7..182fad342 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -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>
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 8ba097d10..0900831f6 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -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">
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index ec9354e18..85cc1aff9 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -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>
diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml
index 23d0a3a4a..d93f46bc5 100644
--- a/chapter05/libstdc++.xml
+++ b/chapter05/libstdc++.xml
@@ -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
diff --git a/chapter05/perl.xml b/chapter05/perl.xml
index bad873d63..401a94d07 100644
--- a/chapter05/perl.xml
+++ b/chapter05/perl.xml
@@ -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>
diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml
index 07b8282e6..1b25e50f3 100644
--- a/chapter05/util-linux.xml
+++ b/chapter05/util-linux.xml
@@ -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">
diff --git a/chapter06/acl.xml b/chapter06/acl.xml
index 4da5e353b..e89bee48b 100644
--- a/chapter06/acl.xml
+++ b/chapter06/acl.xml
@@ -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>
diff --git a/chapter06/automake.xml b/chapter06/automake.xml
index d02700a27..117f9c48b 100644
--- a/chapter06/automake.xml
+++ b/chapter06/automake.xml
@@ -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>
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index d19ea1a25..12f063c1b 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -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 \
diff --git a/chapter06/bc.xml b/chapter06/bc.xml
index 0957421bd..17be4bfcf 100644
--- a/chapter06/bc.xml
+++ b/chapter06/bc.xml
@@ -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 \
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index d54cbe45e..dc3904c9e 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -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>
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index b1e5199a2..d7577694f 100644
--- a/chapter06/coreutils.xml
+++ b/chapter06/coreutils.xml
@@ -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>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 5161d6505..1aa193ec8 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -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
diff --git a/chapter06/dbus.xml b/chapter06/dbus.xml
index 476baf41d..9ed4e5b6b 100644
--- a/chapter06/dbus.xml
+++ b/chapter06/dbus.xml
@@ -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">
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index 7aca00f9e..ca9268d48 100644
--- a/chapter06/e2fsprogs.xml
+++ b/chapter06/e2fsprogs.xml
@@ -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>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 063e0146a..9ab97ea22 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -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>
diff --git a/chapter06/gdbm.xml b/chapter06/gdbm.xml
index 051207671..a5dacdbcc 100644
--- a/chapter06/gdbm.xml
+++ b/chapter06/gdbm.xml
@@ -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>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 114409670..637d28c4b 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -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>
diff --git a/chapter06/groff.xml b/chapter06/groff.xml
index 69a51a36c..9e837f5fc 100644
--- a/chapter06/groff.xml
+++ b/chapter06/groff.xml
@@ -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">
diff --git a/chapter06/mpfr.xml b/chapter06/mpfr.xml
index 708101891..517baf755 100644
--- a/chapter06/mpfr.xml
+++ b/chapter06/mpfr.xml
@@ -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 \
diff --git a/chapter06/perl.xml b/chapter06/perl.xml
index 24f99adf0..645016932 100644
--- a/chapter06/perl.xml
+++ b/chapter06/perl.xml
@@ -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>
diff --git a/chapter06/readline.xml b/chapter06/readline.xml
index 5c0e3caf2..b17380a98 100644
--- a/chapter06/readline.xml
+++ b/chapter06/readline.xml
@@ -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>
diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml
index 0f30426d8..8742bda28 100644
--- a/chapter06/shadow.xml
+++ b/chapter06/shadow.xml
@@ -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>
diff --git a/chapter06/systemd.xml b/chapter06/systemd.xml
index 1229318fb..3961d5a53 100644
--- a/chapter06/systemd.xml
+++ b/chapter06/systemd.xml
@@ -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 \
diff --git a/general.ent b/general.ent
index 249ebd963..905b0f243 100644
--- a/general.ent
+++ b/general.ent
@@ -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}]" -->
diff --git a/packages.ent b/packages.ent
index 2bfc399cb..feee24272 100644
--- a/packages.ent
+++ b/packages.ent
@@ -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">
diff --git a/patches.ent b/patches.ent
index 3ea733d55..6aa7e5088 100644
--- a/patches.ent
+++ b/patches.ent
@@ -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">
diff --git a/prologue/hostreqs.xml b/prologue/hostreqs.xml
index 0a73e0132..51b112eb8 100644
--- a/prologue/hostreqs.xml
+++ b/prologue/hostreqs.xml
@@ -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>
diff --git a/prologue/prerequisites.xml b/prologue/prerequisites.xml
index 932c92280..3da5037dc 100644
--- a/prologue/prerequisites.xml
+++ b/prologue/prerequisites.xml
@@ -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>
diff --git a/prologue/why.xml b/prologue/why.xml
index 2e243be3d..bc2db831b 100644
--- a/prologue/why.xml
+++ b/prologue/why.xml
@@ -38,6 +38,23 @@
</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>
<para>This package contains programs for producing shell scripts that
@@ -116,6 +133,14 @@
</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>
<para>This package contains a framework for testing other programs.
@@ -146,6 +171,14 @@
</listitem>
<listitem>
+ <para>Expat</para>
+
+ <para>This package contains programs for parsing XML. It is
+ required for systemd.
+ </para>
+ </listitem>
+
+ <listitem>
<para>Expect</para>
<para>This package contains a program for carrying out scripted
@@ -229,6 +262,14 @@
</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>
<para>This package contains programs for searching through files. These
@@ -280,6 +321,13 @@
</listitem>
<listitem>
+ <para>Intltool</para>
+
+ <para>This package contains tools for extracting translatable
+ strings from source files.</para>
+ </listitem>
+
+ <listitem>
<para>IProute2</para>
<para>This package contains programs for basic and advanced IPv4 and
@@ -318,6 +366,14 @@
</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>
<para>The Libpipeline package contains a library for manipulating
@@ -464,6 +520,16 @@
</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>
<para>This package provides misc. utils needed by some packages.</para>
@@ -517,6 +583,12 @@
</listitem>
<listitem>
+ <para>XML::Parser</para>
+
+ <para>This package is a Perl module that interfaces with Expat.</para>
+ </listitem>
+
+ <listitem>
<para>XZ Utils</para>
<para>This package contains programs for compressing and decompressing