aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--chapter01/whatsnew.xml3
-rw-r--r--chapter03/packages.xml9
-rw-r--r--chapter03/patches.xml8
-rw-r--r--chapter05/chapter05.xml1
-rw-r--r--chapter05/check.xml97
-rw-r--r--chapter05/tcl.xml14
-rw-r--r--chapter06/gcc.xml5
-rw-r--r--chapter06/glibc.xml4
-rw-r--r--chapter06/libpipeline.xml20
-rw-r--r--packages.ent8
-rw-r--r--patches.ent3
12 files changed, 173 insertions, 9 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 9c4edd4e6..750441da8 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,16 @@
<para>2011-10-10</para>
<itemizedlist>
<listitem>
+ <para>[bdubbs] - Add a patch for gcc to fix some locale
+ tests. Fixes
+ <ulink url="&lfs-ticket-root;2938">#2938</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Add check to Chapter 5 and incorate it into
+ libpipeline. Fixes
+ <ulink url="&lfs-ticket-root;2941">#2941</ulink>.</para>
+ </listitem>
+ <listitem>
<para>[bdubbs] - Add a paragraph in Chapter 3.1 about obtaining and
using md5sums for the packages in the book.</para>
</listitem>
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 5fc543cf4..c61ba28b5 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -240,6 +240,9 @@
<para>&gcc-startfiles-patch;</para>
</listitem>
<listitem>
+ <para>&gcc-locale-patch;</para>
+ </listitem>
+ <listitem>
<para>&glibc-fixes-patch;</para>
</listitem>
<listitem>
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index fdac460d4..85282509b 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -69,6 +69,15 @@
</varlistentry>
<varlistentry>
+ <term>Check (&check-version;) - <token>&check-size;</token>:</term>
+ <listitem>
+ <para>Home page: <ulink url="&check-home;"/></para>
+ <para>Download: <ulink url="&check-url;"/></para>
+ <para>MD5 sum: <literal>&check-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&coreutils-home;"/></para>
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index b6f8e5efa..b100a5959 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -98,6 +98,14 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>GCC Locale Patch - <token>&gcc-locale-patch-size;</token>:</term>
+ <listitem>
+ <para>Download: <ulink url="&patches-root;&gcc-locale-patch;"/></para>
+ <para>MD5 sum: <literal>&gcc-locale-patch-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
<!--
<varlistentry>
<term>GRUB Disk Geometry Patch - <token>&grub-geometry-patch-size;</token>:</term>
diff --git a/chapter05/chapter05.xml b/chapter05/chapter05.xml
index a4edca5e2..2d957c81b 100644
--- a/chapter05/chapter05.xml
+++ b/chapter05/chapter05.xml
@@ -24,6 +24,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
diff --git a/chapter05/check.xml b/chapter05/check.xml
new file mode 100644
index 000000000..20bae7636
--- /dev/null
+++ b/chapter05/check.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-tools-check" role="wrap">
+ <?dbhtml filename="check.html"?>
+
+ <sect1info condition="script">
+ <productname>check</productname>
+ <productnumber>&check-version;</productnumber>
+ <address>&check-url;</address>
+ </sect1info>
+
+ <title>Check-&check-version;</title>
+
+ <indexterm zone="ch-tools-check">
+ <primary sortas="a-Check">Check</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>Check is a unit testing framework for C.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&check-ch5-sbu;</seg>
+ <seg>&check-ch5-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Check</title>
+
+ <para>Prepare Check for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
+
+ <para>Build the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>Compilation is now complete. As discussed earlier, running the test
+ suite is not mandatory for the temporary tools here in this chapter. To run
+ the Check test suite anyway, issue the following command:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+ <para>Note that the Check test suite may take a relatively long
+ (up to 4 SBU) time.</para>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-check" role="content">
+ <title>Contents of Check</title>
+
+ <segmentedlist>
+ <segtitle>Installed library</segtitle>
+
+ <seglistitem>
+ <seg>libcheck.{a,so}</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="libcheck">
+ <term><filename class="libraryfile">libcheck.{a,so}</filename></term>
+ <listitem>
+ <para>Contains functions that allow Check to be called from a test
+ program</para>
+ <indexterm zone="ch-tools-check libcheck">
+ <primary sortas="c-libcheck">libcheck</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>
diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml
index 20ad0ced4..8384b5ea0 100644
--- a/chapter05/tcl.xml
+++ b/chapter05/tcl.xml
@@ -40,13 +40,13 @@
<sect2 role="installation">
<title>Installation of Tcl</title>
- <para>This package and the next two (Expect and DejaGNU) are installed
- to support running the test suites for GCC and Binutils. Installing
- three packages for testing purposes may seem excessive, but it is very
- reassuring, if not essential, to know that the most important tools are
- working properly. Even if the test suites are not run in this chapter
- (they are not mandatory), these packages are required to run the test
- suites in <xref linkend="chapter-building-system"/>.</para>
+ <para>This package and the next three (Expect, DejaGNU, and Check) are
+ installed to support running the test suites for GCC and Binutils and other
+ packages. Installing four packages for testing purposes may seem
+ excessive, but it is very reassuring, if not essential, to know that the
+ most important tools are working properly. Even if the test suites are not
+ run in this chapter (they are not mandatory), these packages are required
+ to run the test suites in <xref linkend="chapter-building-system"/>.</para>
<para>Prepare Tcl for compilation:</para>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index b2b0cd6b2..74665889a 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -66,6 +66,11 @@ esac</userinput></screen>
<screen><userinput remap="pre">sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen>
+ <para>Finally, apply a patch that corrects the test code for locale changes
+ that were made in glibc-2.14 and later.</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../gcc-4.6.1-locale-1.patch</userinput></screen>
+
<para>The GCC documentation recommends building GCC outside of the source
directory in a dedicated build directory:</para>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index e03617d5a..819bcdb95 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -205,6 +205,10 @@ grep Error glibc-check-log</userinput></screen>
help eliminate these errors (e.g. <command>TIMEOUTFACTOR=16
make -k check</command>).</para>
</listitem>
+ <listitem>
+ <para>Other tests known to fail on some architectures are posix/bug-regex32,
+ misc/tst-writev, elf/check-textrel, nptl/tst-getpid2, and stdio-common/bug22.</para>
+ </listitem>
</itemizedlist>
<para>Though it is a harmless message, the install stage of Glibc will
diff --git a/chapter06/libpipeline.xml b/chapter06/libpipeline.xml
index 1c832d0e3..a2a573892 100644
--- a/chapter06/libpipeline.xml
+++ b/chapter06/libpipeline.xml
@@ -43,13 +43,29 @@
<para>Prepare Libpipeline for compilation:</para>
-<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+<screen><userinput remap="configure">./configure CHECK_CFLAGS=-I/tools/include \
+ CHECK_LIBS="-L/tools/lib -lcheck" --prefix=/usr</userinput></screen>
+
+ <variablelist>
+ <title>The meaning of the configure options:</title>
+
+ <varlistentry>
+ <term><parameter>CHECK_CFLAGS=, CHECK_LIBS=</parameter></term>
+ <listitem>
+ <para>These environment variables specify the location of the test
+ library built in <xref linkend="ch-tools-check"/>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
- <para>This package does not come with a test suite.</para>
+ <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para>
diff --git a/packages.ent b/packages.ent
index c7f8d6243..1a95c0816 100644
--- a/packages.ent
+++ b/packages.ent
@@ -69,6 +69,14 @@
<!ENTITY bzip2-ch6-du "6.4 MB">
<!ENTITY bzip2-ch6-sbu "less than 0.1 SBU">
+<!ENTITY check-version "0.9.8">
+<!ENTITY check-size "546 KB">
+<!ENTITY check-url "http://sourceforge.net/projects/check/files/check/&check-version;/check-&check-version;.tar.gz">
+<!ENTITY check-md5 "5d75e9a6027cde79d2c339ef261e7470">
+<!ENTITY check-home "http://check.sourceforge.net/">
+<!ENTITY check-ch5-du "4.8 MB">
+<!ENTITY check-ch5-sbu "0.1 SBU">
+
<!ENTITY coreutils-version "8.13">
<!ENTITY coreutils-size "11,388 KB">
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.gz">
diff --git a/patches.ent b/patches.ent
index a5e6ccf10..d60aa4cdc 100644
--- a/patches.ent
+++ b/patches.ent
@@ -39,6 +39,9 @@
<!ENTITY gcc-startfiles-patch-md5 "799ef1971350d2e3c794f2123f247cc6">
<!ENTITY gcc-startfiles-patch-size "1.5 KB">
+<!ENTITY gcc-locale-patch "gcc-&gcc-version;-locale-1.patch">
+<!ENTITY gcc-locale-patch-md5 "406572f979f480be1450eb88eea08caa">
+<!ENTITY gcc-locale-patch-size "4 KB">
<!ENTITY glibc-fixes-patch "glibc-&glibc-version;-fixes-2.patch">
<!ENTITY glibc-fixes-patch-md5 "b0d442bb7057d036cd7545a3bf051fc1">