diff options
-rw-r--r-- | appendixa/glibc-down.xml | 5 | ||||
-rw-r--r-- | appendixa/man-down.xml | 9 | ||||
-rw-r--r-- | chapter01/changelog.xml | 19 | ||||
-rw-r--r-- | chapter04/glibc-patch.xml | 7 | ||||
-rw-r--r-- | chapter04/man-patch.xml | 10 | ||||
-rw-r--r-- | chapter06/glibc-inst.xml | 17 | ||||
-rw-r--r-- | chapter06/man-exp.xml | 16 | ||||
-rw-r--r-- | chapter06/man-inst.xml | 4 | ||||
-rw-r--r-- | entities/glibc.ent | 8 | ||||
-rw-r--r-- | entities/man.ent | 10 |
10 files changed, 77 insertions, 28 deletions
diff --git a/appendixa/glibc-down.xml b/appendixa/glibc-down.xml index 8b6b10118..f6dd1ecd4 100644 --- a/appendixa/glibc-down.xml +++ b/appendixa/glibc-down.xml @@ -7,6 +7,9 @@ Glibc-linuxthreads (&glibc-version;): <ulink url="ftp://ftp.gnu.org/gnu/glibc/"/> -Glibc Patch (&glibc-patch-version;): +Glibc Root/Perl Patch (&glibc-rootperl-patch-version;): +<ulink url="&http;/"/> + +Glibc Libnss Patch (&glibc-libnss-patch-version;): <ulink url="&http;/"/></literallayout></para> </sect2> diff --git a/appendixa/man-down.xml b/appendixa/man-down.xml index 47916e03a..9ed474f8b 100644 --- a/appendixa/man-down.xml +++ b/appendixa/man-down.xml @@ -4,7 +4,12 @@ <para><literallayout>Man (&man-version;): <ulink url="ftp://ftp.win.tue.nl/pub/linux-local/utils/man/"/> -Man Patch (&man-patch-version;): -<ulink url="&ftp;/"/> +Man 80Cols Patch (&man-80cols-patch-version;): +<ulink url="&http;/"/> + +Man Manpath Patch (&man-manpath-patch-version;): +<ulink url="&http;/"/> + +Man Pager Patch (&man-pager-patch-version;): <ulink url="&http;/"/></literallayout></para> </sect2> diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7fc14b0cd..9fb63b731 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -37,22 +37,37 @@ <listitem><para>Added: <itemizedlist> <listitem><para>findutils-4.1-segfault.patch</para></listitem> +<listitem><para>glibc-2.3.1-libnss.patch</para></listitem> +<listitem><para>glibc-2.3.2-root-perl.patch</para></listitem> <listitem><para>kbd-1.08.patch</para></listitem> +<listitem><para>man-1.5k-80cols.patch</para></listitem> +<listitem><para>man-1.5k-manpath.patch</para></listitem> +<listitem><para>man-1.5k-pager.patch</para></listitem> </itemizedlist> </para></listitem> <listitem><para>Removed: <itemizedlist> <listitem><para>gcc-3.2.1-nofixincludes-2.patch</para></listitem> +<listitem><para>glibc-2.3.1.patch</para></listitem> <listitem><para>kbd-1.06-3.patch</para></listitem> +<listitem><para>man-1.5k-2.patch</para></listitem> <listitem><para>ncurses-5.2-2.patch</para></listitem> </itemizedlist> </para></listitem> -<listitem><para>January 1st, 2002 [gerard]: Chapter 06 - Glibc Second Pass: +<listitem><para>January 2nd, 2003 [gerard]: Replaced the glibc-2.3.1 +mega-patch with two seperate patches (glibc-2.3.1-root-perl.patch and +glibc-2.3.1-libnss.patch).</para></listitem> + +<listitem><para>January 2nd, 2003 [gerard]: Replaced the man-1.5k +mega-patch with three seperate patches (man-1.5k-80cols.patch, +man-1.5k-manpath.patch and man-1.5k-pager.patch).</para></listitem> + +<listitem><para>January 1st, 2003 [gerard]: Chapter 06 - Glibc Second Pass: Fixec typo in linuxthreads man pages installation.</para></listitem> -<listitem><para>January 1st, 2002 [gerard]: Chapter 06 - Linux Kernel: The +<listitem><para>January 1st, 2003 [gerard]: Chapter 06 - Linux Kernel: The man pages can't be installed here because it requires Perl. Moved to end of chapter 6.</para></listitem> diff --git a/chapter04/glibc-patch.xml b/chapter04/glibc-patch.xml index 50ef5073a..b83dd7e22 100644 --- a/chapter04/glibc-patch.xml +++ b/chapter04/glibc-patch.xml @@ -1,2 +1,5 @@ -Glibc Patch (&glibc-patch-version;) - &glibc-patch-size;: -<ulink url="&http;/glibc-&glibc-patch-version;.patch"/> +Glibc Root/Perl Patch: (&glibc-rootperl-patch-version;) - &glibc-rootperl-patch-size;: +<ulink url="&http;/glibc-&glibc-rootperl-patch-version;-root-perl.patch"/> + +Glibc Libnss Patch: (&glibc-libnss-patch-version;) - &glibc-libnss-patch-size;: +<ulink url="&http;/glibc-&glibc-libnss-patch-version;-libnss.patch"/> diff --git a/chapter04/man-patch.xml b/chapter04/man-patch.xml index 53ab1106b..c4d5dbf01 100644 --- a/chapter04/man-patch.xml +++ b/chapter04/man-patch.xml @@ -1,2 +1,8 @@ -Man Patch (&man-patch-version;) - &man-patch-size;: -<ulink url="&http;/man-&man-patch-version;.patch"/> +Man 80Cols Patch (&man-80cols-patch-version;) - &man-80cols-patch-size;: +<ulink url="&http;/man-&man-80cols-patch-version;-80cols.patch"/> + +Man Manpath Patch (&man-manpath-patch-version;) - &man-manpath-patch-size;: +<ulink url="&http;/man-&man-manpath-patch-version;-manpath.patch"/> + +Man Pager Patch (&man-pager-patch-version;) - &man-pager-patch-size;: +<ulink url="&http;/man-&man-pager-patch-version;-pager.patch"/> diff --git a/chapter06/glibc-inst.xml b/chapter06/glibc-inst.xml index b89ecb312..384b86577 100644 --- a/chapter06/glibc-inst.xml +++ b/chapter06/glibc-inst.xml @@ -35,7 +35,11 @@ username to userid resolving isn't working yet, so a if you use the numeric IDs (such as <userinput>chown 0 file</userinput>).</para></listitem> -<listitem><para>It fixes a problem that causes statically linked binaries +</itemizedlist> + +<para><screen><userinput>patch -Np1 -i ../glibc-&glibc-rootperl-patch-version;-root-perl.patch</userinput></screen></para> + +<para>There is a potential problem that causes statically linked binaries to crash that were linked against Glibc-2.2 libraries. Even though static binaries have all the necessary parts of Glibc built-in, they still rely on one external library: Glibc's NSS libraries. These libraries, among @@ -50,12 +54,13 @@ will load these new NSS libraries and start to abort with <emphasis>segmentation faults</emphasis>. This patch undoes a few of the changes to overcome the problem.</para> -<para>We will install Glibc again at the end of this chapter to remove this -patch so you'll have a pristine Glibc as the developers intended -it.</para></listitem> -</itemizedlist> +<para>So, if you started chapter 5 with a host system that uses Glibc-2.2.x +you must apply the following patch. We will install Glibc again at the end +of this chapter to remove this patch so you'll have a pristine Glibc as the +developers intended +it.</para> -<para><screen><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch</userinput></screen></para> +<para><screen><userinput>patch -Np1 -i ../glibc-&glibc-libnss-patch-version;-libnss.patch</userinput></screen></para> <para>Glibc will check for the <filename>/etc/ld.so.conf</filename> file and abort with an error if the file is missing, so we must create it.</para> diff --git a/chapter06/man-exp.xml b/chapter06/man-exp.xml index b858cb824..8d4f97011 100644 --- a/chapter06/man-exp.xml +++ b/chapter06/man-exp.xml @@ -8,14 +8,14 @@ where a program is found. By appending /usr/bin:/bin to PATH for the ./configure command, we make sure that man doesn't use the /static versions of our programs.</para> -<para><userinput>patch -Np1 -i ../man-&man-patch-version;.patch:</userinput> -This patch comments out one of the files in the <filename>man.conf</filename> -file (MANPATH /usr/man) because it will create redundant results when using -programs like <userinput>whatis</userinput>. It also adds the -<emphasis>-R</emphasis> option to the <emphasis>PAGER</emphasis> variable so -man pages are displayed properly. Lastly, the patch fixes the problem where -man pages are not formatted with more than 80 columns when used with the -recent groff versions.</para> +<para><userinput>patch...:</userinput> +These three patches comment out one of the lines in the +<filename>man.conf</filename> file (MANPATH /usr/man) because it will create +redundant results when using programs like <userinput>whatis</userinput>. +It also adds the <emphasis>-R</emphasis> option to the +<emphasis>PAGER</emphasis> variable so man pages are displayed properly. +Lastly, the patch fixes the problem where man pages are not formatted with +more than 80 columns when used with the recent groff versions.</para> </sect2> diff --git a/chapter06/man-inst.xml b/chapter06/man-inst.xml index ad73cabdb..f07ee1615 100644 --- a/chapter06/man-inst.xml +++ b/chapter06/man-inst.xml @@ -3,7 +3,9 @@ <para>Run the following commands to install man:</para> -<para><screen><userinput>patch -Np1 -i ../man-&man-patch-version;.patch && +<para><screen><userinput>patch -Np1 -i ../man-&man-80cols-patch-version;-80cols.patch && +patch -Np1 -i ../man-&man-manpath-patch-version;-manpath.patch && +patch -Np1 -i ../man-&man-pager-patch-version;-pager.patch && PATH=$PATH:/usr/bin:/bin \ ./configure -default -confdir=/etc && make && diff --git a/entities/glibc.ent b/entities/glibc.ent index 8a4fe9df6..b96e74bd7 100644 --- a/entities/glibc.ent +++ b/entities/glibc.ent @@ -20,8 +20,12 @@ <!ENTITY glibc-contversion "2.2.5"> <!ENTITY glibc-size "17,463 KB"> <!ENTITY glibc-threads-size "238 KB"> -<!ENTITY glibc-patch-size "4 KB"> -<!ENTITY glibc-patch-version "2.3.1"> + +<!ENTITY glibc-rootperl-patch-size "1 KB"> +<!ENTITY glibc-rootperl-patch-version "2.3.1"> +<!ENTITY glibc-libnss-patch-size "1 KB"> +<!ENTITY glibc-libnss-patch-version "2.3.1"> + <!ENTITY glibc-dir "glibc-&glibc-version;"> <!ENTITY glibc-threads-dir "linuxthreads, linuxthreads_db"> <!ENTITY glibc-package "glibc-&glibc-version;.tar.bz2"> diff --git a/entities/man.ent b/entities/man.ent index f501db361..e00e454f2 100644 --- a/entities/man.ent +++ b/entities/man.ent @@ -14,8 +14,14 @@ <!ENTITY man-depversion "1.5i2"> <!ENTITY man-contversion "1.5k"> <!ENTITY man-size "189 KB"> -<!ENTITY man-patch-version "1.5k-2"> -<!ENTITY man-patch-size "1 KB"> + +<!ENTITY man-80cols-patch-version "1.5k"> +<!ENTITY man-80cols-patch-size "1 KB"> +<!ENTITY man-manpath-patch-version "1.5k"> +<!ENTITY man-manpath-patch-size "1 KB"> +<!ENTITY man-pager-patch-version "1.5k"> +<!ENTITY man-pager-patch-size "1 KB"> + <!ENTITY man-dir "man-&man-version;"> <!ENTITY man-package "man-&man-version;.tar.bz2"> |