diff --git a/chapter05/findutils-inst.xml b/chapter05/findutils-inst.xml
index b05c8089f..985242b33 100644
--- a/chapter05/findutils-inst.xml
+++ b/chapter05/findutils-inst.xml
@@ -5,8 +5,25 @@
The Findutils package is quite old and it has problems compiling
against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
-patch that fixes some variable conflicts you'd otherwise end up
-with:
+patch which fixes the following issues:
+
+
+Findutils declares a function called basename, but this
+function name is already used by the C standard libraries. This patch
+changes the Findutils version of basename function so that it is called
+basename2 instead.
+
+Findutils uses an incorrect way to use library files. It
+declares library functions, to tell the compiler what the name of the
+function will be when the libraries are linked in. This syntax is invalid
+and causes compiler warnings/errors. This patch removes this improper
+syntax.
+
+Every GNU package is supposed use a macro called _GNU_SOURCE.
+This macro enables declarations of GNU library extension functions and so the
+compiler will be able to detect name conflicts between functions more easily.
+This patch adds this macro to the source code.
+
patch -Np1 -i ../findutils-&findutils-patch-version;.patch
diff --git a/chapter06/findutils-inst.xml b/chapter06/findutils-inst.xml
index 90d38edb0..122acf259 100644
--- a/chapter06/findutils-inst.xml
+++ b/chapter06/findutils-inst.xml
@@ -3,14 +3,34 @@
Installing Findutils
-A patch must be applied in order to prevent compilation
-errors. The patch fixes a variable conflict and some bad syntax:
+The Findutils package is quite old and it has problems compiling
+against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
+patch which fixes the following issues:
+
+
+Findutils declares a function called basename, but this
+function name is already used by the C standard libraries. This patch
+changes the Findutils version of basename function so that it is called
+basename2 instead.
+
+Findutils uses an incorrect way to use library files. It
+declares library functions, to tell the compiler what the name of the
+function will be when the libraries are linked in. This syntax is invalid
+and causes compiler warnings/errors. This patch removes this improper
+syntax.
+
+Every GNU package is supposed use a macro called _GNU_SOURCE.
+This macro enables declarations of GNU library extension functions and so the
+compiler will be able to detect name conflicts between functions more easily.
+This patch adds this macro to the source code.
+
patch -Np1 -i ../findutils-&findutils-patch-version;.patch
-The locate program from Findutils may
-segfault if it encounters a long path name. To correct this, apply
-the second patch:
+There is a bug in locate.c of Findutils that causes a segmentation
+fault to occur on very long path names. The problem is caused by the
+get_short() function calculating negative numbers incorrectly. This patch
+corrects this bug.
patch -Np1 -i ../findutils-&findutils-segfault-patch-version;-segfault.patch
diff --git a/chapter06/gawk-inst.xml b/chapter06/gawk-inst.xml
index d426e38a3..2c5d72266 100644
--- a/chapter06/gawk-inst.xml
+++ b/chapter06/gawk-inst.xml
@@ -3,15 +3,36 @@
Installation of Gawk
-This package requires its patch to be applied before you can
-install it:
+Before installing the Gawk package you have to apply a patch to it
+which fixes the following issues:
+
+
+Gawk's default location for libexecdir is $prefix/libexecdir/awk. This location doesn't
+comply with FHS (FHS never mentions a directory called
+libexecdir).
+
+The patch allows us to pass
+--libexecdir to the configure script (without gawk
+tacking on /awk to the end), so that we can use a more appropriate location
+for gawk's libexecdir (/usr/bin in
+the book).
+
+The default data directory for gawk is $prefix/share/awk. A package specific
+directory should be named after the package and the version (gawk-3.1.1
+instead of awk) because there may be more than one awk interpreter on a
+system (and more than one version of gawk). The patch changes this to
+$prefix/share/gawk-3.1.1 to be more
+correct.
+
+The patch ensures that this directory ($prefix/share/gawk-3.1.1) is removed along
+with its contents on a make uninstall.
+
patch -Np1 -i ../gawk-&gawk-patch-version;.patch
-This patch alters the code that determines the location of the
-libexec directory. The patch will allow us to override it by passing
---libexecdir to the configure script.
-
Prepare Gawk to be compiled:
./configure --prefix=/usr --libexecdir=/usr/bin