Index: BOOK/introduction/common/changelog.xml
===================================================================
--- BOOK/introduction/common/changelog.xml	(revision 6ef644e50e51f9d831dc70f16c36553f06f3baf1)
+++ BOOK/introduction/common/changelog.xml	(revision d5d259c8f7a681a4c3d23215e89f8633d0f38f00)
@@ -40,4 +40,7 @@
       <para>July 23, 2007</para>
       <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated Texinfo to 4.9.</para>
+        </listitem>
         <listitem>
           <para>[jciccone] - Updated E2fsprogs to 1.40.2.</para>
Index: BOOK/packages.ent
===================================================================
--- BOOK/packages.ent	(revision 6ef644e50e51f9d831dc70f16c36553f06f3baf1)
+++ BOOK/packages.ent	(revision d5d259c8f7a681a4c3d23215e89f8633d0f38f00)
@@ -383,8 +383,8 @@
 <!ENTITY tcl-home "http://www.tcl.tk">
 
-<!ENTITY texinfo-version "4.8a">
-<!ENTITY texinfo-size "1,488 KB">
+<!ENTITY texinfo-version "4.9">
+<!ENTITY texinfo-size "1,496 KB">
 <!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.bz2">
-<!ENTITY texinfo-md5 "0f429f87de9f20d6c0d952e63bf8e3fa">
+<!ENTITY texinfo-md5 "f4458e4b81e5469fa0815c35654141ab">
 <!ENTITY texinfo-home "&gnu-software;texinfo">
 
Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision 6ef644e50e51f9d831dc70f16c36553f06f3baf1)
+++ BOOK/patches.ent	(revision d5d259c8f7a681a4c3d23215e89f8633d0f38f00)
@@ -94,5 +94,5 @@
 
 <!ENTITY texinfo-tempfile_fix-patch "texinfo-&texinfo-version;-tempfile_fix-1.patch">
-<!ENTITY texinfo-tempfile_fix-patch-md5 "559bda136a2ac7777ecb67511227af85">
+<!ENTITY texinfo-tempfile_fix-patch-md5 "1c610a8132437653f705677321b0615b">
 <!ENTITY texinfo-tempfile_fix-patch-size "2.2 KB">
 
Index: tches/texinfo-4.8a-tempfile_fix-1.patch
===================================================================
--- patches/texinfo-4.8a-tempfile_fix-1.patch	(revision 6ef644e50e51f9d831dc70f16c36553f06f3baf1)
+++ 	(revision )
@@ -1,80 +1,0 @@
-Updated By: Bruce Dubbs (bdubbs -aT- linuxfromscratch -DoT- org)
-Date: 2005-12-12
-Submitted By: Archaic (archaic -aT- linuxfromscratch -DoT- org)
-Date: 2005-10-08
-Initial Package Version: 4.8
-Origin: http://gentoo.kems.net/gentoo-portage/sys-apps/texinfo/files/texinfo-4.8-tempfile.patch
-Upstream Status: A few patches are floating around in Debian BZ #328365 of which
-                 upstream hasn't made a full commitment on yet.
-Description: (CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local
-             users to overwrite arbitrary files via a symlink attack on
-             temporary files.
-Update: Changed to not pass a constant string to mktemp().
-
-diff -Naur texinfo-4.8.orig/util/texindex.c texinfo-4.8/util/texindex.c
---- texinfo-4.8.orig/util/texindex.c	2005-12-11 23:29:08.000000000 -0600
-+++ texinfo-4.8/util/texindex.c	2005-12-11 23:33:31.000000000 -0600
-@@ -99,6 +99,9 @@
- /* Directory to use for temporary files.  On Unix, it ends with a slash.  */
- char *tempdir;
- 
-+/* Basename for temp files inside of tempdir.  */
-+char *tempbase;
-+
- /* Number of last temporary file.  */
- int tempcount;
- 
-@@ -153,6 +156,7 @@
- main (int argc, char **argv)
- {
-   int i;
-+  char template[]="txidxXXXXXX";
- 
-   tempcount = 0;
-   last_deleted_tempcount = 0;
-@@ -190,6 +194,11 @@
- 
-   decode_command (argc, argv);
- 
-+  /* XXX mkstemp not appropriate, as we need to have somewhat predictable
-+   * names. But race condition was fixed, see maketempname. 
-+   */
-+  tempbase = mktemp (template);
-+
-   /* Process input files completely, one by one.  */
- 
-   for (i = 0; i < num_infiles; i++)
-@@ -389,21 +398,21 @@
- static char *
- maketempname (int count)
- {
--  static char *tempbase = NULL;
-   char tempsuffix[10];
--
--  if (!tempbase)
--    {
--      int fd;
--      tempbase = concat (tempdir, "txidxXXXXXX");
--
--      fd = mkstemp (tempbase);
--      if (fd == -1)
--        pfatal_with_name (tempbase);
--    }
-+  char *name, *tmp_name;
-+  int fd;
- 
-   sprintf (tempsuffix, ".%d", count);
--  return concat (tempbase, tempsuffix);
-+  tmp_name = concat (tempdir, tempbase);
-+  name = concat (tmp_name, tempsuffix);
-+  free(tmp_name);
-+
-+  fd = open (name, O_CREAT|O_EXCL|O_WRONLY, 0600);
-+  if (fd == -1)
-+    pfatal_with_name (name);
-+
-+  close(fd);
-+  return name;
- }
- 
-
Index: patches/texinfo-4.9-tempfile_fix-1.patch
===================================================================
--- patches/texinfo-4.9-tempfile_fix-1.patch	(revision d5d259c8f7a681a4c3d23215e89f8633d0f38f00)
+++ patches/texinfo-4.9-tempfile_fix-1.patch	(revision d5d259c8f7a681a4c3d23215e89f8633d0f38f00)
@@ -0,0 +1,80 @@
+Updated By: Bruce Dubbs (bdubbs -aT- linuxfromscratch -DoT- org)
+Date: 2005-12-12
+Submitted By: Archaic (archaic -aT- linuxfromscratch -DoT- org)
+Date: 2005-10-08
+Initial Package Version: 4.8
+Origin: http://gentoo.kems.net/gentoo-portage/sys-apps/texinfo/files/texinfo-4.8-tempfile.patch
+Upstream Status: A few patches are floating around in Debian BZ #328365 of which
+                 upstream hasn't made a full commitment on yet.
+Description: (CAN-2005-3011) texindex in texinfo 4.8 and earlier allows local
+             users to overwrite arbitrary files via a symlink attack on
+             temporary files.
+Update: Changed to not pass a constant string to mktemp().
+
+diff -Naur texinfo-4.9.orig/util/texindex.c texinfo-4.9/util/texindex.c
+--- texinfo-4.9.orig/util/texindex.c	2007-07-23 07:11:38.000000000 -0400
++++ texinfo-4.9/util/texindex.c	2007-07-23 07:11:49.000000000 -0400
+@@ -99,6 +99,9 @@
+ /* Directory to use for temporary files.  On Unix, it ends with a slash.  */
+ char *tempdir;
+ 
++/* Basename for temp files inside of tempdir.  */
++char *tempbase;
++
+ /* Number of last temporary file.  */
+ int tempcount;
+ 
+@@ -153,6 +156,7 @@
+ main (int argc, char **argv)
+ {
+   int i;
++  char template[]="txidxXXXXXX";
+ 
+   tempcount = 0;
+   last_deleted_tempcount = 0;
+@@ -190,6 +194,11 @@
+ 
+   decode_command (argc, argv);
+ 
++  /* XXX mkstemp not appropriate, as we need to have somewhat predictable
++   * names. But race condition was fixed, see maketempname. 
++   */
++  tempbase = mktemp (template);
++
+   /* Process input files completely, one by one.  */
+ 
+   for (i = 0; i < num_infiles; i++)
+@@ -390,21 +399,21 @@
+ static char *
+ maketempname (int count)
+ {
+-  static char *tempbase = NULL;
+   char tempsuffix[10];
+-
+-  if (!tempbase)
+-    {
+-      int fd;
+-      tempbase = concat (tempdir, "txidxXXXXXX");
+-
+-      fd = mkstemp (tempbase);
+-      if (fd == -1)
+-        pfatal_with_name (tempbase);
+-    }
++  char *name, *tmp_name;
++  int fd;
+ 
+   sprintf (tempsuffix, ".%d", count);
+-  return concat (tempbase, tempsuffix);
++  tmp_name = concat (tempdir, tempbase);
++  name = concat (tmp_name, tempsuffix);
++  free(tmp_name);
++
++  fd = open (name, O_CREAT|O_EXCL|O_WRONLY, 0600);
++  if (fd == -1)
++    pfatal_with_name (name);
++
++  close(fd);
++  return name;
+ }
+ 
+ 
