aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--appendixa/coreutils-down.xml2
-rw-r--r--appendixa/glibc-down.xml11
-rw-r--r--appendixa/shadowpwd-down.xml4
-rw-r--r--chapter01/changelog.xml14
-rw-r--r--chapter04/chapter04.xml39
-rw-r--r--chapter05/coreutils.xml14
-rw-r--r--chapter05/glibc.xml47
-rw-r--r--chapter06/binutils.xml4
-rw-r--r--chapter06/coreutils.xml4
-rw-r--r--chapter06/glibc.xml31
-rw-r--r--chapter06/shadowpwd.xml33
-rw-r--r--chapter06/vim.xml2
-rw-r--r--chapter08/grub.xml8
-rw-r--r--entities/coreutils.ent2
-rw-r--r--entities/glibc.ent19
-rw-r--r--entities/kbd.ent6
-rw-r--r--entities/perl.ent8
-rw-r--r--entities/shadow.ent11
-rw-r--r--index.xml4
19 files changed, 137 insertions, 126 deletions
diff --git a/appendixa/coreutils-down.xml b/appendixa/coreutils-down.xml
index 0b9ae165f..afc6cd999 100644
--- a/appendixa/coreutils-down.xml
+++ b/appendixa/coreutils-down.xml
@@ -2,5 +2,7 @@
<ulink url="ftp://ftp.gnu.org/gnu/coreutils/"/>
And for the Coreutils Hostname Patch:
<ulink url="&patches-root;&coreutils-hostname-patch;"/>
+And for the Coreutils Posixver Patch:
+<ulink url="&patches-root;&coreutils-posixver-patch;"/>
And for the Coreutils Uname Patch:
<ulink url="&patches-root;&coreutils-uname-patch;"/></literallayout>
diff --git a/appendixa/glibc-down.xml b/appendixa/glibc-down.xml
index 835afd30e..15083edcf 100644
--- a/appendixa/glibc-down.xml
+++ b/appendixa/glibc-down.xml
@@ -1,6 +1,9 @@
<literallayout>Official download location for Glibc (&glibc-version;):
<ulink url="ftp://ftp.gnu.org/gnu/glibc/"/>
-And for Glibc-linuxthreads (&glibc-version;):
-<ulink url="ftp://ftp.gnu.org/gnu/glibc/"/>
-And for the Glibc Sscanf Patch:
-<ulink url="&patches-root;&glibc-sscanf-patch;"/></literallayout>
+
+Alternate Download Locations (courtesy of the generous LFS Mirrors):
+<ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-package;"/>
+<ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-package;"/>
+<ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-package;"/>
+<ulink url="http://dl.lfs.fredan.org/&glibc-package;"/>
+<ulink url="http://packages.lfs-es.org/&glibc-package;"/></literallayout>
diff --git a/appendixa/shadowpwd-down.xml b/appendixa/shadowpwd-down.xml
index a74d4ad1c..834d8eb1d 100644
--- a/appendixa/shadowpwd-down.xml
+++ b/appendixa/shadowpwd-down.xml
@@ -1,4 +1,2 @@
<literallayout>Official download location for Shadow (&shadow-version;):
-<ulink url="ftp://ftp.pld.org.pl/software/shadow/"/>
-And for the Shadow Newgrp Patch:
-<ulink url="&patches-root;&shadow-patch;"/></literallayout>
+<ulink url="ftp://ftp.pld.org.pl/software/shadow/"/></literallayout>
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 2da8d7000..313820acd 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -13,15 +13,17 @@
<listitem><para>file-4.07</para></listitem>
<listitem><para>gcc-3.3.2</para></listitem>
<listitem><para>gettext-0.13.1</para></listitem>
-<listitem><para>kbd-1.11</para></listitem>
+<listitem><para>glibc-2.3.3</para></listitem>
+<listitem><para>kbd-1.12</para></listitem>
<listitem><para>man-pages-1.64</para></listitem>
<listitem><para>lfs-utils-0.4.2</para></listitem>
<listitem><para>linux-2.4.24</para></listitem>
<listitem><para>modutils-2.4.26</para></listitem>
-<listitem><para>perl-5.8.2</para></listitem>
+<listitem><para>perl-5.8.3</para></listitem>
<listitem><para>procps-3.1.15</para></listitem>
<listitem><para>psmisc-21.4</para></listitem>
<listitem><para>sed-4.0.9</para></listitem>
+<listitem><para>shadow-4.0.4.1</para></listitem>
<listitem><para>tcl-8.4.5</para></listitem>
<listitem><para>zlib-1.2.1</para></listitem>
</itemizedlist>
@@ -29,9 +31,10 @@
<listitem><para>Added:</para>
<itemizedlist>
+<listitem><para>coreutils-5.0-posixver-2.patch</para></listitem>
<listitem><para>gcc-3.3.2-no_fixincludes-1.patch</para></listitem>
<listitem><para>inetutils-1.4.2-no_server_man_pages-1.patch</para></listitem>
-<listitem><para>kbd-1.11-more-programs-1.patch</para></listitem>
+<listitem><para>kbd-1.12-more-programs-1.patch</para></listitem>
</itemizedlist>
</listitem>
@@ -40,16 +43,21 @@
<listitem><para>gawk-3.1.3-libexecdir.patch</para></listitem>
<listitem><para>gcc-3.3.1-no_fixincludes-2.patch</para></listitem>
<listitem><para>gcc-3.3.1-suppress-libiberty.patch</para></listitem>
+<listitem><para>glibc-2.3.2-sscanf-1.patch</para></listitem>
<listitem><para>grub-0.93-gcc33-1.patch</para></listitem>
<listitem><para>kbd-1.08-more-programs.patch</para></listitem>
<listitem><para>man-1.5m2-manpath.patch</para></listitem>
<listitem><para>man-1.5m2-pager.patch</para></listitem>
<listitem><para>ncurses-5.3-vsscanf.patch</para></listitem>
<listitem><para>procps-3.1.11-locale-fix.patch</para></listitem>
+<listitem><para>shadow-4.0.3-newgrp-fix.patch</para></listitem>
<listitem><para>zlib-1.1.4-vsnprintf.patch</para></listitem>
</itemizedlist>
</listitem>
+<listitem><para>January 19th, 2004 [greg]: Upgraded to Glibc-2.3.3, Kbd-1.12,
+Perl-5.8.3 and Shadow-4.0.4.1.</para></listitem>
+
<listitem><para>January 19th, 2004 [alex]: Chapter 2 - Added a reference to
Bruce's pages on build times and SBUs.</para></listitem>
diff --git a/chapter04/chapter04.xml b/chapter04/chapter04.xml
index 1643e9b26..9890a587c 100644
--- a/chapter04/chapter04.xml
+++ b/chapter04/chapter04.xml
@@ -101,7 +101,7 @@ Ed (&ed-version;) - &ed-size;:
Expect (&expect-version;) - &expect-size;:
<ulink url="http://freshmeat.net/projects/expect/"/>
-File (&file-version;) - &file-size;: (*) See Note Below
+File (&file-version;) - &file-size;: -- <emphasis role="strong">(*) See Note 1 Below</emphasis>
<ulink url="http://freshmeat.net/projects/file/"/>
Findutils (&findutils-version;) - &findutils-size;:
@@ -128,10 +128,7 @@ GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;:
Gettext (&gettext-version;) - &gettext-size;:
<ulink url="http://freshmeat.net/projects/gettext/"/>
-Glibc (&glibc-version;) - &glibc-size;:
-<ulink url="http://freshmeat.net/projects/glibc/"/>
-
-Glibc-linuxthreads (&glibc-version;) - &glibc-threads-size;:
+Glibc (&glibc-version;) - &glibc-size;: -- <emphasis role="strong">(*) See Note 2 Below</emphasis>
<ulink url="http://freshmeat.net/projects/glibc/"/>
Grep (&grep-version;) - &grep-size;:
@@ -239,10 +236,25 @@ Zlib (&zlib-version;) - &zlib-size;:
Total size of these packages: &all-size-mb;
</literallayout>
-<note><para>File (&file-version;) may not be available by the time you read
-this. The master download location is known to remove old versions when new
-ones are released. Please refer to the corresponding section in
-<xref linkend="appendixa"/> for an alternate download location.</para></note>
+<note><para>1) File (&file-version;) may not be available by the time you read
+this. The site admins of the master download location are known to occasionally
+remove old versions when new ones are released. Please refer to the
+<xref linkend="ch06-file"/> section for an alternate download
+location.</para></note>
+
+<note><para>2) As of this writing, the Glibc maintainers have decided in their
+wisdom not to make available new release tarballs for download. The only way to
+obtain the current Glibc release from pristine upstream sources is to pull it
+from the Glibc CVS repository. The following commands will download the current
+release and make a tarball from it:</para>
+
+<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
+&nbsp;&nbsp;&nbsp;&nbsp;export -d &glibc-dir; -D "2003-12-02 UTC" libc
+tar jcvf &glibc-package; &glibc-dir;</userinput></screen>
+
+<para>Alternatively, we've made our own tarball available which you can
+download courtesy of the generous LFS mirror sites. Please refer to the
+<xref linkend="ch06-glibc"/> section for the download links.</para></note>
</sect1>
@@ -266,6 +278,9 @@ Bison Attribute Patch - &bison-patch-size;:
Coreutils Hostname Patch - &coreutils-hostname-patch-size;:
<ulink url="&patches-root;&coreutils-hostname-patch;"/>
+Coreutils Posixver Patch - &coreutils-posixver-patch-size;:
+<ulink url="&patches-root;&coreutils-posixver-patch;"/>
+
Coreutils Uname Patch - &coreutils-uname-patch-size;:
<ulink url="&patches-root;&coreutils-uname-patch;"/>
@@ -290,9 +305,6 @@ GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;:
GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;:
<ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/>
-Glibc Sscanf Patch - &glibc-sscanf-patch-size;:
-<ulink url="&patches-root;&glibc-sscanf-patch;"/>
-
Inetutils No-Server-Man-Pages Patch - &inetutils-no-server-man-pages-patch-size;:
<ulink url="&patches-root;&inetutils-no-server-man-pages-patch;"/>
@@ -310,9 +322,6 @@ Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;:
Perl Libc Patch - &perl-libc-patch-size;:
<ulink url="&patches-root;&perl-libc-patch;"/>
-
-Shadow Newgrp Patch - &shadow-patch-size;:
-<ulink url="&patches-root;&shadow-patch;"/>
</literallayout>
<para>In addition to the above required patches, there exist a number of
diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml
index 31d59312b..70362f9fc 100644
--- a/chapter05/coreutils.xml
+++ b/chapter05/coreutils.xml
@@ -15,7 +15,19 @@ Estimated required disk space: &coreutils-compsize-tools;</screen>
<sect2>
<title>Installation of Coreutils</title>
-<para>Prepare Coreutils for compilation:</para>
+<para>Coreutils has an issue when compiled against Glibc-&glibc-version;.
+Without the patch below, some of the Coreutils utilities (head, tail, sort etc)
+will reject their traditional syntax which has been in use for approximately 30
+years. The old syntax is so pervasive that compatibility must be preserved until
+the many places where it is used can be updated. More details are provided in
+the comments inside the patch itself. Use of this patch is by no means
+compulsory but opting not to use it means you'll have deal with the consequences
+yourself, i.e. patch the many software packages that use the old syntax. Apply
+the patch:</para>
+
+<screen><userinput>patch -Np1 -i ../&coreutils-posixver-patch;</userinput></screen>
+
+<para>Now prepare Coreutils for compilation:</para>
<screen><userinput>./configure --prefix=/tools</userinput></screen>
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 1f178dd15..58f198917 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -13,11 +13,6 @@ Estimated required disk space: &glibc-compsize-tools;</screen>
<sect2>
<title>Installation of Glibc</title>
-<para>Before starting to install Glibc, you must <userinput>cd</userinput>
-into the <filename>glibc-&glibc-version;</filename> directory and unpack
-Glibc-linuxthreads in that directory, not in the directory where you usually
-unpack all the sources.</para>
-
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
@@ -27,11 +22,6 @@ them when building Glibc.</para>
<para>Basically, compiling Glibc in any other way than the book suggests
is putting the stability of your system at risk.</para>
-<para>Glibc has a subtle problem when compiled with GCC &gcc-version;.
-Apply the following patch to fix this:</para>
-
-<screen><userinput>patch -Np1 -i ../&glibc-sscanf-patch;</userinput></screen>
-
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>
@@ -40,11 +30,11 @@ cd ../glibc-build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
-<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons \
+<screen><userinput>../&glibc-dir;/configure --prefix=/tools \
+&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons=linuxthreads \
&nbsp;&nbsp;&nbsp;&nbsp;--with-headers=/tools/include \
&nbsp;&nbsp;&nbsp;&nbsp;--with-binutils=/tools/bin \
-&nbsp;&nbsp;&nbsp;&nbsp;--without-gd</userinput></screen>
+&nbsp;&nbsp;&nbsp;&nbsp;--without-gd --without-cvs</userinput></screen>
<para>The meaning of the configure options:</para>
@@ -53,8 +43,9 @@ cd ../glibc-build</userinput></screen>
building of the libraries with profiling information. Omit this option if you
plan to do profiling.</para></listitem>
-<listitem><para><userinput>--enable-add-ons</userinput>: This enables any
-add-ons that were installed with Glibc, in our case Linuxthreads.</para></listitem>
+<listitem><para><userinput>--enable-add-ons=linuxthreads</userinput>: This
+tells Glibc to use the Linuxthreads add-on as its threading
+library.</para></listitem>
<listitem><para><userinput>--with-binutils=/tools/bin</userinput> and
<userinput>--with-headers=/tools/include</userinput>: Strictly speaking
@@ -62,10 +53,16 @@ these switches are not required. But they ensure nothing can go wrong with
regard to what kernel headers and Binutils programs get used during the
Glibc build.</para></listitem>
-<listitem><para><userinput> --without-gd</userinput>: This switch ensures
+<listitem><para><userinput>--without-gd</userinput>: This switch ensures
that we don't build the <userinput>memusagestat</userinput> program, which
strangely enough insists on linking against the host's libraries (libgd,
libpng, libz, and so forth).</para></listitem>
+
+<listitem><para><userinput>--without-cvs</userinput>: This is meant to prevent
+the Makefiles from attempting automatic CVS commits when using a CVS snapshot.
+But it's not actually needed these days. We use it because it silences an
+annoying but harmless warning about a missing <filename>autoconf</filename>
+program.</para></listitem>
</itemizedlist>
<para>During this stage you might see the following warning:</para>
@@ -158,15 +155,15 @@ command will do so:</para>
<screen><userinput>make localedata/install-locales</userinput></screen>
-<para>An alternative to running the previous command is to install only
-those locales which you need or want. This can be achieved by using the
-<userinput>localedef</userinput> command. Information on this can be
-found in the <filename>INSTALL</filename> file in the
-<filename>glibc-&glibc-version;</filename> source. However, there are a number
-of locales that are essential for the tests of future packages to pass, in
-particular, the <emphasis>libstdc++</emphasis> tests from GCC. The following
-instructions, instead of the install-locales target above, will install
-the minimum set of locales necessary for the tests to run successfully:</para>
+<para>An alternative to running the previous command is to install only those
+locales which you need or want. This can be achieved by using the
+<userinput>localedef</userinput> command. Information on this can be found in
+the <filename>INSTALL</filename> file in the Glibc source. However, there are
+a number of locales that are essential for the tests of future packages to
+pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
+following instructions, instead of the install-locales target above, will
+install the minimum set of locales necessary for the tests to run
+successfully:</para>
<screen><userinput>mkdir -p /tools/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index 11e7226c5..02f771868 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -28,8 +28,8 @@ everything is set up correctly by performing a simple test:</para>
<para>Your chroot environment is not set up for proper PTY operation. In this
case there is no point in running the test suites for Binutils and GCC until you
are able to resolve the issue. Please refer back to <xref linkend="ch06-proc"/>
-and <xref linkend="ch06-MAKEDEV"/> and perform the recommended steps to fix the
-problem.</para>
+and the <xref linkend="ch06-MAKEDEV"/> section and perform the recommended steps
+to fix the problem.</para>
<note><para>The test suite for Binutils in this section is considered
<emphasis>critical</emphasis>. Our advice is to not skip it under any
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index 9ceb62437..815a272c5 100644
--- a/chapter06/coreutils.xml
+++ b/chapter06/coreutils.xml
@@ -16,6 +16,10 @@ Estimated required disk space: &coreutils-compsize;</screen>
<sect2>
<title>Installation of Coreutils</title>
+<para>Apply the same "Posixver" patch we used previously:</para>
+
+<screen><userinput>patch -Np1 -i ../&coreutils-posixver-patch;</userinput></screen>
+
<para>Normally the functionality of <userinput>uname</userinput> is somewhat
broken, in that the <userinput>-p</userinput> switch always returns "unknown".
The following patch fixes this behaviour for Intel architectures:</para>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 5bb78e198..3009a84d2 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -28,14 +28,8 @@ results and thus defeat our goal of achieving a clean build.</para>
<emphasis>critical</emphasis>. Our advice is to not skip it under any
circumstance.</para></note>
-<para>Before starting to build Glibc, remember to unpack the Glibc-linuxthreads
-again inside the <filename>glibc-&glibc-version;</filename> directory, and to
-unset any environment variables that override the default optimization
-flags.</para>
-
-<para>Apply the same patch we used previously:</para>
-
-<screen><userinput>patch -Np1 -i ../&glibc-sscanf-patch;</userinput></screen>
+<para>Before starting to build Glibc, remember to unset any environment
+variables that override the default optimization flags.</para>
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>
@@ -45,9 +39,10 @@ cd ../glibc-build</userinput></screen>
<para>Now prepare Glibc for compilation:</para>
-<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
-&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons \
-&nbsp;&nbsp;&nbsp;&nbsp;--libexecdir=/usr/lib --with-headers=/usr/include</userinput></screen>
+<screen><userinput>../&glibc-dir;/configure --prefix=/usr \
+&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons=linuxthreads \
+&nbsp;&nbsp;&nbsp;&nbsp;--libexecdir=/usr/lib --with-headers=/usr/include \
+&nbsp;&nbsp;&nbsp;&nbsp;--without-cvs</userinput></screen>
<para>The meaning of the new configure options:</para>
@@ -95,14 +90,14 @@ weren't installed by the above command. Do it with this:</para>
<screen><userinput>make localedata/install-locales</userinput></screen>
<para>An alternative to running the previous command is to install only those
-locales which you need or want. This can be achieved using the
+locales which you need or want. This can be achieved by using the
<userinput>localedef</userinput> command. Information on this can be found in
-the <filename>INSTALL</filename> file in the
-<filename>glibc-&glibc-version;</filename> tree. However, there are a number
-of locales that are essential for the tests of future packages to pass
-correctly. The following instructions, in place of the install-locales
-command above, will install the minimum set of locales necessary for the
-tests to run successfully:</para>
+the <filename>INSTALL</filename> file in the Glibc source. However, there are
+a number of locales that are essential for the tests of future packages to
+pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
+following instructions, instead of the install-locales target above, will
+install the minimum set of locales necessary for the tests to run
+successfully:</para>
<screen><userinput>mkdir -p /usr/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
diff --git a/chapter06/shadowpwd.xml b/chapter06/shadowpwd.xml
index 89cfd5d39..a89df4002 100644
--- a/chapter06/shadowpwd.xml
+++ b/chapter06/shadowpwd.xml
@@ -27,15 +27,14 @@ the package incorrectly assumes it is going to be located at
<screen><userinput>touch /usr/bin/passwd</userinput></screen>
-<para>The current Shadow suite has a problem that causes the
-<userinput>newgrp</userinput> command to fail. The following patch (also
-appearing in Shadow's CVS code) fixes this problem:</para>
+<para>Now prepare Shadow for compilation:</para>
-<screen><userinput>patch -Np1 -i ../&shadow-patch;</userinput></screen>
+<screen><userinput>./configure --libdir=/usr/lib --enable-shared</userinput></screen>
-<para>Now prepare Shadow for compilation:</para>
+<para>Work around a problem that prevents Shadow's internationalization from
+working:</para>
-<screen><userinput>./configure --prefix=/usr --libdir=/usr/lib --enable-shared</userinput></screen>
+<screen><userinput>echo '#define HAVE_SETLOCALE 1' >> config.h</userinput></screen>
<para>Compile the package:</para>
@@ -65,20 +64,10 @@ relevant configuration file while copying it to its destination:</para>
<note><para>Be extra careful when typing all of the above. It is probably safer
to cut-and-paste it rather than try and type it all in.</para></note>
-<para>According to the man page of <userinput>vipw</userinput>, a
-<userinput>vigr</userinput> program should exist too. Since the installation
-procedure doesn't create this program, create a symlink manually:</para>
-
-<screen><userinput>ln -s vipw /usr/sbin/vigr</userinput></screen>
-
-<para>As the <filename>/bin/vipw</filename> symlink is redundant (and even
-pointing to a non-existent file), remove it:</para>
-
-<screen><userinput>rm /bin/vipw</userinput></screen>
-
-<para>Now move the <userinput>sg</userinput> program to its proper place:</para>
+<para>Move some misplaced symlinks to their proper locations:</para>
-<screen><userinput>mv /bin/sg /usr/bin</userinput></screen>
+<screen><userinput>mv /bin/sg /usr/bin
+mv /bin/vigr /usr/sbin</userinput></screen>
<para>And move Shadow's dynamic libraries to a more appropriate location:</para>
@@ -95,9 +84,9 @@ directory for it to work properly:</para>
<screen><userinput>mkdir /etc/default</userinput></screen>
-<para>Coreutils has already installed a <userinput>groups</userinput> program
-in <filename>/usr/bin</filename>. If you wish, you can remove the one
-installed by Shadow:</para>
+<para>Coreutils has already installed a better <userinput>groups</userinput>
+program in <filename>/usr/bin</filename>. Remove the one installed by
+Shadow:</para>
<screen><userinput>rm /bin/groups</userinput></screen>
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index 06a10aebc..e4ab8dba2 100644
--- a/chapter06/vim.xml
+++ b/chapter06/vim.xml
@@ -42,7 +42,7 @@ echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h</userinput><
<para>This package has a test suite available which performs a number of
checks to ensure it will function correctly. However, the Vim test suite will
output a whole lot of seemingly garbage characters to screen which can
-sometimes wreak havoc with the running terminal. Accordingly, the running of
+occasionally wreak havoc with the running terminal. Accordingly, the running of
the test suite here is optional. Should you choose to run the Vim test suite,
the following command will do so:</para>
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index 5902ef954..dcc11dc4b 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -92,10 +92,10 @@ kernel --no-mem-option /boot/lfskernel root=/dev/hda4
<userinput>EOF</userinput></screen>
<note><para>By default, Grub will automatically pass a "mem=xxx" command line
-argument to the kernel. However, Grub sometimes gets the amount of memory wrong
-which can lead to problems in some circumstances. It's best to disable this
-functionality and let the kernel determine the amount of memory itself, hence
-the use of the <emphasis>--no-mem-option</emphasis> above.</para></note>
+argument to the kernel. However, Grub occasionally gets the amount of memory
+wrong which can lead to problems in some circumstances. It's best to disable
+this functionality and let the kernel determine the amount of memory itself,
+hence the use of the <emphasis>--no-mem-option</emphasis> above.</para></note>
<para>You may want to add an entry for your host distribution. It might look
like this:</para>
diff --git a/entities/coreutils.ent b/entities/coreutils.ent
index e246fea96..18288839c 100644
--- a/entities/coreutils.ent
+++ b/entities/coreutils.ent
@@ -18,6 +18,8 @@
<!ENTITY coreutils-uname-patch-size "1 KB">
<!ENTITY coreutils-hostname-patch "coreutils-&coreutils-version;-hostname-2.patch">
<!ENTITY coreutils-hostname-patch-size "1 KB">
+<!ENTITY coreutils-posixver-patch "coreutils-&coreutils-version;-posixver-2.patch">
+<!ENTITY coreutils-posixver-patch-size "1 KB">
<!ENTITY coreutils-compsize-tools "69 MB">
<!ENTITY coreutils-time-tools "0.9 SBU">
diff --git a/entities/glibc.ent b/entities/glibc.ent
index 0fb0c7d40..77ee4e11e 100644
--- a/entities/glibc.ent
+++ b/entities/glibc.ent
@@ -8,18 +8,13 @@
<!ENTITY aa-glibc-dep SYSTEM "../appendixa/glibc-dep.xml">
<!ENTITY aa-glibc-down SYSTEM "../appendixa/glibc-down.xml">
-<!ENTITY glibc-version "2.3.2">
-<!ENTITY glibc-depversion "2.2.5">
-<!ENTITY glibc-contversion "2.3.2">
-<!ENTITY glibc-dir "glibc-&glibc-version;">
-<!ENTITY glibc-threads-dir "linuxthreads, linuxthreads_db">
-<!ENTITY glibc-package "glibc-&glibc-version;.tar.bz2">
-<!ENTITY glibc-threads-package "glibc-linuxthreads-&glibc-version;.tar.bz2">
-<!ENTITY glibc-size "13,064 KB">
-<!ENTITY glibc-threads-size "211 KB">
-
-<!ENTITY glibc-sscanf-patch "glibc-&glibc-version;-sscanf-1.patch">
-<!ENTITY glibc-sscanf-patch-size "2 KB">
+<!ENTITY glibc-version "2.3.3">
+<!ENTITY glibc-depversion "2.3.3">
+<!ENTITY glibc-contversion "2.3.3">
+<!ENTITY glibc-cvsversion "20031202">
+<!ENTITY glibc-dir "glibc-&glibc-version;-&glibc-cvsversion;">
+<!ENTITY glibc-package "glibc-&glibc-version;-&glibc-cvsversion;.tar.bz2">
+<!ENTITY glibc-size "13,101 KB">
<!ENTITY glibc-compsize-tools "800 MB">
<!ENTITY glibc-time-tools "11.8 SBU">
diff --git a/entities/kbd.ent b/entities/kbd.ent
index 174dbb43d..b241147ab 100644
--- a/entities/kbd.ent
+++ b/entities/kbd.ent
@@ -5,9 +5,9 @@
<!ENTITY aa-kbd-dep SYSTEM "../appendixa/kbd-dep.xml">
<!ENTITY aa-kbd-down SYSTEM "../appendixa/kbd-down.xml">
-<!ENTITY kbd-version "1.11">
-<!ENTITY kbd-depversion "1.11">
-<!ENTITY kbd-contversion "1.11">
+<!ENTITY kbd-version "1.12">
+<!ENTITY kbd-depversion "1.12">
+<!ENTITY kbd-contversion "1.12">
<!ENTITY kbd-dir "kbd-&kbd-version;">
<!ENTITY kbd-package "kbd-&kbd-version;.tar.bz2">
<!ENTITY kbd-size "617 KB">
diff --git a/entities/perl.ent b/entities/perl.ent
index 75f23a125..bc5cef1f6 100644
--- a/entities/perl.ent
+++ b/entities/perl.ent
@@ -7,12 +7,12 @@
<!ENTITY aa-perl-dep SYSTEM "../appendixa/perl-dep.xml">
<!ENTITY aa-perl-down SYSTEM "../appendixa/perl-down.xml">
-<!ENTITY perl-version "5.8.2">
-<!ENTITY perl-depversion "5.6.1">
-<!ENTITY perl-contversion "5.8.0">
+<!ENTITY perl-version "5.8.3">
+<!ENTITY perl-depversion "5.8.3">
+<!ENTITY perl-contversion "5.8.3">
<!ENTITY perl-dir "perl-&perl-version;">
<!ENTITY perl-package "perl-&perl-version;.tar.gz">
-<!ENTITY perl-size "11,617 KB">
+<!ENTITY perl-size "11,721 KB">
<!ENTITY perl-libc-patch "perl-&perl-version;-libc-1.patch">
<!ENTITY perl-libc-patch-size "1 KB">
diff --git a/entities/shadow.ent b/entities/shadow.ent
index 4e8032c1f..5f9e4e973 100644
--- a/entities/shadow.ent
+++ b/entities/shadow.ent
@@ -6,15 +6,12 @@
<!ENTITY aa-shadowpwd-dep SYSTEM "../appendixa/shadowpwd-dep.xml">
<!ENTITY aa-shadowpwd-down SYSTEM "../appendixa/shadowpwd-down.xml">
-<!ENTITY shadow-version "4.0.3">
-<!ENTITY shadow-depversion "20001016">
-<!ENTITY shadow-contversion "4.0.3">
+<!ENTITY shadow-version "4.0.4.1">
+<!ENTITY shadow-depversion "4.0.4.1">
+<!ENTITY shadow-contversion "4.0.4.1">
<!ENTITY shadow-dir "shadow-&shadow-version;">
<!ENTITY shadow-package "shadow-&shadow-version;.tar.bz2">
-<!ENTITY shadow-size "760 KB">
-
-<!ENTITY shadow-patch "shadow-&shadow-version;-newgrp-fix.patch">
-<!ENTITY shadow-patch-size "1 KB">
+<!ENTITY shadow-size "795 KB">
<!ENTITY shadow-compsize "11 MB">
<!ENTITY shadow-time "0.4 SBU">
diff --git a/index.xml b/index.xml
index f939f8a12..bf4e0e29b 100644
--- a/index.xml
+++ b/index.xml
@@ -2,8 +2,8 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/usr/share/docbook/docbookx.dtd" [
-<!ENTITY version "CVS-2004-01-17">
-<!ENTITY releasedate "January 17th, 2004">
+<!ENTITY version "CVS-2004-01-19">
+<!ENTITY releasedate "January 19th, 2004">
<!ENTITY milestone "5.1">
<!ENTITY nbsp " ">