[lfs-fr] r6865 - in trunk/blfs: . general/genlib general/graphlib general/prog general/sysutils gnome/applications gnome/platform multimedia/cdwriteutils multimedia/libdriv multimedia/videoutils networking/connect networking/netlibs networking/netutils postlfs/filesystems pst/typesetting server/databases server/mail traduc/commits x/installing x/lib xfce/apps xfce/core xsoft/graphweb xsoft/other

myou72 at orange.fr myou72 at orange.fr
Ven 22 Mai 05:46:30 PDT 2015


Author: myou72
Date: 2015-05-22 05:46:30 -0700 (Fri, 22 May 2015)
New Revision: 6865

Added:
   trunk/blfs/traduc/commits/r15968.txt
   trunk/blfs/traduc/commits/r15969.txt
   trunk/blfs/traduc/commits/r15970.txt
   trunk/blfs/traduc/commits/r15971.txt
   trunk/blfs/traduc/commits/r15972.txt
   trunk/blfs/traduc/commits/r15973.txt
   trunk/blfs/traduc/commits/r15974.txt
   trunk/blfs/traduc/commits/r15975.txt
   trunk/blfs/traduc/commits/r15976.txt
   trunk/blfs/traduc/commits/r15977.txt
   trunk/blfs/traduc/commits/r15978.txt
   trunk/blfs/traduc/commits/r15979.txt
   trunk/blfs/traduc/commits/r15980.txt
   trunk/blfs/traduc/commits/r15981.txt
   trunk/blfs/traduc/commits/r15982.txt
   trunk/blfs/traduc/commits/r15983.txt
   trunk/blfs/traduc/commits/r15984.txt
   trunk/blfs/traduc/commits/r15985.txt
   trunk/blfs/traduc/commits/r15986.txt
   trunk/blfs/traduc/commits/r15987.txt
   trunk/blfs/traduc/commits/r15988.txt
   trunk/blfs/traduc/commits/r15989.txt
   trunk/blfs/traduc/commits/r15990.txt
   trunk/blfs/traduc/commits/r15991.txt
   trunk/blfs/traduc/commits/r15992.txt
   trunk/blfs/traduc/commits/r15993.txt
   trunk/blfs/traduc/commits/r15994.txt
   trunk/blfs/traduc/commits/r15995.txt
   trunk/blfs/traduc/commits/r15996.txt
   trunk/blfs/traduc/commits/r15997.txt
   trunk/blfs/traduc/commits/r15998.txt
   trunk/blfs/traduc/commits/r15999.txt
   trunk/blfs/traduc/commits/r16000.txt
   trunk/blfs/traduc/commits/r16001.txt
   trunk/blfs/traduc/commits/r16002.txt
   trunk/blfs/traduc/commits/r16003.txt
   trunk/blfs/traduc/commits/r16004.txt
   trunk/blfs/traduc/commits/r16005.txt
   trunk/blfs/traduc/commits/r16006.txt
   trunk/blfs/traduc/commits/r16007.txt
   trunk/blfs/traduc/commits/r16008.txt
   trunk/blfs/traduc/commits/r16009.txt
   trunk/blfs/traduc/commits/r16010.txt
   trunk/blfs/traduc/commits/r16011.txt
   trunk/blfs/traduc/commits/r16012.txt
   trunk/blfs/traduc/commits/r16013.txt
Modified:
   trunk/blfs/general.ent
   trunk/blfs/general/genlib/glib2.xml
   trunk/blfs/general/graphlib/poppler.xml
   trunk/blfs/general/prog/gdb.xml
   trunk/blfs/general/prog/git.xml
   trunk/blfs/general/prog/php.xml
   trunk/blfs/general/sysutils/dbus.xml
   trunk/blfs/gnome.ent
   trunk/blfs/gnome/applications/eog.xml
   trunk/blfs/gnome/applications/file-roller.xml
   trunk/blfs/gnome/applications/gedit.xml
   trunk/blfs/gnome/applications/gnome-screenshot.xml
   trunk/blfs/gnome/applications/gnome-terminal.xml
   trunk/blfs/gnome/applications/nautilus.xml
   trunk/blfs/gnome/applications/seahorse.xml
   trunk/blfs/gnome/platform/adwaita-icon-theme.xml
   trunk/blfs/gnome/platform/gcr.xml
   trunk/blfs/gnome/platform/gnome-desktop.xml
   trunk/blfs/gnome/platform/gnome-themes-standard.xml
   trunk/blfs/gnome/platform/vte.xml
   trunk/blfs/gnome/platform/yelp.xml
   trunk/blfs/multimedia/cdwriteutils/libburn.xml
   trunk/blfs/multimedia/cdwriteutils/libisoburn.xml
   trunk/blfs/multimedia/cdwriteutils/libisofs.xml
   trunk/blfs/multimedia/libdriv/soundtouch.xml
   trunk/blfs/multimedia/videoutils/ffmpeg.xml
   trunk/blfs/networking/connect/dhcpcd.xml
   trunk/blfs/networking/netlibs/libndp.xml
   trunk/blfs/networking/netutils/whois.xml
   trunk/blfs/packages.ent
   trunk/blfs/postlfs/filesystems/lvm2.xml
   trunk/blfs/pst/typesetting/biber.xml
   trunk/blfs/server/databases/sqlite.xml
   trunk/blfs/server/mail/dovecot.xml
   trunk/blfs/x/installing/mesalib.xml
   trunk/blfs/x/installing/x7app.xml
   trunk/blfs/x/installing/x7lib.xml
   trunk/blfs/x/installing/x7proto.xml
   trunk/blfs/x/lib/clutter.xml
   trunk/blfs/x/lib/gtk+2.xml
   trunk/blfs/x/lib/webkitgtk.xml
   trunk/blfs/x/lib/webkitgtk2.xml
   trunk/blfs/xfce/apps/xfburn.xml
   trunk/blfs/xfce/core/thunar.xml
   trunk/blfs/xfce/core/xfdesktop.xml
   trunk/blfs/xfce/core/xfwm4.xml
   trunk/blfs/xsoft/graphweb/firefox.xml
   trunk/blfs/xsoft/other/feh.xml
   trunk/blfs/xsoft/other/thunderbird.xml
Log:
[BLFS-EN] MAJ ROBOT

Modified: trunk/blfs/general/genlib/glib2.xml
===================================================================
--- trunk/blfs/general/genlib/glib2.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/genlib/glib2.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY glib2-download-http "&gnome-download-http;/glib/2.44/glib-&glib2-version;.tar.xz">
   <!ENTITY glib2-download-ftp  "&gnome-download-ftp;/glib/2.44/glib-&glib2-version;.tar.xz">
-  <!ENTITY glib2-md5sum        "74cf7b4ea200b76e42a4c22c8daf0f93">
+  <!ENTITY glib2-md5sum        "83efba4722a9674b97437d1d99af79db">
   <!ENTITY glib2-size          "6.9 Mo">
-  <!ENTITY glib2-buildsize     "158 Mo (additional 61 Mo to run the test suite)">
-  <!ENTITY glib2-time          "0.8 SBU (ajouter 3.9 SBU pour lancer la suite de tests)">
+  <!ENTITY glib2-buildsize     "187 Mo (additional 72 Mo to run the test suite)">
+  <!ENTITY glib2-time          "0.8 SBU (ajouter 3.1 SBU pour lancer la suite de tests)">
 ]>
 <sect1 id="glib2" xreflabel="GLib-&glib2-version;">
   <?dbhtml filename="glib2.html"?>

Modified: trunk/blfs/general/graphlib/poppler.xml
===================================================================
--- trunk/blfs/general/graphlib/poppler.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/graphlib/poppler.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY poppler-download-http
            "http://poppler.freedesktop.org/poppler-&poppler-version;.tar.xz">
   <!ENTITY poppler-download-ftp       " ">
-  <!ENTITY poppler-md5sum             "a97985f7af6c388e42a53dead85d4ef4">
-  <!ENTITY poppler-size               "1.5 Mo">
-  <!ENTITY poppler-buildsize          "163 Mo (building Qt4 libraries, test suites, and poppler-data)">
-  <!ENTITY poppler-time               "1.2 SBU (building Qt4 libraries and test suites)">
+  <!ENTITY poppler-md5sum             "69927d1614d6704021c0b0dd0ee6a852">
+  <!ENTITY poppler-size               "1.6 Mo">
+  <!ENTITY poppler-buildsize          "267 Mo (building Qt4 and 5 libraries, and test suites)">
+  <!ENTITY poppler-time               "1.9 SBU (building Qt4 and 5 libraries, and test suites)">
   <!ENTITY poppler-data-version       "0.4.7">
   <!ENTITY poppler-data-download-http
            "http://poppler.freedesktop.org/poppler-data-&poppler-data-version;.tar.gz">
@@ -136,11 +136,7 @@
       suivantes :
     </para>
 <screen>
-<userinput>./configure --prefix=/usr         \
-            --sysconfdir=/etc     \
-            --disable-static      \
-            --enable-xpdf-headers \
-            --with-testdatadir=$PWD/testfiles &&
+<userinput>./configure --prefix=/usr                     --sysconfdir=/etc                 --disable-static                  --enable-xpdf-headers             --with-testdatadir=$PWD/testfiles &&
 make</userinput>
 </screen>
     <para>Pour tester les résultats, tapez : <command>make check</command>.

Modified: trunk/blfs/general/prog/gdb.xml
===================================================================
--- trunk/blfs/general/prog/gdb.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/prog/gdb.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY gdb-download-http "https://ftp.gnu.org/gnu/gdb/gdb-&gdb-version;.tar.xz">
   <!ENTITY gdb-download-ftp  "ftp://ftp.gnu.org/gnu/gdb/gdb-&gdb-version;.tar.xz">
-  <!ENTITY gdb-md5sum        "e6279f26559d839f0b4218a482bcb43e">
-  <!ENTITY gdb-size          "17 Mo">
-  <!ENTITY gdb-buildsize     "370 Mo (additional 147 Mo with checks, 1.2 Go for API docs)">
-  <!ENTITY gdb-time          "2.2 SBU (add up to 8.6 SBU for checks, 0.4 SBU for API docs)">
+  <!ENTITY gdb-md5sum        "35374c77a70884eb430c97061053a36e">
+  <!ENTITY gdb-size          "18 Mo">
+  <!ENTITY gdb-buildsize     "406 Mo (additional 105 Mo for checks)">
+  <!ENTITY gdb-time          "2.2 SBU (add up to 6.0 SBU for checks)">
 ]>
 <sect1 id="gdb" xreflabel="gdb-&gdb-version;">
   <?dbhtml filename="gdb.html"?>

Modified: trunk/blfs/general/prog/git.xml
===================================================================
--- trunk/blfs/general/prog/git.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/prog/git.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY git-root "https://www.kernel.org/pub/software/scm/git" >
   <!ENTITY git-download-http "&git-root;/git-&git-version;.tar.xz">
   <!ENTITY git-download-ftp  "ftp://ftp.kernel.org/pub/software/scm/git/git-&git-version;.tar.xz">
-  <!ENTITY git-md5sum        "cd0aa04a037c2520a648ed790862d5f7">
+  <!ENTITY git-md5sum        "aed4a96723f600dfc879a2eb58e6e673">
   <!ENTITY git-size          "3.6 Mo">
   <!ENTITY git-buildsize     "326 Mo (additional 14 Mo for the downloaded docs)">
-  <!ENTITY git-time          "0.6 SBU (additional 4 SBU for tests, with -j8)">
+  <!ENTITY git-time          "0.6 SBU (additional 4.1 SBU for tests, with -j8)">
 ]>
 <sect1 id="git" xreflabel="git-&git-version;">
   <?dbhtml filename="git.html"?>
@@ -146,17 +146,15 @@
     <para>Si vous avez téléchargé les pages de manuel déballez les en tant qu'utilisateur
     <systemitem class="username">root</systemitem> :</para>
 <screen role="root">
-<userinput>tar -xf ../git-manpages-&git-version;.tar.xz \
-    -C /usr/share/man --no-same-owner --no-overwrite-dir</userinput>
+<userinput>tar -xf ../git-manpages-&git-version;.tar.xz     -C /usr/share/man --no-same-owner --no-overwrite-dir</userinput>
 </screen>
     <para>Si vous avez téléchargé les documentations HTML déballez les en tant qu'utilisateur
     <systemitem class="username">root</systemitem> :</para>
 <screen role="root">
 <userinput>mkdir -vp   /usr/share/doc/git-&git-version; &&
-tar   -xf   ../git-htmldocs-&git-version;.tar.xz \
-      -C    /usr/share/doc/git-&git-version; --no-same-owner --no-overwrite-dir &&
-find        /usr/share/doc/git-&git-version; -type d -exec chmod 755 {} \; &&
-find        /usr/share/doc/git-&git-version; -type f -exec chmod 644 {} \;</userinput>
+tar   -xf   ../git-htmldocs-&git-version;.tar.xz       -C    /usr/share/doc/git-&git-version; --no-same-owner --no-overwrite-dir &&
+find        /usr/share/doc/git-&git-version; -type d -exec chmod 755 {} ; &&
+find        /usr/share/doc/git-&git-version; -type f -exec chmod 644 {} ;</userinput>
 </screen>
    <bridgehead renderas="sect3">Reorganisez les pages de man et.ou les docs html (pour les deux méthodes)</bridgehead>
     <para>

Modified: trunk/blfs/general/prog/php.xml
===================================================================
--- trunk/blfs/general/prog/php.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/prog/php.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY php-download-http "http://www.php.net/distributions/php-&php-version;.tar.xz">
   <!ENTITY php-download-ftp  "ftp://ftp.isu.edu.tw/pub/Unix/Web/PHP/distributions/php-&php-version;.tar.xz">
-  <!ENTITY php-md5sum        "526a5a7f593de632cd9e8546335de8b7">
-  <!ENTITY php-size          "11 Mo">
-  <!ENTITY php-buildsize     "447 Mo (additional 1 Mo to run the test suite and 102 Mo for documentation)">
-  <!ENTITY php-time          "3.3 SBU (ajouter 2.3 SBU pour lancer la suite de tests)">
+  <!ENTITY php-md5sum        "f6b90cd0503310c38e9573bae1eb38c7">
+  <!ENTITY php-size          "12 Mo">
+  <!ENTITY php-buildsize     "502 Mo (additional 1 Mo to run the test suite)">
+  <!ENTITY php-time          "3.5 SBU (ajouter 1.9 SBU pour lancer la suite de tests)">
 ]>
 <sect1 id="php" xreflabel="PHP-&php-version;">
   <?dbhtml filename="php.html"?>
@@ -151,26 +151,7 @@
     <para>Installez <application>PHP</application> en
     lançant les commandes suivantes :</para>
 <screen>
-<userinput>./configure --prefix=/usr                \
-            --sysconfdir=/etc            \
-            --localstatedir=/var         \
-            --datadir=/usr/share/php     \
-            --mandir=/usr/share/man      \
-            --enable-fpm                 \
-            --with-fpm-user=apache       \
-            --with-fpm-group=apache      \
-            --with-config-file-path=/etc \
-            --with-zlib                  \
-            --enable-bcmath              \
-            --with-bz2                   \
-            --enable-calendar            \
-            --enable-dba=shared          \
-            --with-gdbm                  \
-            --with-gmp                   \
-            --enable-ftp                 \
-            --with-gettext               \
-            --enable-mbstring            \
-            --with-readline              &&
+<userinput>./configure --prefix=/usr                            --sysconfdir=/etc                        --localstatedir=/var                     --datadir=/usr/share/php                 --mandir=/usr/share/man                  --enable-fpm                             --with-fpm-user=apache                   --with-fpm-group=apache                  --with-config-file-path=/etc             --with-zlib                              --enable-bcmath                          --with-bz2                               --enable-calendar                        --enable-dba=shared                      --with-gdbm                              --with-gmp                               --enable-ftp                             --with-gettext                           --enable-mbstring                        --with-readline              &&
 make</userinput>
 </screen>
     <para>Pour tester les résultats, lancez : <command>make test</command>.
@@ -183,12 +164,9 @@
 install -v -m644 php.ini-production /etc/php.ini     &&
 mv -v /etc/php-fpm.conf{.default,}                   &&
 install -v -m755 -d /usr/share/doc/php-&php-version; &&
-install -v -m644    CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
-                    /usr/share/doc/php-&php-version; &&
-ln -v -sfn          /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
-                    /usr/share/doc/php-&php-version; &&
-ln -v -sfn          /usr/lib/php/doc/Structures_Graph/docs \
-                    /usr/share/doc/php-&php-version;</userinput>
+install -v -m644    CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif                     /usr/share/doc/php-&php-version; &&
+ln -v -sfn          /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt                     /usr/share/doc/php-&php-version; &&
+ln -v -sfn          /usr/lib/php/doc/Structures_Graph/docs                     /usr/share/doc/php-&php-version;</userinput>
 </screen>
     <para>La documentation HTML précompilée est emballée sous deux formes :
     un archive tar contenant beaucoup de fichiers individuels, utile pour être
@@ -201,14 +179,12 @@
     tar ci-dessous si nécessaire).</para>
     <para>Pour le fichier <quote>Unique en HTML</quote> :</para>
 <screen role="root">
-<userinput>install -v -m644 ../php_manual_en.html.gz \
-    /usr/share/doc/php-&php-version; &&
+<userinput>install -v -m644 ../php_manual_en.html.gz     /usr/share/doc/php-&php-version; &&
 gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput>
 </screen>
     <para>Pour l'archive tar <quote>beaucoup de fichiers HTML</quote> :</para>
 <screen role="root">
-<userinput>tar -xvf ../php_manual_en.tar.gz \
-    -C /usr/share/doc/php-&php-version; --no-same-owner</userinput>
+<userinput>tar -xvf ../php_manual_en.tar.gz     -C /usr/share/doc/php-&php-version; --no-same-owner</userinput>
 </screen>
   </sect2>
   <sect2 role="commands">
@@ -288,8 +264,7 @@
       <para>Si désiré, ajoutez l'entrée en utilisant la commande suivante en
       tant qu'utilisateur <systemitem class="username">root</systemitem> :</para>
 <screen role="root">
-<userinput>sed -i 's at php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \
-    /etc/php.ini</userinput>
+<userinput>sed -i 's at php/includes"@&ninclude_path = ".:/usr/lib/php"@'     /etc/php.ini</userinput>
 </screen>
       <para>Pour activer le support fastCGI dans un serveur web <application>Apache</application>
       , deux directives de chargement LoadModule doivent être ajoutées dans le fichier
@@ -296,17 +271,13 @@
       <filename>httpd.conf</filename>. Elles sont commentées, donc il suffit de taper la commande suivante
       en tant qu'utilisateur <systemitem class="username">root</systemitem> :</para>
 <screen role="root">
-<userinput>sed -i -e '/proxy_module/s/^#//'      \
-       -e '/proxy_fcgi_module/s/^#//' \
-       /etc/httpd/httpd.conf</userinput>
+<userinput>sed -i -e '/proxy_module/s/^#//'             -e '/proxy_fcgi_module/s/^#//'        /etc/httpd/httpd.conf</userinput>
 </screen>
       <para>Ces modules acceptent différentes directives <command>ProxyPass</command>.
       Une possibilité est (en tant qu'utilisateur
       <systemitem class="username">root</systemitem>):</para>
 <screen role="root">
-<userinput>echo \
-'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \
-/etc/httpd/httpd.conf</userinput>
+<userinput>echo 'ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> /etc/httpd/httpd.conf</userinput>
 </screen>
       <para>En outre, il peut être utile d'ajouter une entrée pour
       <filename>index.php</filename> à la ligne DirectoryIndex du fichier

Modified: trunk/blfs/general/sysutils/dbus.xml
===================================================================
--- trunk/blfs/general/sysutils/dbus.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general/sysutils/dbus.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY dbus-download-http "http://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.gz">
   <!ENTITY dbus-download-ftp  " ">
-  <!ENTITY dbus-md5sum        "020824a38850501e7d6ba8307a7c5ac3">
+  <!ENTITY dbus-md5sum        "83e607e9ccb1c921d5b6bbea2376a36c">
   <!ENTITY dbus-size          "1.8 Mo">
-  <!ENTITY dbus-buildsize     "28 Mo (additional 81 Mo for the documentations and 8 Mo for the tests)">
-  <!ENTITY dbus-time          "0.4 SBU (additional 0.6 SBU for the tests)">
+  <!ENTITY dbus-buildsize     "38 Mo (additional 16 Mo for the tests)">
+  <!ENTITY dbus-time          "0.3 SBU (additional 0.5 SBU for the tests)">
 ]>
 <sect1 id="dbus" xreflabel="D-BUS-&dbus-version;">
   <?dbhtml filename="dbus.html"?>
@@ -80,8 +80,7 @@
     messages système :</para>
 <screen role="root">
 <userinput>groupadd -g 18 messagebus &&
-useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
-        -u 18 -g messagebus -s /bin/false messagebus</userinput>
+useradd -c "D-Bus Message Daemon User" -d /var/run/dbus         -u 18 -g messagebus -s /bin/false messagebus</userinput>
 </screen>
     <para>Installez <application>D-BUS</application> en lançant les commandes
     suivantes (vous pouvez d'abord souhaiter observer la sortie de
@@ -89,16 +88,7 @@
     à la commande <command>configure</command> affichée ci-dessous) :</para>
  
 <screen>
-<userinput>./configure --prefix=/usr                  \
-            --sysconfdir=/etc              \
-            --localstatedir=/var           \
-            --disable-doxygen-docs         \
-            --disable-xml-docs             \
-            --disable-static               \
-            --disable-systemd              \
-            --without-systemdsystemunitdir \
-            --with-console-auth-dir=/run/console/ \
-            --docdir=/usr/share/doc/dbus-&dbus-version;   &&
+<userinput>./configure --prefix=/usr                              --sysconfdir=/etc                          --localstatedir=/var                       --disable-doxygen-docs                     --disable-xml-docs                         --disable-static                           --disable-systemd                          --without-systemdsystemunitdir             --with-console-auth-dir=/run/console/             --docdir=/usr/share/doc/dbus-&dbus-version;   &&
 make</userinput>
 </screen>
     <para>Voir ci-dessous pour les instructions de test.</para>
@@ -144,10 +134,7 @@
     
 <screen>
 <userinput>make distclean                     &&
-./configure --enable-tests         \
-            --enable-asserts       \
-            --disable-doxygen-docs \
-            --disable-xml-docs     &&
+./configure --enable-tests                     --enable-asserts                   --disable-doxygen-docs             --disable-xml-docs     &&
 make                               &&
 make check</userinput>
 </screen>

Modified: trunk/blfs/general.ent
===================================================================
--- trunk/blfs/general.ent	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/general.ent	2015-05-22 12:46:30 UTC (rev 6865)
@@ -1,6 +1,6 @@
 <!-- $LastChangedBy: igor $ $Date: 2014-06-29 11:28:58 +0200 (dim. 29 juin 2014) $ -->
 
-<!ENTITY day          "13">                   <!-- Always 2 digits -->
+<!ENTITY day          "22">                   <!-- Always 2 digits -->
 <!ENTITY month        "05">                   <!-- Always 2 digits -->
 <!ENTITY year         "2015">
 <!ENTITY copyrightdate "2001-&year;">

Modified: trunk/blfs/gnome/applications/eog.xml
===================================================================
--- trunk/blfs/gnome/applications/eog.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/eog.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,7 +5,7 @@
   %general-entities;
   <!ENTITY eog-download-http "&gnome-download-http;/eog/&gnome-minor-16;/eog-&eog-version;.tar.xz">
   <!ENTITY eog-download-ftp  "&gnome-download-ftp;/eog/&gnome-minor-16;/eog-&eog-version;.tar.xz">
-  <!ENTITY eog-md5sum        "08f2df8486fddf40c3c9a991b46b986d">
+  <!ENTITY eog-md5sum        "d48de7d269395947def8d5fac21c4454">
   <!ENTITY eog-size          "4.2 Mo">
   <!ENTITY eog-buildsize     "55 Mo">
   <!ENTITY eog-time          "0.6 SBU">

Modified: trunk/blfs/gnome/applications/file-roller.xml
===================================================================
--- trunk/blfs/gnome/applications/file-roller.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/file-roller.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,9 +7,9 @@
            "&gnome-download-http;/file-roller/&gnome-minor-16;/file-roller-&file-roller-version;.tar.xz">
   <!ENTITY file-roller-download-ftp
            "&gnome-download-ftp;/file-roller/&gnome-minor-16;/file-roller-&file-roller-version;.tar.xz">
-  <!ENTITY file-roller-md5sum        "0c71e41862e65ac35daa1013c2138c93">
+  <!ENTITY file-roller-md5sum        "c7f66bb041c69a2ca5aeb45f51d09331">
   <!ENTITY file-roller-size          "1.4 Mo">
-  <!ENTITY file-roller-buildsize     "35 Mo">
+  <!ENTITY file-roller-buildsize     "36 Mo">
   <!ENTITY file-roller-time          "0.3 SBU">
 ]>
 <sect1 id="file-roller" xreflabel="File-roller-&file-roller-version;">
@@ -78,9 +78,7 @@
     <para>Installez <application>File Roller</application> en lançant les
     commandes suivantes :</para>
 <screen>
-<userinput>./configure --prefix=/usr         \
-            --disable-packagekit  \
-            --disable-static &&
+<userinput>./configure --prefix=/usr                     --disable-packagekit              --disable-static &&
 make</userinput>
 </screen>
     <para>Ce paquet n'a pas de suite de tests.</para>

Modified: trunk/blfs/gnome/applications/gedit.xml
===================================================================
--- trunk/blfs/gnome/applications/gedit.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/gedit.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,7 +5,7 @@
   %general-entities;
   <!ENTITY gedit-download-http "&gnome-download-http;/gedit/&gnome-minor-16;/gedit-&gedit-version;.tar.xz">
   <!ENTITY gedit-download-ftp  "&gnome-download-ftp;/gedit/&gnome-minor-16;/gedit-&gedit-version;.tar.xz">
-  <!ENTITY gedit-md5sum        "45af095c4128c4a5126d6d938e5de667">
+  <!ENTITY gedit-md5sum        "8bf136ef5342ee1acebf2cb4f8adaf63">
   <!ENTITY gedit-size          "2.8 Mo">
   <!ENTITY gedit-buildsize     "93 Mo">
   <!ENTITY gedit-time          "0.9 SBU">

Modified: trunk/blfs/gnome/applications/gnome-screenshot.xml
===================================================================
--- trunk/blfs/gnome/applications/gnome-screenshot.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/gnome-screenshot.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,9 +7,9 @@
            "&gnome-download-http;/gnome-screenshot/&gnome-minor-16;/gnome-screenshot-&gnome-screenshot-version;.tar.xz">
   <!ENTITY gnome-screenshot-download-ftp
            "&gnome-download-ftp;/gnome-screenshot/&gnome-minor-16;/gnome-screenshot-&gnome-screenshot-version;.tar.xz">
-  <!ENTITY gnome-screenshot-md5sum        "d80a01b5c6237b9e8fc286a5d0c1a8d5">
-  <!ENTITY gnome-screenshot-size          "268 Ko">
-  <!ENTITY gnome-screenshot-buildsize     "6.3 Mo">
+  <!ENTITY gnome-screenshot-md5sum        "8f67ae3b0746dab15e417f64a4d7fd13">
+  <!ENTITY gnome-screenshot-size          "276 Ko">
+  <!ENTITY gnome-screenshot-buildsize     "7.4 Mo">
   <!ENTITY gnome-screenshot-time          "moins de 0.1 SBU">
 ]>
 <sect1 id="gnome-screenshot" xreflabel="gnome-screenshot-&gnome-screenshot-version;">

Modified: trunk/blfs/gnome/applications/gnome-terminal.xml
===================================================================
--- trunk/blfs/gnome/applications/gnome-terminal.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/gnome-terminal.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,7 +7,7 @@
            "&gnome-download-http;/gnome-terminal/&gnome-minor-16;/gnome-terminal-&gnome-terminal-version;.tar.xz">
   <!ENTITY gnome-terminal-download-ftp
            "&gnome-download-ftp;/gnome-terminal/&gnome-minor-16;/gnome-terminal-&gnome-terminal-version;.tar.xz">
-  <!ENTITY gnome-terminal-md5sum        "b6948446f48791f9b0044a5503c4d0bf">
+  <!ENTITY gnome-terminal-md5sum        "17d15e7d226826ca1853eee1c99645b0">
   <!ENTITY gnome-terminal-size          "1.8 Mo">
   <!ENTITY gnome-terminal-buildsize     "44 Mo">
   <!ENTITY gnome-terminal-time          "0.3 SBU">
@@ -86,10 +86,7 @@
       suivantes :  
     </para>
 <screen>
-<userinput>./configure --prefix=/usr             \
-            --disable-static          \
-            --disable-migration       \
-            --disable-search-provider &&
+<userinput>./configure --prefix=/usr                         --disable-static                      --disable-migration                   --disable-search-provider &&
 make</userinput>
 </screen>
     <para>
@@ -100,8 +97,7 @@
     </para>
 <screen role="root">
 <userinput>make install &&
-sed -e 's/System/Utility/' \
-    -i /usr/share/applications/gnome-terminal.desktop</userinput>
+sed -e 's/System/Utility/'     -i /usr/share/applications/gnome-terminal.desktop</userinput>
 </screen>
     <note><para>Pour lancer <application>GNOME Terminal</application>, la variable d'environnement
     <envar>LANG></envar> doit être initialisée sur une locale UTF-8.</para></note>

Modified: trunk/blfs/gnome/applications/nautilus.xml
===================================================================
--- trunk/blfs/gnome/applications/nautilus.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/nautilus.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,9 +7,9 @@
            "&gnome-download-http;/nautilus/&gnome-minor-16;/nautilus-&nautilus-version;.tar.xz">
   <!ENTITY nautilus-download-ftp  
            "&gnome-download-ftp;/nautilus/&gnome-minor-16;/nautilus-&nautilus-version;.tar.xz">
-  <!ENTITY nautilus-md5sum        "28102519935a23415ffb08b4e338557e">
+  <!ENTITY nautilus-md5sum        "4a5c73bac8e26a883684b591b380f930">
   <!ENTITY nautilus-size          "3.2 Mo">
-  <!ENTITY nautilus-buildsize     "117 Mo">
+  <!ENTITY nautilus-buildsize     "119 Mo">
   <!ENTITY nautilus-time          "0.6 SBU">
 ]>
 <sect1 id="nautilus" xreflabel="Nautilus-&nautilus-version;">
@@ -95,10 +95,7 @@
        
     </para>
 <screen>
-<userinput>./configure --prefix=/usr        \
-            --sysconfdir=/etc    \
-            --disable-tracker    \
-            --disable-packagekit &&
+<userinput>./configure --prefix=/usr                    --sysconfdir=/etc                --disable-tracker                --disable-packagekit &&
 make</userinput>
 </screen>
     <para>

Modified: trunk/blfs/gnome/applications/seahorse.xml
===================================================================
--- trunk/blfs/gnome/applications/seahorse.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/applications/seahorse.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -4,13 +4,13 @@
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
   <!ENTITY seahorse-download-http 
-           "&gnome-download-http;/seahorse/3.15/seahorse-&seahorse-version;.tar.xz">
+           "&gnome-download-http;/seahorse/&gnome-minor-16;/seahorse-&seahorse-version;.tar.xz">
   <!ENTITY seahorse-download-ftp  
-           "&gnome-download-ftp;/seahorse/3.15/seahorse-&seahorse-version;.tar.xz">
-  <!ENTITY seahorse-md5sum        "4554482f813e0f5f062d4395b84130eb">
+           "&gnome-download-ftp;/seahorse/&gnome-minor-16;/seahorse-&seahorse-version;.tar.xz">
+  <!ENTITY seahorse-md5sum        "3416abb33183285a5e69fe0a058c39de">
   <!ENTITY seahorse-size          "1.5 Mo">
-  <!ENTITY seahorse-buildsize     "63 Mo">
-  <!ENTITY seahorse-time          "0.4 SBU">
+  <!ENTITY seahorse-buildsize     "51 Mo">
+  <!ENTITY seahorse-time          "0.3 SBU">
 ]>
 <sect1 id="seahorse" xreflabel="Seahorse-&seahorse-version;">
   <?dbhtml filename="seahorse.html"?>
@@ -82,9 +82,7 @@
     <para>Installez <application>Seahorse</application> en lançant les commandes
     suivantes :</para>
 <screen>
-<userinput>./configure --prefix=/usr     \
-            --bindir=/usr/bin \
-            --disable-static  &&
+<userinput>./configure --prefix=/usr                 --bindir=/usr/bin             --disable-static  &&
 make</userinput>
 </screen>
     <para>Ce paquet n'est pas fourni avec une suite de tests.</para>

Modified: trunk/blfs/gnome/platform/adwaita-icon-theme.xml
===================================================================
(Binary files differ)

Modified: trunk/blfs/gnome/platform/gcr.xml
===================================================================
--- trunk/blfs/gnome/platform/gcr.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/platform/gcr.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -3,12 +3,12 @@
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
-  <!ENTITY gcr-download-http "&gnome-download-http;/gcr/3.15/gcr-&gcr-version;.tar.xz">
-  <!ENTITY gcr-download-ftp  "&gnome-download-ftp;/gcr/3.15/gcr-&gcr-version;.tar.xz">
-  <!ENTITY gcr-md5sum        "c50a634592fb6c4dead8edfe971c48ca">
+  <!ENTITY gcr-download-http "&gnome-download-http;/gcr/&gnome-minor-16;/gcr-&gcr-version;.tar.xz">
+  <!ENTITY gcr-download-ftp  "&gnome-download-ftp;/gcr/&gnome-minor-16;/gcr-&gcr-version;.tar.xz">
+  <!ENTITY gcr-md5sum        "d5835680be0b6a838e02a528d5378d9c">
   <!ENTITY gcr-size          "1.3 Mo">
-  <!ENTITY gcr-buildsize     "75 Mo (additional 5 Mo for tests)">
-  <!ENTITY gcr-time          "0.6 SBU (additional 0.1 SBU for tests)">
+  <!ENTITY gcr-buildsize     "77 Mo (additional 5 Mo for tests)">
+  <!ENTITY gcr-time          "0.7 SBU (additional 0.1 SBU for tests)">
 ]>
 <sect1 id="gcr" xreflabel="Gcr-&gcr-version;">
   <?dbhtml filename="gcr.html"?>
@@ -93,8 +93,7 @@
       commands:
     </para>
 <screen>
-<userinput>./configure --prefix=/usr     \
-            --sysconfdir=/etc &&
+<userinput>./configure --prefix=/usr                 --sysconfdir=/etc &&
 make</userinput>
 </screen>
     <para>

Modified: trunk/blfs/gnome/platform/gnome-desktop.xml
===================================================================
--- trunk/blfs/gnome/platform/gnome-desktop.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/platform/gnome-desktop.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,10 +7,10 @@
            "&gnome-download-http;/gnome-desktop/&gnome-minor-16;/gnome-desktop-&gnome-desktop-version;.tar.xz">
   <!ENTITY gnome-desktop-download-ftp
            "&gnome-download-ftp;/gnome-desktop/&gnome-minor-16;/gnome-desktop-&gnome-desktop-version;.tar.xz">
-  <!ENTITY gnome-desktop-md5sum        "e044dd01d6797675c32d20ef80e353aa">
+  <!ENTITY gnome-desktop-md5sum        "ab5bf4cc94ad63639f42adcc1542b1f0">
   <!ENTITY gnome-desktop-size          "1.1 Mo">
   <!ENTITY gnome-desktop-buildsize     "24 Mo">
-  <!ENTITY gnome-desktop-time          "0.3 SBU">
+  <!ENTITY gnome-desktop-time          "0.2 SBU">
 ]>
 <sect1 id="gnome-desktop" xreflabel="GNOME-Desktop-&gnome-desktop-version;">
   <?dbhtml filename="gnome-desktop.html"?>

Modified: trunk/blfs/gnome/platform/gnome-themes-standard.xml
===================================================================
--- trunk/blfs/gnome/platform/gnome-themes-standard.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/platform/gnome-themes-standard.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,10 +7,10 @@
    "&gnome-download-http;/gnome-themes-standard/&gnome-minor-16;/gnome-themes-standard-&gnome-themes-standard-version;.tar.xz">
   <!ENTITY gnome-themes-standard-download-ftp
    "&gnome-download-ftp;/gnome-themes-standard/&gnome-minor-16;/gnome-themes-standard-&gnome-themes-standard-version;.tar.xz">
-  <!ENTITY gnome-themes-standard-md5sum        "2dc51388ce1a4452d58b86155201d305">
+  <!ENTITY gnome-themes-standard-md5sum        "0d80ad7786cfd498c966361ba2e790c7">
   <!ENTITY gnome-themes-standard-size          "2.8 Mo">
   <!ENTITY gnome-themes-standard-buildsize     "39 Mo">
-  <!ENTITY gnome-themes-standard-time          "0.4 SBU">
+  <!ENTITY gnome-themes-standard-time          "0.5 SBU">
 ]>
 <sect1 id="gnome-themes-standard" xreflabel="gnome-themes-standard-&gnome-themes-standard-version;">
   <?dbhtml filename="gnome-themes-standard.html"?>

Modified: trunk/blfs/gnome/platform/vte.xml
===================================================================
--- trunk/blfs/gnome/platform/vte.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/platform/vte.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,11 +5,11 @@
   %general-entities;
   <!ENTITY vte-download-http "&gnome-download-http;/vte/0.40/vte-&vte-version;.tar.xz">
   <!ENTITY vte-download-ftp  "&gnome-download-ftp;/vte/0.40/vte-&vte-version;.tar.xz">
-  <!ENTITY vte-md5sum        "5593de4ac25ca578e26f01be57c0c3ff">
+  <!ENTITY vte-md5sum        "6a7a6af8eb0ebadaf3338e820a7229a3">
   <!ENTITY vte-size          "904 Ko">
-  <!ENTITY vte-buildsize     "18 Mo (additional 2 Mo for the tests)">
+  <!ENTITY vte-buildsize     "18 Mo (additional 3 Mo for the tests)">
   <!ENTITY vte-time          "0.2 SBU">
-  
+  <!-- For "Contents" and "Short Descriptions" sections -->
   <!ENTITY vte-nano          "91">
 ]>
 <sect1 id="vte" xreflabel="VTE-&vte-version;">
@@ -72,10 +72,7 @@
     <para>Installez <application>VTE</application> en lançant les commandes
     suivantes :</para>
 <screen>
-<userinput>./configure --prefix=/usr          \
-            --sysconfdir=/etc      \
-            --disable-static       \
-            --enable-introspection &&
+<userinput>./configure --prefix=/usr                      --sysconfdir=/etc                  --disable-static                   --enable-introspection &&
 make</userinput>
 </screen>
     <para>Pour tester les résultats, tapez <command>make check</command>.</para>

Modified: trunk/blfs/gnome/platform/yelp.xml
===================================================================
--- trunk/blfs/gnome/platform/yelp.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome/platform/yelp.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,7 +5,7 @@
   %general-entities;
   <!ENTITY yelp-download-http "&gnome-download-http;/yelp/&gnome-minor-16;/yelp-&yelp-version;.tar.xz">
   <!ENTITY yelp-download-ftp  "&gnome-download-ftp;/yelp/&gnome-minor-16;/yelp-&yelp-version;.tar.xz">
-  <!ENTITY yelp-md5sum        "55993908af03a696ba997fa80b5df483">
+  <!ENTITY yelp-md5sum        "528302ce066f3798d40e9c5e2fcedfc4">
   <!ENTITY yelp-size          "1.4 Mo">
   <!ENTITY yelp-buildsize     "24 Mo">
   <!ENTITY yelp-time          "0.2 SBU">

Modified: trunk/blfs/gnome.ent
===================================================================
--- trunk/blfs/gnome.ent	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/gnome.ent	2015-05-22 12:46:30 UTC (rev 6865)
@@ -1,4 +1,4 @@
-<!-- $LastChangedBy: fernando $ $Date: 2015-05-13 06:20:55 +0200 (mer. 13 mai 2015) $ -->
+<!-- $LastChangedBy: fernando $ $Date: 2015-05-16 19:40:31 +0200 (sam. 16 mai 2015) $ -->
 <!-- Chapter 30 -->
 <!-- Platform -->
 <!ENTITY polkit-gnome-version         "0.105">
@@ -6,11 +6,11 @@
 <!ENTITY yelp-xsl-version             "3.16.1">
 <!ENTITY GConf-version                "3.2.6">
 <!ENTITY libsecret-version            "0.18.2">
-<!ENTITY gcr-version                  "3.15.92">
+<!ENTITY gcr-version                  "3.16.0">
 <!ENTITY gnome-keyring-version        "3.16.0">
 <!ENTITY gvfs-version                 "1.24.1">
 <!ENTITY gjs-version                  "1.43.3">
-<!ENTITY gnome-desktop-version        "3.16.1">
+<!ENTITY gnome-desktop-version        "3.16.2">
 <!ENTITY gnome-video-effects-version  "0.4.1">
 <!ENTITY gtksourceview-version        "3.16.1">
 <!ENTITY libgtop-version              "2.30.0">
@@ -18,32 +18,32 @@
 <!ENTITY libwnck-version              "3.14.0">
 <!ENTITY notification-daemon-version  "3.16.1">
 <!ENTITY totem-pl-parser-version      "3.10.5">
-<!ENTITY vte-version                  "0.40.0">
+<!ENTITY vte-version                  "0.40.2">
 <!-- Runtime -->
 <!ENTITY dconf-version                     "0.24.0">
 <!ENTITY dconf-editor-version              "3.16.1">
-<!ENTITY adwaita-icon-theme-version        "3.16.0">
+<!ENTITY adwaita-icon-theme-version        "3.16.2.1">
 <!ENTITY gnome-icon-theme-version          "3.12.0">
 <!ENTITY gnome-icon-theme-extras-version   "3.12.0">
 <!ENTITY gnome-icon-theme-symbolic-version "3.12.0">
-<!ENTITY gnome-themes-standard-version     "3.16.0">
-<!ENTITY yelp-version                      "3.16.0">
+<!ENTITY gnome-themes-standard-version     "3.16.2">
+<!ENTITY yelp-version                      "3.16.1">
 <!-- Chapter 31 -->
 <!-- Applications -->
 <!ENTITY baobab-version               "3.16.1">
 <!ENTITY brasero-version              "3.12.1">
 <!ENTITY cheese-version               "3.16.1">
-<!ENTITY eog-version                  "3.16.1">
+<!ENTITY eog-version                  "3.16.2">
 <!ENTITY epiphany-version             "3.16.1">
 <!ENTITY evince-version               "3.16.0">
-<!ENTITY file-roller-version          "3.16.1">
-<!ENTITY gedit-version                "3.16.1">
+<!ENTITY file-roller-version          "3.16.2">
+<!ENTITY gedit-version                "3.16.2">
 <!ENTITY gnome-calculator-version     "3.16.0">
 <!ENTITY gnome-nettool-version        "3.8.1">
-<!ENTITY gnome-screenshot-version     "3.16.0">
+<!ENTITY gnome-screenshot-version     "3.16.2">
 <!ENTITY gnome-system-monitor-version "3.16.0">
-<!ENTITY gnome-terminal-version       "3.16.1">
+<!ENTITY gnome-terminal-version       "3.16.2">
 <!ENTITY gucharmap-version            "3.16.2">
-<!ENTITY nautilus-version             "3.16.1">
+<!ENTITY nautilus-version             "3.16.2">
 <!ENTITY network-manager-applet-version "1.0.2">
-<!ENTITY seahorse-version             "3.15.92">
+<!ENTITY seahorse-version             "3.16.0">

Modified: trunk/blfs/multimedia/cdwriteutils/libburn.xml
===================================================================
--- trunk/blfs/multimedia/cdwriteutils/libburn.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/multimedia/cdwriteutils/libburn.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY libburn-download-http
            "http://files.libburnia-project.org/releases/libburn-&libburn-version;.tar.gz">
   <!ENTITY libburn-download-ftp  " ">
-  <!ENTITY libburn-md5sum        "ecee98ecd1c24e9d7e92b605e61a2ef2">
+  <!ENTITY libburn-md5sum        "82ff94bb04e78eac9b12c7546f005d6f">
   <!ENTITY libburn-size          "948 Ko">
-  <!ENTITY libburn-buildsize     "14 Mo">
-  <!ENTITY libburn-time          "0.2 SBU">
+  <!ENTITY libburn-buildsize     "18 Mo">
+  <!ENTITY libburn-time          "0.1 SBU">
 ]>
 <sect1 id="libburn" xreflabel="libburn-&libburn-version;">
   <?dbhtml filename="libburn.html"?>

Modified: trunk/blfs/multimedia/cdwriteutils/libisoburn.xml
===================================================================
--- trunk/blfs/multimedia/cdwriteutils/libisoburn.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/multimedia/cdwriteutils/libisoburn.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY libisoburn-download-http
            "http://files.libburnia-project.org/releases/libisoburn-&libisoburn-version;.tar.gz">
   <!ENTITY libisoburn-download-ftp  " ">
-  <!ENTITY libisoburn-md5sum        "4f1c2290a2d02bdb709c3707fd9f1ae6">
+  <!ENTITY libisoburn-md5sum        "77bc6bcbe023ccd0fb210e341606dfbf">
   <!ENTITY libisoburn-size          "1.4 Mo">
-  <!ENTITY libisoburn-buildsize     "15 Mo with Tk (additional 2 Mo to generate HTML documentation)">
-  <!ENTITY libisoburn-time          "0.2 SBU with Tk">
+  <!ENTITY libisoburn-buildsize     "22 Mo (with Tk and HTML documentation)">
+  <!ENTITY libisoburn-time          "0.2 SBU (with Tk and HTML documentation)">
 ]>
 <sect1 id="libisoburn" xreflabel="libisoburn-&libisoburn-version;">
   <?dbhtml filename="libisoburn.html"?>
@@ -89,9 +89,7 @@
       commands:
     </para>
 <screen>
-<userinput>./configure --prefix=/usr              \
-            --disable-static           \
-            --enable-pkg-check-modules &&
+<userinput>./configure --prefix=/usr                          --disable-static                       --enable-pkg-check-modules &&
 make</userinput>
 </screen>
     <para>

Modified: trunk/blfs/multimedia/cdwriteutils/libisofs.xml
===================================================================
--- trunk/blfs/multimedia/cdwriteutils/libisofs.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/multimedia/cdwriteutils/libisofs.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,9 +6,9 @@
   <!ENTITY libisofs-download-http
            "http://files.libburnia-project.org/releases/libisofs-&libisofs-version;.tar.gz">
   <!ENTITY libisofs-download-ftp  " ">
-  <!ENTITY libisofs-md5sum        "7fea3aa98038a90cec6a5779e0e05eb5">
-  <!ENTITY libisofs-size          "784 Ko">
-  <!ENTITY libisofs-buildsize     "9.8 Mo">
+  <!ENTITY libisofs-md5sum        "394f9025d40b5f9b1b884a72bfaf5bed">
+  <!ENTITY libisofs-size          "800 Ko">
+  <!ENTITY libisofs-buildsize     "13 Mo">
   <!ENTITY libisofs-time          "0.2 SBU">
 ]>
 <sect1 id="libisofs" xreflabel="libisofs-&libisofs-version;">

Modified: trunk/blfs/multimedia/libdriv/soundtouch.xml
===================================================================
--- trunk/blfs/multimedia/libdriv/soundtouch.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/multimedia/libdriv/soundtouch.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,9 +5,9 @@
   %general-entities;
   <!ENTITY soundtouch-download-http "http://www.surina.net/soundtouch/soundtouch-&soundtouch-version;.tar.gz">
   <!ENTITY soundtouch-download-ftp  " ">
-  <!ENTITY soundtouch-md5sum        "d02c6c91cb13901ca273a2b4b143ce41">
-  <!ENTITY soundtouch-size          "104 Ko">
-  <!ENTITY soundtouch-buildsize     "6.1 Mo">
+  <!ENTITY soundtouch-md5sum        "0b0672c09c1c97df2e61c4d5aa9a7b86">
+  <!ENTITY soundtouch-size          "168 Ko">
+  <!ENTITY soundtouch-buildsize     "5.4 Mo">
   <!ENTITY soundtouch-time          "0.1 SBU">
 ]>
 <sect1 id="soundtouch" xreflabel="SoundTouch-&soundtouch-version;">

Modified: trunk/blfs/multimedia/videoutils/ffmpeg.xml
===================================================================
--- trunk/blfs/multimedia/videoutils/ffmpeg.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/multimedia/videoutils/ffmpeg.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,12 +5,10 @@
   %general-entities;
   <!ENTITY ffmpeg-download-http "http://ffmpeg.org/releases/ffmpeg-&ffmpeg-version;.tar.bz2">
   <!ENTITY ffmpeg-download-ftp  " ">
-  <!ENTITY ffmpeg-md5sum        "e75d598921285d6775f20164a91936ac">
+  <!ENTITY ffmpeg-md5sum        "e2cc3c209f91393d35ab58598e41cf22">
   <!ENTITY ffmpeg-size          "7.5 Mo">
-  <!ENTITY ffmpeg-buildsize     "140 Mo (additional 872 Mo for docs and 2375 Mo to run the FATE suite)">
-  <!ENTITY ffmpeg-time          "1.0 SBU (using parallelism=4, about 3.4 SBU 
-    with one core); additional 0.6 SBU for docs and 3.6 SBU to run the FATE
-    suite, after sample files are downloaded">
+  <!ENTITY ffmpeg-buildsize     "1013 Mo (with optional docs and additional 2359 Mo to run the FATE suite)">
+  <!ENTITY ffmpeg-time          "1.7 SBU (with optional docs); additional 3.8 SBU to run the FATE suite, after sample files are downloaded">
 ]>
 <sect1 id="ffmpeg" xreflabel="FFmpeg-&ffmpeg-version;">
   <?dbhtml filename="ffmpeg.html"?>
@@ -132,24 +130,7 @@
     
 <screen>
 <userinput>sed -i 's/-lflite"/-lflite -lasound"/' configure &&
-./configure --prefix=/usr        \
-            --enable-gpl         \
-            --enable-version3    \
-            --enable-nonfree     \
-            --disable-static     \
-            --enable-shared      \
-            --disable-debug      \
-            --enable-libass      \
-            --enable-libfdk-aac  \
-            --enable-libfreetype \
-            --enable-libmp3lame  \
-            --enable-libopus     \
-            --enable-libtheora   \
-            --enable-libvorbis   \
-            --enable-libvpx      \
-            --enable-libx264     \
-            --enable-x11grab     \
-            --docdir=/usr/share/doc/ffmpeg-&ffmpeg-version; &&
+./configure --prefix=/usr                    --enable-gpl                     --enable-version3                --enable-nonfree                 --disable-static                 --enable-shared                  --disable-debug                  --enable-libass                  --enable-libfdk-aac              --enable-libfreetype             --enable-libmp3lame              --enable-libopus                 --enable-libtheora               --enable-libvorbis               --enable-libvpx                  --enable-libx264                 --enable-x11grab                 --docdir=/usr/share/doc/ffmpeg-&ffmpeg-version; &&
 make &&
 gcc tools/qt-faststart.c -o tools/qt-faststart</userinput>
 </screen>
@@ -160,15 +141,14 @@
       Postscript de la documentation, tapez les commandes suivantes:
     </para>
 <screen>
-<userinput>sed -i '$s/$/\n\n at bye/' doc/{git-howto,nut,fate}.texi             &&
-sed -i '/machine:i386/ s/\\/@backslashchar{}/g' doc/platform.texi &&
+<userinput>sed -i '$s/$/nn at bye/' doc/{git-howto,nut,fate}.texi             &&
+sed -i '/machine:i386/ s/\/@backslashchar{}/g' doc/platform.texi &&
 pushd doc &&
 for DOCNAME in `basename -s .html *.html`
 do
     texi2pdf -b $DOCNAME.texi &&
     texi2dvi -b $DOCNAME.texi &&
-    dvips    -o $DOCNAME.ps   \
-                $DOCNAME.dvi
+    dvips    -o $DOCNAME.ps                   $DOCNAME.dvi
 done &&
 popd &&
 unset DOCNAME</userinput>
@@ -185,8 +165,7 @@
 <screen role="root">
 <userinput>make install &&
 install -v -m755    tools/qt-faststart /usr/bin &&
-install -v -m644    doc/*.txt \
-                    /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput>
+install -v -m644    doc/*.txt                     /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput>
 </screen>
     <para>
 	Si les documentations PDF et Postscript sont construites, tapez les commandes suivantes , en 
@@ -193,10 +172,8 @@
         tant qu'utilisateur <systemitem class="username">root</systemitem> pour l'installer:
     </para>
 <screen role="root">
-<userinput>install -v -m644 doc/*.pdf \
-                 /usr/share/doc/ffmpeg-&ffmpeg-version; &&
-install -v -m644 doc/*.ps  \
-                 /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput>
+<userinput>install -v -m644 doc/*.pdf                  /usr/share/doc/ffmpeg-&ffmpeg-version; &&
+install -v -m644 doc/*.ps                   /usr/share/doc/ffmpeg-&ffmpeg-version;</userinput>
 </screen>
     <para>Si vous avez utilisé <command>doxygen</command> pour créer la 
     documentation de l'API, installez-la (300 Mo d'espace en plus) en
@@ -205,8 +182,8 @@
 <screen role="root">
 <userinput>install -v -m755 -d /usr/share/doc/ffmpeg-&ffmpeg-version;/api                     &&
 cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-&ffmpeg-version;/api                  &&
-find /usr/share/doc/ffmpeg-&ffmpeg-version;/api -type f -exec chmod -c 0644 \{} \; &&
-find /usr/share/doc/ffmpeg-&ffmpeg-version;/api -type d -exec chmod -c 0755 \{} \;</userinput>
+find /usr/share/doc/ffmpeg-&ffmpeg-version;/api -type f -exec chmod -c 0644 {} ; &&
+find /usr/share/doc/ffmpeg-&ffmpeg-version;/api -type d -exec chmod -c 0755 {} ;</userinput>
 </screen>
 <para>
       Pour tester proprement l'installation vous devez avoir installé <xref linkend="rsync"/>
@@ -231,8 +208,7 @@
       sauvegardés précédement, lancez la commande suivante:
     </para>
 <screen>
-<userinput><command>rsync -vrltLW  --delete --timeout=60 --contimeout=60 \
-      rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/</command></userinput>
+<userinput><command>rsync -vrltLW  --delete --timeout=60 --contimeout=60       rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/</command></userinput>
 </screen>
     <para>
       Ensuite, FATE est éxécuté, avec la commande (vous obtenez un nombre de tests supérieur à 2300):

Modified: trunk/blfs/networking/connect/dhcpcd.xml
===================================================================
--- trunk/blfs/networking/connect/dhcpcd.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/networking/connect/dhcpcd.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,9 +5,9 @@
   %general-entities;
   <!ENTITY dhcpcd-download-http "http://roy.marples.name/downloads/dhcpcd/dhcpcd-&dhcpcd-version;.tar.bz2">
   <!ENTITY dhcpcd-download-ftp  "ftp://roy.marples.name/pub/dhcpcd/dhcpcd-&dhcpcd-version;.tar.bz2">
-  
-  <!ENTITY dhcpcd-md5sum        "947f2964cf280edc27746c93b83128b0">
-  <!ENTITY dhcpcd-size          "172 Ko">
+  <!--<!ENTITY dhcpcd-download-ftp  "ftp://ftp.osuosl.org/pub/gentoo/distfiles/dhcpcd-&dhcpcd-version;.tar.bz2">-->
+  <!ENTITY dhcpcd-md5sum        "374fcac1877078a2fc0ef8cd1617a869">
+  <!ENTITY dhcpcd-size          "176 Ko">
   <!ENTITY dhcpcd-buildsize     "2.5 Mo">
   <!ENTITY dhcpcd-time          "moins de 0.1 SBU">
 ]>
@@ -62,8 +62,7 @@
     <para>Installez <application>dhcpcd</application> en lançant
     les commandes suivantes :</para>
 <screen>
-<userinput>./configure --libexecdir=/lib/dhcpcd \
-            --dbdir=/var/tmp         &&
+<userinput>./configure --libexecdir=/lib/dhcpcd             --dbdir=/var/tmp         &&
 make</userinput>
 </screen>
     <para>Ce paquet est fourni sans suite de tests.</para>

Modified: trunk/blfs/networking/netlibs/libndp.xml
===================================================================
(Binary files differ)

Modified: trunk/blfs/networking/netutils/whois.xml
===================================================================
--- trunk/blfs/networking/netutils/whois.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/networking/netutils/whois.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,9 +5,9 @@
   %general-entities;
   <!ENTITY whois-download-http "http://ftp.debian.org/debian/pool/main/w/whois/whois_&whois-version;.tar.xz">
   <!ENTITY whois-download-ftp  "ftp://ftp.debian.org/debian/pool/main/w/whois/whois_&whois-version;.tar.xz">
-  <!ENTITY whois-md5sum        "5dc3d9d77224109f61b5dd1e7cfafebc">
+  <!ENTITY whois-md5sum        "37e375b7594224f4292baac7fad4da4a">
   <!ENTITY whois-size          "80 Ko">
-  <!ENTITY whois-buildsize     "4 Ko">
+  <!ENTITY whois-buildsize     "1.7 Mo">
   <!ENTITY whois-time          "moins de 0.1 SBU">
 ]>
 <sect1 id="whois" xreflabel="Whois-&whois-version;">

Modified: trunk/blfs/packages.ent
===================================================================
--- trunk/blfs/packages.ent	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/packages.ent	2015-05-22 12:46:30 UTC (rev 6865)
@@ -1,4 +1,4 @@
-<!-- $LastChangedBy: fernando $ $Date: 2015-05-14 00:32:57 +0200 (jeu. 14 mai 2015) $ -->
+<!-- $LastChangedBy: fernando $ $Date: 2015-05-21 16:10:17 +0200 (jeu. 21 mai 2015) $ -->
 <!-- Part II -->
 <!-- Chapter 3 -->
 <!ENTITY initd-tools-version          "0.1.3">
@@ -37,7 +37,7 @@
 <!-- Chapter 5 -->
 <!ENTITY fuse-version                 "2.9.3">
 <!ENTITY jfsutils-version             "1.1.15">
-<!ENTITY lvm2-version                 "2.02.119">
+<!ENTITY lvm2-version                 "2.02.120">
 <!ENTITY mdadm-version                "3.3.2">
 <!ENTITY ntfs-3g-version              "2015.3.14">
 <!ENTITY gptfdisk-version             "1.0.0">
@@ -73,7 +73,7 @@
 <!ENTITY enchant-version              "1.6.0">
 <!ENTITY exempi-version               "2.2.2">
 <!ENTITY expat-version                "2.1.0">
-<!ENTITY glib2-version                "2.44.0">
+<!ENTITY glib2-version                "2.44.1">
 <!ENTITY glibmm-version               "2.44.0">
 <!ENTITY gmime-version                "2.6.20">
 <!ENTITY gobject-introspection-version "1.44.0">
@@ -165,7 +165,7 @@
 <!ENTITY openjpeg-version             "1.5.2">
 <!ENTITY openjpeg2-version            "2.1.0">
 <!ENTITY pixman-version               "0.32.6">   <!-- Even minors only -->
-<!ENTITY poppler-version              "0.32.0">   
+<!ENTITY poppler-version              "0.33.0">   
 <!ENTITY qpdf-version                 "5.1.2">
 <!-- Chapter 11 -->
 <!ENTITY appdata-tools-version        "0.1.8">
@@ -198,7 +198,7 @@
 <!ENTITY bluez-version                "5.30">
 <!ENTITY colord-version               "1.2.10">    <!-- Even minors only -->
 <!ENTITY cpio-version                 "2.11">
-<!ENTITY dbus-version                 "1.8.16">   <!-- Even minors only -->
+<!ENTITY dbus-version                 "1.8.18">   <!-- Even minors only -->
 <!ENTITY eudev-version                "1.7">
 <!ENTITY fcron-version                "3.2.0">
 <!ENTITY gpm-version                  "1.20.7">
@@ -240,8 +240,8 @@
 <!ENTITY expect-version               "5.45">
 <!ENTITY gcc-version                  "4.9.2">
 <!ENTITY gc-version                   "7.4.2">
-<!ENTITY gdb-version                  "7.9">
-<!ENTITY git-version                  "2.4.0">
+<!ENTITY gdb-version                  "7.9.1">
+<!ENTITY git-version                  "2.4.1">
 <!ENTITY guile-version                "2.0.11">
 <!ENTITY librep-version               "0.92.5">
 <!ENTITY llvm-version                 "3.6.0">
@@ -249,7 +249,7 @@
 <!ENTITY mercurial-version            "3.4">
 <!ENTITY nasm-version                 "2.11.08">
 <!ENTITY npapi-sdk-version            "0.27.2">
-<!ENTITY php-version                  "5.6.8">
+<!ENTITY php-version                  "5.6.9">
 <!ENTITY python2-version              "2.7.9">
 <!ENTITY python3-version              "3.4.3">
 <!ENTITY ruby-version                 "2.2.2">
@@ -321,7 +321,7 @@
 <!-- Part IV -->
 <!-- Chapter 14 -->
 <!ENTITY ppp-version                  "2.4.5">
-<!ENTITY dhcpcd-version               "6.8.2">
+<!ENTITY dhcpcd-version               "6.9.0">
 <!ENTITY dhcp-version                 "4.3.2">
 <!-- Chapter 15 -->
 <!ENTITY bridgeutils-version          "1.5">
@@ -343,7 +343,7 @@
 <!ENTITY NetworkManager-version       "1.0.2">
 <!ENTITY nmap-version                 "6.47">
 <!ENTITY traceroute-version           "2.0.21">
-<!ENTITY whois-version                "5.2.7">
+<!ENTITY whois-version                "5.2.8">
 <!ENTITY wicd-version                 "1.7.3">
 <!ENTITY wireshark-version            "1.12.5">  <!-- even minors only -->
 <!ENTITY wicd-major-version           "1.7">
@@ -355,7 +355,7 @@
 <!ENTITY libevent-version             "2.0.22">
 <!ENTITY libnl-version                "3.2.25">
 <!ENTITY libpcap-version              "1.7.3">
-<!ENTITY libndp-version               "1.4">
+<!ENTITY libndp-version               "1.5">
 <!ENTITY libproxy-version             "0.4.7">
 <!ENTITY libsoup-version              "2.50.0">
 <!ENTITY libtirpc-version             "0.3.0">
@@ -379,7 +379,7 @@
 <!-- Chapter 21 -->
 <!ENTITY dovecot-major                "2">
 <!ENTITY dovecot-minor                "2">
-<!ENTITY dovecot-micro                "16">
+<!ENTITY dovecot-micro                "18">
 <!ENTITY dovecot-version              "&dovecot-major;.&dovecot-minor;.&dovecot-micro;">
 <!ENTITY exim-version                 "4.85">
 <!ENTITY postfix-version              "3.0.1">
@@ -388,7 +388,7 @@
 <!ENTITY db-version                   "6.1.23">
 <!ENTITY mariadb-version              "10.0.19">
 <!ENTITY postgresql-version           "9.4.1">
-<!ENTITY sqlite-version               "3.8.10.1">
+<!ENTITY sqlite-version               "3.8.10.2">
 <!-- Chapter 23 -->
 <!ENTITY openldap-version             "2.4.40">
 <!ENTITY soprano-version              "2.9.4">
@@ -407,7 +407,7 @@
 <!ENTITY xbitmaps-version             "1.1.1">
 <!ENTITY xcursor-themes-version       "1.0.4">
 <!ENTITY xkeyboard-config-version     "2.14">
-<!ENTITY mesalib-version              "10.5.4">
+<!ENTITY mesalib-version              "10.5.5">
 <!ENTITY xcb-util-version             "0.4.0">
 <!ENTITY xcb-util-image-version       "0.4.0">
 <!ENTITY xcb-util-keysyms-version     "0.4.0">
@@ -427,7 +427,7 @@
 <!ENTITY cairo-version                "1.14.2">
 <!ENTITY cairomm-version              "1.10.0">
 <!ENTITY cogl-version                 "1.20.0">
-<!ENTITY clutter-version              "1.22.0">
+<!ENTITY clutter-version              "1.22.2">
 <!ENTITY clutter-gst-version          "3.0.4">
 <!ENTITY clutter-gtk-version          "1.6.0">
 <!ENTITY fltk-version                 "1.3.3">
@@ -435,7 +435,7 @@
 <!ENTITY gdk-pixbuf-version           "2.31.4">
 <!ENTITY glu-version                  "9.0.0">
 <!ENTITY goffice010-version           "0.10.22">
-<!ENTITY gtk2-version                 "2.24.27">
+<!ENTITY gtk2-version                 "2.24.28">
 <!ENTITY gtk3-version                 "3.16.3">
 <!ENTITY gtk-engines-version          "2.20.2">
 <!ENTITY gtkmm2-version               "2.24.4">
@@ -450,8 +450,8 @@
 <!ENTITY qt5-version                  "5.4.1">
 <!ENTITY shared-mime-info-version     "1.4">
 <!ENTITY startup-notification-version "0.12">
-<!ENTITY webkitgtk2-version           "2.4.8">    <!-- Even minors only -->
-<!ENTITY webkitgtk-version            "2.8.2">    <!-- Even minors only -->
+<!ENTITY webkitgtk2-version           "2.4.9">    <!-- Even minors only -->
+<!ENTITY webkitgtk-version            "2.8.3">    <!-- Even minors only -->
 <!ENTITY gtk2-libdir                  "2.0/2.10.0">
 <!ENTITY qt4-dir                      "$QT4DIR">
 <!-- Chapter 26 -->
@@ -499,14 +499,14 @@
 <!-- <!ENTITY libxfcegui4-version          "4.10.0"> deprecated -->
 <!ENTITY xfce4-panel-version          "4.12.0">
 <!ENTITY xfce4-xkb-plugin-version     "0.7.1">
-<!ENTITY thunar-version               "1.6.8">
+<!ENTITY thunar-version               "1.6.9">
 <!ENTITY thunar-volman-version        "0.8.1">
 <!ENTITY tumbler-version              "0.1.31">
 <!ENTITY xfce4-appfinder-version      "4.12.0">
 <!ENTITY xfce4-power-manager-version  "1.4.4">
 <!ENTITY xfce4-settings-version       "4.12.0">
-<!ENTITY xfdesktop-version            "4.12.1">
-<!ENTITY xfwm4-version                "4.12.2">
+<!ENTITY xfdesktop-version            "4.12.2">
+<!ENTITY xfwm4-version                "4.12.3">
 <!ENTITY xfce4-session-version        "4.12.1">
 <!-- Chapter 33 -->
 <!ENTITY midori-version               "0.5.10">
@@ -515,7 +515,7 @@
 <!ENTITY mousepad-version             "0.4.0">
 <!ENTITY vte2-version                 "0.28.2">
 <!ENTITY xfce4-terminal-version       "0.6.3">
-<!ENTITY xfburn-version               "0.5.2">
+<!ENTITY xfburn-version               "0.5.4">
 <!ENTITY ristretto-version            "0.8.0">
 <!ENTITY libunique-version            "1.1.6">
 <!ENTITY xfce4-mixer-version          "4.10.0">
@@ -550,12 +550,12 @@
 <!ENTITY libreoffice-dlversion        "&libreoffice-version;&libreoffice-patch;">
 <!-- Chapter 35 -->
 <!ENTITY seamonkey-version            "2.33.1">
-<!ENTITY firefox-version              "38.0">
+<!ENTITY firefox-version              "38.0.1">
 <!-- Chapter 36 -->
 <!ENTITY asymptote-version            "2.32">
 <!ENTITY balsa-version                "2.5.1">
 <!ENTITY ekiga-version                "4.0.1">
-<!ENTITY feh-version                  "2.12.1">
+<!ENTITY feh-version                  "2.13">
 <!--<!ENTITY fontforge-date               "2015-02-28">-->
 <!ENTITY fontforge-version            "20150330">
 <!ENTITY gparted-version              "0.22.0">
@@ -567,7 +567,7 @@
 <!ENTITY pidgin-version               "2.10.11">
 <!ENTITY rox-filer-version            "2.11">
 <!ENTITY rxvt-unicode-version         "9.21">
-<!ENTITY thunderbird-version          "31.6.0">
+<!ENTITY thunderbird-version          "31.7.0">
 <!ENTITY tigervnc-version             "1.4.3">
 <!ENTITY transmission-version         "2.84">
 <!ENTITY xchat-version                "2.8.8">
@@ -629,7 +629,7 @@
 <!ENTITY pulseaudio-major-version     "6.0">
 <!ENTITY pulseaudio-version           "&pulseaudio-major-version;">
 <!ENTITY sdl-version                  "1.2.15">
-<!ENTITY soundtouch-version           "1.8.0">
+<!ENTITY soundtouch-version           "1.9.0">
 <!ENTITY speex-version                "1.2rc2">
 <!ENTITY speexdsp-version             "1.2rc3">
 <!ENTITY taglib-version               "1.9.1">
@@ -653,7 +653,7 @@
 <!ENTITY amarok-version               "2.8.0">
 <!ENTITY pnmixer-version              "0.5.1">
 <!-- Chapter 40 -->
-<!ENTITY ffmpeg-version               "2.6.2">
+<!ENTITY ffmpeg-version               "2.6.3">
 <!ENTITY mplayer-version              "2015-02-20">
 <!ENTITY xine-ui-version              "0.99.9">
 <!ENTITY transcode-version            "1.1.7">
@@ -662,9 +662,9 @@
 <!ENTITY cdrdao-version               "1.2.3">
 <!ENTITY dvd-rw-tools-version         "7.1">
 <!ENTITY k3b-version                  "2.0.3">
-<!ENTITY libburn-version              "1.3.8">
-<!ENTITY libisoburn-version           "1.3.8">
-<!ENTITY libisofs-version             "1.3.8">
+<!ENTITY libburn-version              "1.4.0">
+<!ENTITY libisoburn-version           "1.4.0">
+<!ENTITY libisofs-version             "1.4.0">
 <!ENTITY simpleburn-version           "1.6.5">
 <!-- Part XII -->
 <!-- Chapter 42 -->

Modified: trunk/blfs/postlfs/filesystems/lvm2.xml
===================================================================
--- trunk/blfs/postlfs/filesystems/lvm2.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/postlfs/filesystems/lvm2.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY lvm2-download-http " ">
   <!ENTITY lvm2-download-ftp  "ftp://sources.redhat.com/pub/lvm2/LVM2.&lvm2-version;.tgz">
-  <!ENTITY lvm2-md5sum        "93d15d76ab78fbcec4721c4b44284bbb">
+  <!ENTITY lvm2-md5sum        "326df8542d3a2376da907e98a0888ccf">
   <!ENTITY lvm2-size          "1.6 Mo">
-  <!ENTITY lvm2-buildsize     "29 Mo (additional 13 Mo to run the test suite)">
-  <!ENTITY lvm2-time          "0.4 SBU (ajouter 13 SBU pour lancer la suite de tests)">
+  <!ENTITY lvm2-buildsize     "39 Mo (additional 9 Mo to run the test suite)">
+  <!ENTITY lvm2-time          "0.4 SBU (ajouter 8.3 SBU pour lancer la suite de tests with -j4)">
 ]>
 <sect1 id="lvm2" xreflabel="lvm2-&lvm2-version;">
   <?dbhtml filename="lvm2.html"?>
@@ -85,13 +85,7 @@
     <para>Installez <application>lvm2</application> en lançant les commandes
     suivantes :</para>
 <screen>
-<userinput>./configure --prefix=/usr       \
-            --exec-prefix=      \
-            --with-confdir=/etc \
-            --enable-applib     \
-            --enable-cmdlib     \
-            --enable-pkgconfig  \
-            --enable-udev_sync  &&
+<userinput>./configure --prefix=/usr                   --exec-prefix=                  --with-confdir=/etc             --enable-applib                 --enable-cmdlib                 --enable-pkgconfig              --enable-udev_sync  &&
 make</userinput>
 </screen>
     

Modified: trunk/blfs/pst/typesetting/biber.xml
===================================================================
(Binary files differ)

Modified: trunk/blfs/server/databases/sqlite.xml
===================================================================
--- trunk/blfs/server/databases/sqlite.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/server/databases/sqlite.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -3,16 +3,16 @@
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
-  <!ENTITY sqlite-dl-version    "3081001">
-  <!ENTITY sqlite-doc-version   "3081001">
+  <!ENTITY sqlite-dl-version    "3081002">
+  <!ENTITY sqlite-doc-version   "3081002">
   <!ENTITY sqlite-download-http "http://sqlite.org/2015/sqlite-autoconf-&sqlite-dl-version;.tar.gz">
   <!ENTITY sqlite-download-ftp  " ">
-  <!ENTITY sqlite-md5sum        "8bd9d7df3f67bc771f53c6dda42face2">
+  <!ENTITY sqlite-md5sum        "a18bfc015cd49a1e7a961b7b77bc3b37">
   <!ENTITY sqlite-size          "2.0 Mo">
-  <!ENTITY sqlite-buildsize     "43 Mo (additional 26 Mo for the Optional Documentation)">
+  <!ENTITY sqlite-buildsize     "69 Mo (with Optional Documentation)">
   <!ENTITY sqlite-time          "0.3 SBU">
   <!ENTITY sqlite-docs-download "http://sqlite.org/2015/sqlite-doc-&sqlite-doc-version;.zip">
-  <!ENTITY sqlite-docs-md5sum   "3343ad078e887b2ce8f79e2cc6f4a1e6">
+  <!ENTITY sqlite-docs-md5sum   "59e10cdbacbda10469a7c57843d1ffdd">
   <!ENTITY sqlite-docs-size     "4.9 Mo">
 ]>
 <sect1 id="sqlite" xreflabel="SQLite-&sqlite-version;">

Modified: trunk/blfs/server/mail/dovecot.xml
===================================================================
--- trunk/blfs/server/mail/dovecot.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/server/mail/dovecot.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY dovecot-download-http
   "http://www.dovecot.org/releases/&dovecot-major;.&dovecot-minor;/dovecot-&dovecot-version;.tar.gz">
   <!ENTITY dovecot-download-ftp  " ">
-  <!ENTITY dovecot-md5sum        "8dba21e817b4239e462d98a925233418">
-  <!ENTITY dovecot-size          "4.6 Mo">
-  <!ENTITY dovecot-buildsize     "235 Mo">
-  <!ENTITY dovecot-time          "1.4 SBU (additional 0.5 SBU for the tests)">
+  <!ENTITY dovecot-md5sum        "1e42eb3b69544c447ad882d7858f3630">
+  <!ENTITY dovecot-size          "4.9 Mo">
+  <!ENTITY dovecot-buildsize     "257 Mo (additional 14 Mo for the tests)">
+  <!ENTITY dovecot-time          "1.3 SBU (additional 0.4 SBU for the tests)">
 ]>
 <sect1 id="dovecot" xreflabel="Dovecot-&dovecot-version;">
   <?dbhtml filename="dovecot.html"?>
@@ -98,11 +98,9 @@
     </para>
 <screen role="root">
 <userinput>groupadd -g 42 dovecot &&
-useradd -c "Dovecot unprivileged user" -d /dev/null -u 42 \
-        -g dovecot -s /bin/false dovecot &&
+useradd -c "Dovecot unprivileged user" -d /dev/null -u 42         -g dovecot -s /bin/false dovecot &&
 groupadd -g 43 dovenull &&
-useradd -c "Dovecot login user" -d /dev/null -u 43 \
-        -g dovenull -s /bin/false dovenull</userinput>
+useradd -c "Dovecot login user" -d /dev/null -u 43         -g dovenull -s /bin/false dovenull</userinput>
 </screen>
     <para>
       Installez <application>Dovecot</application> en lançant les commandes suivantes :
@@ -110,11 +108,7 @@
     </para>
 <screen>
 <userinput>patch -Np1 -i ../dovecot-&dovecot-version;-CVE_2015_3420-1.patch &&
-./configure --prefix=/usr \
-            --sysconfdir=/etc \
-            --localstatedir=/var \
-            --docdir=/usr/share/doc/dovecot-&dovecot-version; \
-            --disable-static &&
+./configure --prefix=/usr             --sysconfdir=/etc             --localstatedir=/var             --docdir=/usr/share/doc/dovecot-&dovecot-version;             --disable-static &&
 make</userinput>
 </screen>
     <para>Pour tester les résultats, tapez <command>make -k check</command>. Un test échoue pour une raison
@@ -196,7 +190,7 @@
         <application>Linux PAM</application>.
       </para>
 <screen role="root">
-<userinput>sed -i '/^\!include / s/^/#/' /etc/dovecot/dovecot.conf &&
+<userinput>sed -i '/^!include / s/^/#/' /etc/dovecot/dovecot.conf &&
 chmod -v 1777 /var/mail &&
 cat > /etc/dovecot/local.conf << "EOF"
 <literal>protocols = imap

Added: trunk/blfs/traduc/commits/r15968.txt
===================================================================
--- trunk/blfs/traduc/commits/r15968.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15968.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,54 @@
+Révision 15968
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   general.ent
+   packages.ent
+   x/lib/clutter-gst.xml
+   x/lib/clutter.xml
+   x/lib/clutter-gtk.xml
+
+Log :
+Update to clutter-1.22.2.
+
+Le robot a traité 67 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15967)
++++ introduction/welcome/changelog.xml	(révision 15968)
+@@ -45,6 +45,16 @@
+ -->
+ 
+     <listitem>
++      <para>May 15th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Update to clutter-1.22.2. Fixes
++          <ulink url="&blfs-ticket-root;6488">#6488</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 13th, 2015</para>
+       <itemizedlist>
+         <listitem>
+
+Index: x/lib/clutter.xml
+===================================================================
+--- x/lib/clutter.xml	(révision 15967)
++++ x/lib/clutter.xml	(révision 15968)
+@@ -99,11 +99,10 @@
+     <bridgehead renderas="sect4">Optional</bridgehead>
+     <para role="optional">
+       <xref linkend="gtk-doc"/>,
++      <xref linkend="libevdev"/>,
+       <xref linkend="udev-extras"/> (for GUdev),
+-<ulink url="http://www.freedesktop.org/wiki/Software/libevdev/">
+-libevdev</ulink>,
+       <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
+-<ulink url="http://tslib.berlios.de/">Tslib</ulink>, and
++      <ulink url="https://github.com/kergoth/tslib">Tslib</ulink>, and
+       <ulink url="http://wayland.freedesktop.org/">Wayland</ulink>
+     </para>
+ 
+

Added: trunk/blfs/traduc/commits/r15969.txt
===================================================================
--- trunk/blfs/traduc/commits/r15969.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15969.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15969
+
+fichiers modifiés :
+   packages.ent
+   general/genlib/glib2.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to glib-2.44.1.
+
+Le robot a traité 67 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15968)
++++ introduction/welcome/changelog.xml	(révision 15969)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to glib-2.44.1. Fixes
++          <ulink url="&blfs-ticket-root;6497">#6497</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to clutter-1.22.2. Fixes
+           <ulink url="&blfs-ticket-root;6488">#6488</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15970.txt
===================================================================
--- trunk/blfs/traduc/commits/r15970.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15970.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15970
+
+fichiers modifiés :
+   packages.ent
+   x/lib/gtk+2.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to gtk+-2.24.28.
+
+Le robot a traité 65 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15969)
++++ introduction/welcome/changelog.xml	(révision 15970)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to gtk+-2.24.28. Fixes
++          <ulink url="&blfs-ticket-root;6500">#6500</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to glib-2.44.1. Fixes
+           <ulink url="&blfs-ticket-root;6497">#6497</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15971.txt
===================================================================
--- trunk/blfs/traduc/commits/r15971.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15971.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,42 @@
+Révision 15971
+
+fichiers modifiés :
+   packages.ent
+   x/installing/mesalib.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to mesa-10.5.5.
+
+Le robot a traité 48 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15970)
++++ introduction/welcome/changelog.xml	(révision 15971)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to mesa-10.5.5. Fixes
++          <ulink url="&blfs-ticket-root;6485">#6485</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to gtk+-2.24.28. Fixes
+           <ulink url="&blfs-ticket-root;6500">#6500</ulink>.</para>
+         </listitem>
+
+Index: x/installing/mesalib.xml
+===================================================================
+--- x/installing/mesalib.xml	(révision 15970)
++++ x/installing/mesalib.xml	(révision 15971)
+@@ -145,8 +145,7 @@
+       commands:
+     </para>
+ 
+-<screen><userinput>autoreconf -fiv                            &&
+-./configure CFLAGS='-O2' CXXFLAGS='-O2'    \
++<screen><userinput>./configure CFLAGS='-O2' CXXFLAGS='-O2'    \
+             --prefix=$XORG_PREFIX          \
+             --sysconfdir=/etc              \
+             --enable-texture-float         \
+

Added: trunk/blfs/traduc/commits/r15972.txt
===================================================================
--- trunk/blfs/traduc/commits/r15972.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15972.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15972
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   packages.ent
+   general/prog/gdb.xml
+
+Log :
+Update to gdb-7.9.1.
+
+Le robot a traité 73 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15971)
++++ introduction/welcome/changelog.xml	(révision 15972)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to gdb-7.9.1. Fixes
++          <ulink url="&blfs-ticket-root;6498">#6498</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to mesa-10.5.5. Fixes
+           <ulink url="&blfs-ticket-root;6485">#6485</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15973.txt
===================================================================
--- trunk/blfs/traduc/commits/r15973.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15973.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15973
+
+fichiers modifiés :
+   packages.ent
+   general/prog/git.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to git-2.4.1.
+
+Le robot a traité 66 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15972)
++++ introduction/welcome/changelog.xml	(révision 15973)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update togit-2.4.1. Fixes
++          <ulink url="&blfs-ticket-root;6499">#6499</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to gdb-7.9.1. Fixes
+           <ulink url="&blfs-ticket-root;6498">#6498</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15974.txt
===================================================================
--- trunk/blfs/traduc/commits/r15974.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15974.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,29 @@
+Révision 15974
+
+fichiers modifiés :
+   packages.ent
+   general/prog/php.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to php-5.6.9.
+
+Le robot a traité 70 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15973)
++++ introduction/welcome/changelog.xml	(révision 15974)
+@@ -48,7 +48,11 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
+-<para>[fernando] - Update togit-2.4.1. Fixes
++          <para>[fernando] - Update to php-5.6.9. Fixes
++          <ulink url="&blfs-ticket-root;6504">#6504</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to git-2.4.1. Fixes
+           <ulink url="&blfs-ticket-root;6499">#6499</ulink>.</para>
+         </listitem>
+         <listitem>
+

Added: trunk/blfs/traduc/commits/r15975.txt
===================================================================
--- trunk/blfs/traduc/commits/r15975.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15975.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,93 @@
+Révision 15975
+
+fichiers modifiés :
+   packages.ent
+   server/mail/dovecot.xml
+   general/prog/git.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to dovecot-2.2.18.
+
+Le robot a traité 40 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15974)
++++ introduction/welcome/changelog.xml	(révision 15975)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to dovecot-2.2.18. Fixes
++          <ulink url="&blfs-ticket-root;6505">#6505</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to php-5.6.9. Fixes
+           <ulink url="&blfs-ticket-root;6504">#6504</ulink>.</para>
+         </listitem>
+
+Index: server/mail/dovecot.xml
+===================================================================
+--- server/mail/dovecot.xml	(révision 15974)
++++ server/mail/dovecot.xml	(révision 15975)
+@@ -38,7 +38,7 @@
+       easily extensible with plugins.
+     </para>
+ 
+-&lfs77_checked; &gcc5_checked;
++    &lfs77_built; &gcc5_built;
+ 
+     <bridgehead renderas="sect3">Package Information</bridgehead>
+     <itemizedlist spacing="compact">
+@@ -73,7 +73,7 @@
+         </para>
+       </listitem>
+     </itemizedlist>
++<!--
+     <bridgehead renderas="sect3">Additional Downloads</bridgehead>
+     <itemizedlist spacing='compact'>
+       <listitem>
+@@ -81,13 +81,14 @@
+     <bridgehead renderas="sect4">Optional</bridgehead>
+     <para role="optional">
+       <xref linkend="clucene"/>,
++      <xref linkend="icu"/>,
+       <xref linkend="libcap-pam"/>,
+       <xref linkend="linux-pam"/>,
+       <xref linkend="mariadb"/> or <ulink url="http://www.mysql.com/">MySQL</ulink>,
+@@ -95,8 +96,11 @@
+       <xref linkend="openldap"/>,
+       <xref linkend="openssl"/>,
+       <xref linkend="postgresql"/>,
+-<xref linkend="sqlite"/>, and
+-<xref linkend="valgrind"/>
++      <xref linkend="sqlite"/>,
++      <xref linkend="valgrind"/>,
++      <ulink url="https://cassandra.apache.org/">Cassandra</ulink>,
++      <ulink url="https://github.com/Cyan4973/lz4">lz4</ulink>, and
++      <ulink url="https://github.com/shibukawa/snowball_py">stemmer</ulink>
+     </para>
+ 
+     <para condition="html" role="usernotes">User Notes:
+@@ -125,8 +129,7 @@
+       commands:
+     </para>
+ 
+-<screen><userinput>patch -Np1 -i ../dovecot-&dovecot-version;-CVE_2015_3420-1.patch &&
+-./configure --prefix=/usr \
++<screen><userinput>./configure --prefix=/usr \
+             --sysconfdir=/etc \
+             --localstatedir=/var \
+             --docdir=/usr/share/doc/dovecot-&dovecot-version; \
+@@ -283,9 +286,7 @@
+         </seg>
+         <seg>
+           /etc/dovecot,
+-/usr/include/dovecot,
+-/usr/lib/dovecot,
+-/usr/libexec/dovecot, and
++          /usr/{include,lib,libexec,share}/dovecot and
+           /usr/share/doc/dovecot-&dovecot-version;
+         </seg>
+       </seglistitem>
+

Added: trunk/blfs/traduc/commits/r15976.txt
===================================================================
--- trunk/blfs/traduc/commits/r15976.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15976.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15976
+
+fichiers modifiés :
+   packages.ent
+   general/sysutils/dbus.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to dbus-1.8.18.
+
+Le robot a traité 67 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15975)
++++ introduction/welcome/changelog.xml	(révision 15976)
+@@ -48,6 +48,10 @@
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to dbus-1.8.18. Fixes
++          <ulink url="&blfs-ticket-root;6502">#6502</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to dovecot-2.2.18. Fixes
+           <ulink url="&blfs-ticket-root;6505">#6505</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15977.txt
===================================================================
--- trunk/blfs/traduc/commits/r15977.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15977.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,23 @@
+Révision 15977
+
+fichiers modifiés :
+   general/sysutils/acpid.xml
+   general/sysutils/lm_sensors.xml
+   general/sysutils/hdparm.xml
+   general/sysutils/sg3_utils.xml
+   general/sysutils/pciutils.xml
+   general/sysutils/which.xml
+   general/genlib/boost.xml
+   general/prog/valgrind.xml
+   general/genutils/time.xml
+   general/genutils/tree.xml
+   general/genutils/lsof.xml
+   general/genutils/screen.xml
+   networking/netprogs/wget.xml
+   postlfs/filesystems/ntfs-3g.xml
+   postlfs/filesystems/fuse.xml
+
+Log :
+More GCC5 Tags
+
+Le robot a traité 100 % du commit anglais

Added: trunk/blfs/traduc/commits/r15978.txt
===================================================================
--- trunk/blfs/traduc/commits/r15978.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15978.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,33 @@
+Révision 15978
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   general.ent
+   packages.ent
+   x/lib/webkitgtk.xml
+
+Log :
+Update to webkitgtk-2.8.3.
+
+Le robot a traité 71 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15977)
++++ introduction/welcome/changelog.xml	(révision 15978)
+@@ -45,6 +45,16 @@
+ -->
+ 
+     <listitem>
++      <para>May 16th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Update to  webkitgtk-2.8.3. Fixes
++          <ulink url="&blfs-ticket-root;6507">#6507</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 15th, 2015</para>
+       <itemizedlist>
+         <listitem>
+

Added: trunk/blfs/traduc/commits/r15979.txt
===================================================================
--- trunk/blfs/traduc/commits/r15979.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15979.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,46 @@
+Révision 15979
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   packages.ent
+   xsoft/graphweb/firefox.xml
+   general/genlib/glib2.xml
+
+Log :
+Update to firefox-38.0.1. GLib-2.44.1: move external optional dependency down.
+
+Le robot a traité 44 % du commit anglais
+Index: general/genlib/glib2.xml
+===================================================================
+--- general/genlib/glib2.xml	(révision 15978)
++++ general/genlib/glib2.xml	(révision 15979)
+@@ -89,8 +89,8 @@
+     <para role="optional">
+       <xref linkend="dbus"/> (required for some tests),
+       <xref linkend="elfutils"/>,
+-<ulink url="ftp://oss.sgi.com/projects/fam/download/stable/">FAM library</ulink>, and
+-<xref linkend="gtk-doc"/>
++      <xref linkend="gtk-doc"/>, and
++      <ulink url="ftp://oss.sgi.com/projects/fam/download/stable/">FAM library</ulink>
+     </para>
+ 
+     <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
+
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15978)
++++ introduction/welcome/changelog.xml	(révision 15979)
+@@ -48,7 +48,11 @@
+       <para>May 16th, 2015</para>
+       <itemizedlist>
+         <listitem>
+-<para>[fernando] - Update to  webkitgtk-2.8.3. Fixes
++          <para>[fernando] - Update to firefox-38.0.1. Fixes
++          <ulink url="&blfs-ticket-root;6506">#6506</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to webkitgtk-2.8.3. Fixes
+           <ulink url="&blfs-ticket-root;6507">#6507</ulink>.</para>
+         </listitem>
+       </itemizedlist>
+

Added: trunk/blfs/traduc/commits/r15980.txt
===================================================================
--- trunk/blfs/traduc/commits/r15980.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15980.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,71 @@
+Révision 15980
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   gnome.ent
+   gnome/platform/yelp.xml
+   gnome/platform/gcr.xml
+   gnome/platform/gnome-desktop.xml
+   gnome/platform/gnome-themes-standard.xml
+   gnome/platform/vte.xml
+   gnome/platform/adwaita-icon-theme.xml
+   gnome/applications/nautilus.xml
+   gnome/applications/seahorse.xml
+   gnome/applications/eog.xml
+   gnome/applications/file-roller.xml
+   gnome/applications/gnome-terminal.xml
+   gnome/applications/gnome-screenshot.xml
+   gnome/applications/gedit.xml
+
+Log :
+Update to GNOME 3.16.2.
+
+Le robot a traité 89 % du commit anglais
+Index: gnome/applications/seahorse.xml
+===================================================================
+--- gnome/applications/seahorse.xml	(révision 15979)
++++ gnome/applications/seahorse.xml	(révision 15980)
+@@ -5,13 +5,13 @@
+   %general-entities;
+ 
+   <!ENTITY seahorse-download-http 
+-"&gnome-download-http;/seahorse/3.15/seahorse-&seahorse-version;.tar.xz">
++           "&gnome-download-http;/seahorse/&gnome-minor-16;/seahorse-&seahorse-version;.tar.xz">
+   <!ENTITY seahorse-download-ftp  
+-"&gnome-download-ftp;/seahorse/3.15/seahorse-&seahorse-version;.tar.xz">
++           "&gnome-download-ftp;/seahorse/&gnome-minor-16;/seahorse-&seahorse-version;.tar.xz">
+   <!ENTITY seahorse-size          "1.5 MB">
+ ]>
+ 
+
+Index: gnome/platform/gcr.xml
+===================================================================
+--- gnome/platform/gcr.xml	(révision 15979)
++++ gnome/platform/gcr.xml	(révision 15980)
+@@ -115,7 +115,8 @@
+ make</userinput></screen>
+ 
+     <para>
+-To test the results, issue: <command>make check</command>.
++      To test the results, issue: <command>make -k check</command>.
++      Some tests fail for unknown reasons.
+     </para>
+ 
+     <para>
+
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15979)
++++ introduction/welcome/changelog.xml	(révision 15980)
+@@ -48,6 +48,10 @@
+       <para>May 16th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to GNOME 3.16.2. Hopefully fixes
++          <ulink url="&blfs-ticket-root;6480">#6480</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to firefox-38.0.1. Fixes
+           <ulink url="&blfs-ticket-root;6506">#6506</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15981.txt
===================================================================
--- trunk/blfs/traduc/commits/r15981.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15981.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,41 @@
+Révision 15981
+
+fichiers ajoutés :
+A       scripts/README
+A       scripts/blfs-chapter10.php
+A       scripts/blfs-chapter20.php
+A       scripts/blfs-chapter11.php
+A       scripts/blfs-chapter12.php
+A       scripts/blfs-chapter30.php
+A       scripts/blfs-chapter13.php
+A       scripts/blfs-chapter04.php
+A       scripts/blfs-chapter31.php
+A       scripts/blfs-chapter40.php
+A       scripts/blfs-chapter32.php
+A       scripts/blfs-chapter05.php
+A       scripts/blfs-chapter14.php
+A       scripts/blfs-latest.php
+A       scripts/blfs-chapter06.php
+A       scripts/blfs-chapter24.php
+A       scripts/update-blfs-currency.sh
+A       scripts/blfs-chapter43.php
+A       scripts/blfs-chapter34.php
+A       scripts/blfs-chapter25.php
+A       scripts/summ-blfs-test.php
+A       scripts/blfs-chapter17.php
+A       scripts/blfs-chapter26.php
+A       scripts/blfs-chapter36.php
+A       scripts/blfs-chapter09.php
+A       scripts/blfs-chapter27.php
+A       scripts/blfs-chapter29.php
+A       scripts/blfs-chapter39.php
+A       scripts/blfs-currency.html
+A       scripts/currency.css
+A       scripts/summ-blfs.php
+
+Log :
+Initial commit of blfs currenct scripts. They will be changed soon to parameterize several variables and modularize some common functions.
+
+Le robot a traité 100 % du commit anglais
+
+ATTENTION : il faut relire les fichiers suivants qui sont ajoutés

Added: trunk/blfs/traduc/commits/r15982.txt
===================================================================
--- trunk/blfs/traduc/commits/r15982.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15982.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,231 @@
+Révision 15982
+
+fichiers ajoutés :
+A       scripts/blfs-include.php
+A       scripts/leftnav.html
+
+fichiers modifiés :
+M       scripts/blfs-chapter04.php
+
+Log :
+Add blfs-include.php for common functions and implement for Chapter 4.
+
+Le robot a traité 58 % du commit anglais
+
+ATTENTION : il faut relire les fichiers suivants qui sont ajoutés
+Index: scripts/blfs-chapter04.php
+===================================================================
+--- scripts/blfs-chapter04.php	(révision 15981)
++++ scripts/blfs-chapter04.php	(révision 15982)
+@@ -1,18 +1,20 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$specials = array();
+-$specials[ 'Linux-PAM' ] = "documentation";
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER = "4";
++$START_PACKAGE = "blfs-bootscripts";
++$STOP_PACKAGE  = "tripwire";
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'Linux-PAM1' ] = 'Linux-PAM-docs';
++$renames[ 'shadow_'    ] = 'shadow';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
++$ignores[ 'openssh1' ] = "";
+ 
+//$current="haveged";   // For debugging
+ 
+@@ -53,77 +55,6 @@
+ 
+ );
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-//echo "regex_match=$regex_match; regex_replace=$regex_replace\n";
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-//echo "regex matches line=$line\n";
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "slice=$slice\n";
+-if ( $slice == $line ) continue; 
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-//print_r($a);
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( $slice == $line ) continue; 
+-// Skip odd numbered minor versions
+-list( $major, $minor ) = explode( ".", $slice . ".0", 2 );
+-if ( $minor % 2 == 1 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+   global $exceptions;
+@@ -198,9 +129,7 @@
+ 
+               // Get dir listing
+               $lines = ftp_rawlist ($conn, $path);              
+-//print_r($lines);
+               $max   = find_max( $lines, $regexp, $regexp );
+-//echo "max=$max\n";
+               break;
+ 
+             case "DOWNDIR":
+@@ -250,8 +179,6 @@
+      }
+ 
+      $lines = http_get_file( $dirpath );
+-//print_r( $lines);
+-//echo "book_index=$book_index; package=$package\n";
+      if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+@@ -317,7 +244,7 @@
+ 
+ Function get_pattern( $line )
+ {
+-// Set up specific patter matches for extracting book versions
++   // Set up specific pattern matches for extracting book versions
+    $match = array (
+       array( 'pkg' => 'p11-kit', 
+              'regex' => "/p11-kit.(\d.*\d)\D*$/" ),
+@@ -342,102 +269,8 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
++get_current();  // Get what is in the book (in include file)
+ 
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-$i = 0;
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-if ( preg_match( "/patch$/", $line ) ) continue;     // Skip patches
+-$file =  basename( $line );
+-$url  =  dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-if ( $index == 'openssh1' ) continue;
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/tripwire/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter 4 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter 4 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-//if ( $pkg == "gnupg1"     ) $name = 'gnupg2';
+-if ( $pkg == "Linux-PAM1" ) $name = 'Linux-PAM-docs';
+-//if ( $pkg == "libcap2_"   ) $name = 'libcap2';
+-if ( $pkg == "shadow_"   ) $name = 'shadow';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter4.html", $f );
+-}
+-get_current();  // Get what is in the book
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+@@ -447,12 +280,9 @@
+echo "book index: $book_index $url\n";
+    $v = get_packages( $base, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of Chapter 4
+-if ( $book_index == 'tripwire' ) break; 
+ }
+ 
+ html();  // Write html output
+

Added: trunk/blfs/traduc/commits/r15983.txt
===================================================================
--- trunk/blfs/traduc/commits/r15983.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15983.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,425 @@
+Révision 15983
+
+fichiers modifiés :
+M       scripts/blfs-include.php
+M       scripts/blfs-chapter04.php
+M       scripts/blfs-chapter05.php
+
+Log :
+Tweak included php file for ftp access. Update through Chapter 5.
+
+Le robot a traité 11 % du commit anglais
+Index: scripts/blfs-chapter04.php
+===================================================================
+--- scripts/blfs-chapter04.php	(révision 15982)
++++ scripts/blfs-chapter04.php	(révision 15983)
+@@ -14,21 +14,23 @@
+ $ignores = array();
+ $ignores[ 'openssh1' ] = "";
+ 
+-//$current="haveged";   // For debugging
++//$current="p11-kit";   // For debugging
+ 
+-// Special cases
+-$exceptions = array();
+-$exceptions[ 'gnutls' ] = "UPDIR=/.*(v\d[\d\.-]*\d).*$/:DOWNDIR=";
+ $regex = array();
+ $regex[ 'krb5'     ] = "/^.*Kerberos V5 Release ([\d\.]+).*$/";
+ $regex[ 'tripwire' ] = "/^.*Download tripwire-([\d\.]+)-src.*$/";
+ $regex[ 'haveged'  ] = "/^.*haveged-([\d\.]+)\.tar.*$/";
+ 
+ $url_fix = array(
+-array( 'match'   => 'ftp.gnu(pg|tls).org', 
+-'replace' => 'ftp.heanet.ie/mirrors/ftp.gnupg.org' ),
+ 
++   array( 'pkg'     => 'gnupg',
++          'match'   => '^.*$', 
++          'replace' => 'ftp://ftp.gnupg.org/gcrypt/gnupg/' ),
++   array( 'pkg'     => 'gnutls',
++          'match'   => '^.*$', 
++          'replace' => 'ftp://ftp.gnupg.org/gcrypt/gnutls/' ),
+    array( 'pkg'     => 'haveged',
+           'match'   => '^.*$', 
+           'replace' => 'http://sourceforge.net/projects/haveged/files' ),
+@@ -92,62 +94,15 @@
+   // Check for ftp
+   if ( preg_match( "/^ftp/", $dirpath ) ) 
+   { 
+-$dirpath  = substr( $dirpath, 6 );           // Remove ftp://
+-$dirpath  = rtrim ( $dirpath, "/" );         // Trim any trailing slash
+-$position = strpos( $dirpath, "/" );         // Divide at first slash
+-$server   = substr( $dirpath, 0, $position );
+-$path     = substr( $dirpath, $position );
++     if ( $package == 'gnutls' )
++     {
++       $lines1 = http_get_file( $dirpath );
++       $dir = find_max( $lines1, "/v\d\.\d/", "/.*(v\d[\d\.-]*\d).*$/" );
++       $dirpath .= "$dir/";
++     }
+ 
+-$conn = ftp_connect( $server );
+-if ( ! isset( $conn ) )
+-{
+-//echo "No connection\n";
+-return -7;
+-}
+-if ( ! ftp_login( $conn, "anonymous", "a at b" ) )
+-{
+-//echo "anonymous ftp login failed\n";
+-return -8;
+-}
+-// See if we need special handling
+-if ( isset( $exceptions[ $package ] ) )
+-{
+-$specials = explode( ":", $exceptions[ $package ] );
+-foreach ( $specials as $i )
+-{
+-list( $op, $regexp ) = explode( "=", $i );
+-switch ($op)
+-{
+-case "UPDIR":
+-// Remove last dir from $path
+-$position = strrpos( $path, "/" );
+-$path = substr( $path, 0, $position );
+-// Get dir listing
+-$lines = ftp_rawlist ($conn, $path);              
+-$max   = find_max( $lines, $regexp, $regexp );
+-break;
+-case "DOWNDIR":
+-// Append found directory
+-$path .= "/$max";
+-break;
+-default:
+-echo "Error in specials array for $package\n";
+-return 0;
+-break;
+-}
+-}
+-}
+-$lines = ftp_rawlist ($conn, $path);
+-//print_r($lines);
+-ftp_close( $conn );
++     $lines = http_get_file( "$dirpath/" );
++     if ( ! is_array( $lines ) ) return $lines;
+   }
+   else // http
+   {
+@@ -213,7 +168,7 @@
+      return find_max( $lines, "/$package/", "/^.*$package-([\d\.p]*\d.?).tar.*$/" );
+ 
+   if ( $book_index == "p11-kit" )
+-return find_even_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d).tar.*$/" );
++     return find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d).tar.*$/" );
+ 
+   if ( $book_index == "shadow_" )
+      return find_max( $lines, "/$package/", "/^.*$package([\d\.]*\d).orig.tar.*$/" );
+@@ -222,10 +177,10 @@
+      return find_max( $lines, "/\d\.\d+\.\d+/", "/^.*(\d\.\d+\.\d+).*$/" );
+ 
+   if ( $book_index == "nettle" )
+-return find_max( $lines, "/nettle-2/", "/^.*nettle-(2\.\d+\.\d+).tar.*$/" );
++     return find_max( $lines, "/nettle/", "/^.*nettle-([\.\d]+\d).tar.*$/" );
+ 
+   if ( $book_index == "gnupg" )
+-return find_max( $lines, "/gnupg-2.0/", "/^.*gnupg-(2\.0\.\d+).tar.*$/" );
++     return find_max( $lines, "/gnupg-2/", "/^.*gnupg-([\.\d]+).tar.*$/" );
+ 
+   if ( $book_index == "nss" )
+   {
+
+Index: scripts/blfs-chapter05.php
+===================================================================
+--- scripts/blfs-chapter05.php	(révision 15982)
++++ scripts/blfs-chapter05.php	(révision 15983)
+@@ -1,25 +1,17 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=5;
+-$START_PACKAGE='fuse';
+-$STOP_PACKAGE='xfsprogs';
++include 'blfs-include.php';
+ 
+-$specials = array();
+-$specials[ 'Linux-PAM' ] = "documentation";
++$CHAPTER       = '5';
++$START_PACKAGE = 'fuse';
++$STOP_PACKAGE  = 'xfsprogs';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$ignores = array();
+ 
+-$vers = array();
+-//$current="sshfs-fuse";
++//$current="jfsutils";   // For debugging
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'fuse'     ] = "/^.*Download fuse-([\d\.]+).tar.*$/";
+ $regex[ 'jfsutils' ] = "/^.*jfsutils release ([\d\.]+) is available.*$/";
+@@ -27,106 +19,35 @@
+ 
+ $sf = 'sourceforge.net';
+ 
+-$url_fix[ 0 ] = array( 'pkg'     => 'fuse',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/fuse/files" );
++$url_fix = array (
+ 
+-$url_fix[ 1 ] = array( 'pkg'     => 'jfsutils',
+-'match'   => '^.*$', 
+-'replace' => "http://jfs.$sf/jfs_lr.html" );
++ array( 'pkg'     => 'fuse',
++        'match'   => '^.*$', 
++        'replace' => "http://$sf/projects/fuse/files" ),
+ 
+-$url_fix[ 2 ] = array( 'pkg'     => 'ntfs-3g_ntfsprogs',
+-'match'   => '^.*$', 
+-'replace' => 'http://www.tuxera.com/community/ntfs-3g-download' );
++ array( 'pkg'     => 'jfsutils',
++        'match'   => '^.*$', 
++        'replace' => "http://jfs.$sf/jfs_lr.html" ),
+ 
+-$url_fix[ 3 ] = array( 'pkg'     => 'gptfdisk',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gptfdisk/files/gptfdisk/" );
++ array( 'pkg'     => 'ntfs-3g_ntfsprogs',
++        'match'   => '^.*$', 
++        'replace' => 'http://www.tuxera.com/community/ntfs-3g-download' ),
+ 
+-$url_fix[ 4 ] = array( 'pkg'     => 'sshfs-fuse',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/fuse/files/sshfs-fuse/" );
++ array( 'pkg'     => 'gptfdisk',
++        'match'   => '^.*$', 
++        'replace' => "http://$sf/projects/gptfdisk/files/gptfdisk/" ),
+ 
+-$url_fix[ 5 ] = array( 'pkg'     => 'reiserfsprogs',
+-'match'   => '^.*$', 
+-'replace' => "https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/" );
++ array( 'pkg'     => 'sshfs-fuse',
++        'match'   => '^.*$', 
++        'replace' => "http://$sf/projects/fuse/files/sshfs-fuse/" ),
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-//echo "regex_match=$regex_match; regex_replace=$regex_replace\n";     
+-foreach ( $lines as $line )
+-{
+-//echo "line=$line\n";     
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-//echo "match\n";     
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "slice=$slice\n";     
++ array( 'pkg'     => 'reiserfsprogs',
++        'match'   => '^.*$', 
++        'replace' => "https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/" ),
++);
+ 
+-if ( "x$slice" == "x$line" ) continue;  // Numbers and whitespace 
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( $slice == $line ) continue; 
+-// Skip odd numbered minor versions
+-list( $major, $minor ) = explode( ".", $slice . ".0", 2 );
+-if ( $minor % 2 == 1 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-//echo "printing url results";
+-//print_r($dir);
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -158,18 +79,10 @@
+      }
+   }
+ 
+-// Check for ftp
+-if ( preg_match( "/^ftp/", $dirpath ) ) 
+-{ 
+-exec( "echo 'ls -1' | ncftp $dirpath", $lines );
+-}
+-else // http
+-{
+-// Customize http directories as needed
+-$lines = http_get_file( $dirpath );
++  if ( preg_match( "/ftp/", $dirpath ) ) $dirpath .= "/";
++  $lines = http_get_file( "$dirpath" );
+ 
+  if ( ! is_array( $lines ) ) return $lines;
+ 
+@@ -240,121 +153,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+ 
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
++get_current();  // Get what is in the book (in include file)
+ 
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-if ( preg_match( "/patch$/", $line ) ) continue;     // Skip patches
+-$file =  basename( $line );
+-$url  =  dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/xfsprogs/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "gnupg1"     ) $name = 'gnupg2';
+-if ( $pkg == "Linux-PAM1" ) $name = 'Linux-PAM-docs';
+-if ( $pkg == "LVM2."      ) $name = 'LVM2';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+-get_current();  // Get what is in the book
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++echo "book index: $book_index $bver $url\n";
+    $v = get_packages( $base, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-include.php
+===================================================================
+--- scripts/blfs-include.php	(révision 15982)
++++ scripts/blfs-include.php	(révision 15983)
+@@ -44,9 +44,8 @@
+ 
+      // Isolate the version and put in an array
+      $slice = preg_replace( $regex_replace, "$1", $line );
++     if ( "x$slice" == "x$line" ) continue; 
+ 
+-if ( $slice == $line ) continue; 
+      array_push( $a, $slice );     
+   }
+ 
+@@ -66,7 +65,7 @@
+      // Isolate the version and put in an array
+      $slice = preg_replace( $regex_replace, "$1", $line );
+ 
+-if ( $slice == $line ) continue; 
++     if ( "x$slice" == "x$line" ) continue; 
+ 
+      // Skip odd numbered minor versions
+      list( $major, $minor ) = explode( ".", $slice . ".0", 2 );
+

Added: trunk/blfs/traduc/commits/r15984.txt
===================================================================
--- trunk/blfs/traduc/commits/r15984.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15984.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,74 @@
+Révision 15984
+
+fichiers modifiés :
+   general.ent
+   packages.ent
+   xsoft/other/thunderbird.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to thunderbird-31.7.0.
+
+Le robot a traité 50 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15983)
++++ introduction/welcome/changelog.xml	(révision 15984)
+@@ -45,6 +45,16 @@
+ -->
+ 
+     <listitem>
++      <para>May 17th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Update to thunderbird-31.7.0. Fixes
++          <ulink url="&blfs-ticket-root;6509">#6509</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 16th, 2015</para>
+       <itemizedlist>
+         <listitem>
+
+Index: xsoft/other/thunderbird.xml
+===================================================================
+--- xsoft/other/thunderbird.xml	(révision 15983)
++++ xsoft/other/thunderbird.xml	(révision 15984)
+@@ -73,6 +73,16 @@
+       </listitem>
+     </itemizedlist>
+ 
++    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
++    <itemizedlist spacing="compact">
++      <listitem>
++        <para>
++          Required patch, if building with gcc-5:
++          <ulink url="&patch-root;/thunderbird-&thunderbird-version;-gcc5-1.patch"/>
++        </para>
++      </listitem>
++    </itemizedlist>
+     <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
+ 
+     <bridgehead renderas="sect4">Required</bridgehead>
+@@ -231,10 +241,7 @@
+ ac_add_options --with-system-bz2
+ ac_add_options --with-system-jpeg
+ ac_add_options --with-system-png
+-ac_add_options --with-system-zlib
+-# Presently, this option is broken
+-#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/thunderbuild</literal>
++ac_add_options --with-system-zlib</literal>
+ EOF</userinput></screen>
+ <!--
+     <para>
+@@ -254,6 +261,10 @@
+       -i  vp8_impl.cc               &&
+ cd -</userinput></screen>
+ 
++    <para>Fix some code when building with gcc-5:</para>
++<screen><userinput>patch -Np1 -i ../thunderbird-&thunderbird-version;-gcc5-1.patch</userinput></screen>
+     <para>
+       Compile <application>Thunderbird</application> by issuing the following
+       commands:
+

Added: trunk/blfs/traduc/commits/r15985.txt
===================================================================
--- trunk/blfs/traduc/commits/r15985.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15985.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,655 @@
+Révision 15985
+
+fichiers modifiés :
+M       scripts/blfs-chapter04.php
+M       scripts/blfs-chapter06.php
+M       scripts/blfs-chapter09.php
+M       scripts/blfs-include.php
+
+Log :
+Updates to currency scripts through chapter 9
+
+Le robot a traité 13 % du commit anglais
+Index: scripts/blfs-chapter04.php
+===================================================================
+--- scripts/blfs-chapter04.php	(révision 15984)
++++ scripts/blfs-chapter04.php	(révision 15985)
+@@ -59,7 +59,6 @@
+ 
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+
+Index: scripts/blfs-chapter06.php
+===================================================================
+--- scripts/blfs-chapter06.php	(révision 15984)
++++ scripts/blfs-chapter06.php	(révision 15985)
+@@ -1,113 +1,39 @@
+ #! /usr/bin/php
+ <?php
+ 
++include 'blfs-include.php';
+ $CHAPTER=6;
+ $START_PACKAGE='bluefish';
+ $STOP_PACKAGE='qemu';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$renames[ 'zsh1' ] = 'zsh-doc';
+ 
+-$vers = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="bluefish";   // For debugging
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'joe' ] = "/^.*Download joe-(\d[\d\.]+).tar.*$/";
+ 
+ $sf = 'sourceforge.net';
+ 
+-$url_fix[ 0 ] = array( 'pkg'     => 'joe',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/joe-editor/files" );
++$url_fix = array (
+ 
+-$url_fix[ 1 ] = array( 'pkg'     => 'vim',
+-'match'   => '^.*$', 
+-'replace' => "http://mirrors-usa.go-parts.com/pub/vim/unix" );
++  array( 'pkg'     => 'joe',
++         'match'   => '^.*$', 
++         'replace' => "http://$sf/projects/joe-editor/files" ),
+ 
+-$url_fix[ 2 ] = array( 'pkg'     => 'zsh',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/zsh/files/zsh" );
++  array( 'pkg'     => 'vim',
++         'match'   => '^.*$', 
++         'replace' => "http://mirrors-usa.go-parts.com/pub/vim/unix" ),
+ 
+-$url_fix[ 3 ] = array( 'pkg'     => 'zsh1',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/zsh/files/zsh-doc" );
++  array( 'pkg'     => 'tcsh',
++         'match'   => '^.*$', 
++         'replace' => "http://www.sfr-fresh.com/unix/misc" ),
++);
+ 
+-$url_fix[ 4 ] = array( 'pkg'     => 'tcsh',
+-'match'   => '^.*$', 
+-'replace' => "http://www.sfr-fresh.com/unix/misc" );
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" ) continue;  // Numbers and whitespace 
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( $slice == $line ) continue; 
+-// Skip odd numbered minor versions
+-list( $major, $minor ) = explode( ".", $slice . ".0", 2 );
+-if ( $minor % 2 == 1 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+   global $exceptions;
+@@ -115,7 +41,7 @@
+   global $book_index;
+   global $url_fix;
+ 
+-//if ( $book_index != 'nano' ) return 0;
++  if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+   // Fix up directory path
+   foreach ( $url_fix as $u )
+@@ -141,19 +67,11 @@
+      }
+   }
+ 
+-// Check for ftp
+-if ( preg_match( "/^ftp/", $dirpath ) ) 
+-{ 
+-exec( "echo 'ls -1' | ncftp $dirpath", $lines );
+-}
+-else // http
+-{
+-// Customize http directories as needed
++  if ( preg_match( "/^ftp/", $dirpath ) ) $dirpath .= "/";
++  $lines = http_get_file( "$dirpath" );
+ 
+-$lines = http_get_file( $dirpath );
+-if ( ! is_array( $lines ) ) return $lines;
+-} // End fetch
++  if ( ! is_array( $lines ) ) return $lines;
++  
+   if ( isset( $regex[ $package ] ) )
+   {
+      // Custom search for latest package name
+@@ -182,19 +100,9 @@
+   if ( $book_index == "nano" )
+     return find_max( $lines, "/$package/", "/^.*$package-([\d\.]+).tar.*$/" );
+ 
+-if ( $book_index == "zsh" )
+-{
+-$dir   = find_max( $lines, '/\d\./', '/^\s*([\d\.]+)\s*$/' );
+-$lines = http_get_file( "$dirpath/$dir" );
+-}
+   // zsh docs 
+   if ( $book_index == "zsh1" )
+-{
+-$dir   = find_max( $lines, '/\d\./', '/^\s*([\d\.]+)\s*$/' );
+-$lines = http_get_file( "$dirpath/$dir" );
+-return find_max( $lines, '/\d\./', '/^.*zsh-([\d\.]+)-doc.tar.*$/' );
+-}
++    return find_max( $lines, '/doc/', '/^.*zsh-([\d\.]+)-doc.tar.*$/' );
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+@@ -220,121 +128,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-if ( preg_match( "/patch$/", $line ) ) continue;     // Skip patches
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/qemu/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters 6-8 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters 6-8 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "vim1" ) $name = 'vim-lang';
+-if ( $pkg == "zsh1" ) $name = 'zsh-doc';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++echo "book index: $book_index $bver $url\n";
+ 
+-//$v = get_packages( $base, $url );
+-$v = get_packages( $book_index, $url );
++   $v = get_packages( $base, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter09.php
+===================================================================
+--- scripts/blfs-chapter09.php	(révision 15984)
++++ scripts/blfs-chapter09.php	(révision 15985)
+@@ -1,21 +1,17 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=9;
+-$START_PACKAGE='apr';
+-$STOP_PACKAGE='xapian-core';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '9';
++$START_PACKAGE = 'apr';
++$STOP_PACKAGE  = 'xapian-core';
+ 
+-$vers = array();
++$renames = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="json-c";
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'clucene-core'  ] = "/^.*Download clucene-core-([\d\.]+).tar.*$/";
+ $regex[ 'expat'         ] = "/^.*Download expat-([\d\.]+).tar.*$/";
+@@ -27,8 +23,6 @@
+ $regex[ 'libical'       ] = "/^.*v(\d[\d\.]+\d).*$/";
+ $regex[ 'xapian-core'   ] = "/^.*is (\d[\d\.]+\d),.*$/";
+ 
+-//$current="talloc";
+ $sf = 'sourceforge.net';
+ 
+ $url_fix = array (
+@@ -115,79 +109,18 @@
+  array( 'pkg'     => 'talloc',
+         'match'   => '^.*$', 
+         'replace' => "https://www.samba.org/ftp/talloc" ),
+-);
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" ) continue;  // Numbers and whitespace 
+-//echo "slice=$slice\n";
+-array_push( $a, $slice );     
+-}
++ array( 'pkg'     => 'icu4c',
++        'match'   => '^.*$', 
++        'replace' => "http://download.icu-project.org/files/icu4c" ),
+ 
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
++ array( 'pkg'     => 'json-c',
++        'match'   => '^.*$', 
++        'replace' => "https://s3.amazonaws.com/json-c_releases" ),
++);
+ 
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 -A Firefox/22.0 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -240,7 +173,7 @@
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+ 
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      $lines = http_get_file( "$dirpath/" );
+ 
+       if ( $book_index == "libsigc++" ) 
+         $dir = find_max(      $lines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
+@@ -252,16 +185,14 @@
+ 
+     if ( $book_index == "nspr" )
+     {
+-// Get the max directory and adjust the directory path
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_max( $lines, "/v[\d\.]+.*/", "/^.*v([\d\.]+).*/" );
+-$dirpath .= "/v$dir/src";
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      // Get the max directory and adjust the directory path
++      $lines = http_get_file( "$dirpath/" );
++      $dir = find_max( $lines, "/v[\d\.]+.*/", "/^.*v([\d\.]+).*/" );
++      $dirpath .= "/v$dir/src";
+     }
+ 
+     // Get listing
+-if ( substr( $dirpath, -1 ) != "/" ) $dirpath .= "/";
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -293,8 +224,11 @@
+     }
+ 
+     // Customize http directories as needed
+-$lines = http_get_file( $dirpath );
+-if ( ! is_array( $lines ) ) return $lines;
++    if ( $book_index != "json-c")
++    {
++      $lines = http_get_file( $dirpath );
++      if ( ! is_array( $lines ) ) return $lines;
++    }
+   } // End fetch
+ 
+   if ( isset( $regex[ $package ] ) )
+@@ -306,9 +240,6 @@
+         $ver = preg_replace( $regex[ $package ], "$1", $l );
+         if ( $ver == $l ) continue;
+        
+-//if ( $book_index == "libatomic_ops" )
+-//  $ver = preg_replace( "/_/", ".", $ver );
+         return $ver;  // Return first match of regex
+      }
+ 
+@@ -318,11 +249,7 @@
+   if ( $book_index == "boost_" )
+   {
+     $dir   = find_max( $lines, '/\d\.\d\d/', '/^\s*([\d\.]+)\s*$/' );
+-//print_r($lines);
+     $lines = http_get_file( "$dirpath/$dir" );
+-//echo "dirpath/dir=$dirpath/$dir\n";
+-//print_r($lines);
+     return find_max( $lines, '/^.*boost_[\d_]+.tar.*$/', '/^.*boost_([\d_]+).tar.*$/' );
+   }
+ 
+@@ -334,27 +261,26 @@
+ 
+   if ( $book_index == "icu4c" )
+   {
+-$dir = max_parent( $dirpath, "" );
+-$lines = http_get_file( "$dir" );
+-return find_max( $lines, '/^.*icu4c-.*-src.tgz.*$/', '/^.*icu4c-([\d_]+)-src.*$/' );
++    $dir   = find_max( $lines, '/\d+\.\d/', '/^(\d+\.\d+)\/.*$/' );
++    $lines = http_get_file( "$dirpath/$dir" );
++    return find_max( $lines, '/icu4c/', '/^.*icu4c-([\d_]+)-src.*$/' );
+   }
+ 
+   if ( $book_index == "json-c" )
+   {
+-$url = "https://s3.amazonaws.com/json-c_releases";
+-exec( "curl -L -s $url", $data );
++    exec( "curl -L -s $dirpath", $data ); // wget doesn't seem to work here
++    $xml_parser = xml_parser_create();
++    xml_parse_into_struct( $xml_parser, $data[1], $values );
+ 
+-$xml_parser = xml_parser_create();
+-xml_parse_into_struct( $xml_parser, $data[1], $values );
+-foreach ( $values as $v )
+-if ( $v[ 'tag' ] == "KEY" ) array_push( $lines, $v[ 'value' ] );
+-return find_max( $lines, '/^.*json-c.*.tar.*$/', '/^.*json-c-([\d\.]+).tar.*$/' );
++    foreach ( $values as $v )
++      if ( $v[ 'tag' ] == "KEY" ) array_push( $lines, $v[ 'value' ] );
++    
++    return find_max( $lines, '/^.*json-c.*.tar.*$/', '/^.*json-c-([\d\.]+).tar.*$/' );
+   }
+ 
+   if ( $book_index == "libdbusmenu-qt" )
+@@ -384,9 +310,9 @@
+   if ( $book_index == "openobex" )
+     return find_max( $lines, '/\d\./', '/^\s*([\d\.]+)\s*$/' );
+ 
+-//print_r($lines);
+   if ( $book_index == "qjson" )
+     return find_max( $lines, '/\d\./', '/^\s*([\d\.]+)\s*$/' );
+   if ( $book_index == "slib" )
+@@ -406,17 +332,18 @@
+ Function get_pattern( $line )
+ {
+    // Set up specific pattern matches for extracting book versions
+-$match = array();
++   $match = array(
++   
++      array( 'pkg'   => 'libatomic_ops', 
++             'regex' => "/\D*(\d.*\d[a-z]{0,1})\D*$/" ),
+ 
+-$match[ 0 ] = array( 'pkg'   => 'libatomic_ops', 
+-'regex' => "/\D*(\d.*\d[a-z]{0,1})\D*$/" );
++      array( 'pkg'   => 'icu4c', 
++             'regex' => "/^.*icu4c-([\d_]+)-src.*$/" ),
+ 
+-$match[ 1 ] = array( 'pkg'   => 'icu4c', 
+-'regex' => "/^.*icu4c-([\d_]+)-src.*$/" );
++      array( 'pkg'   => 'libxml2', 
++             'regex' => "/libxml2-([\d\.]+).*$/" ),
++   );
+ 
+-$match[ 2 ] = array( 'pkg'   => 'libxml2', 
+-'regex' => "/libxml2-([\d\.]+).*$/" );
+    foreach( $match as $m )
+    {
+       $pkg = $m[ 'pkg' ];
+@@ -427,127 +354,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-if ( preg_match( "/patch$/", $line ) ) continue;     // Skip patches
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == "v" ) $basename = "libical";
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/^wv/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<div id='top'>
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-</div>
+-<table id='table'>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "boost_"    ) $name = 'boost';
+-if ( $pkg == "libpaper_" ) $name = 'libpaper';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+-//$v = get_packages( $base, $url );
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+

Added: trunk/blfs/traduc/commits/r15986.txt
===================================================================
--- trunk/blfs/traduc/commits/r15986.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15986.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,1400 @@
+Révision 15986
+
+fichiers modifiés :
+M       scripts/blfs-include.php
+M       scripts/blfs-chapter09.php
+M       scripts/blfs-chapter10.php
+M       scripts/blfs-chapter11.php
+M       scripts/blfs-chapter12.php
+M       scripts/blfs-chapter13.php
+
+Log :
+Currency scripts through Chapter 13
+
+Le robot a traité 12 % du commit anglais
+Index: scripts/blfs-chapter09.php
+===================================================================
+--- scripts/blfs-chapter09.php	(révision 15985)
++++ scripts/blfs-chapter09.php	(révision 15986)
+@@ -272,6 +272,8 @@
+     $xml_parser = xml_parser_create();
+     xml_parse_into_struct( $xml_parser, $data[1], $values );
+ 
++    $lines = array();
+     foreach ( $values as $v )
+       if ( $v[ 'tag' ] == "KEY" ) array_push( $lines, $v[ 'value' ] );
+     
+
+Index: scripts/blfs-chapter10.php
+===================================================================
+--- scripts/blfs-chapter10.php	(révision 15985)
++++ scripts/blfs-chapter10.php	(révision 15986)
+@@ -1,34 +1,27 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=10;
+-$START_PACKAGE='aalib';
+-$STOP_PACKAGE='qpdf';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '10';
++$START_PACKAGE = 'aalib';
++$STOP_PACKAGE  = 'qpdf';
+ 
+-$vers = array();
++$renames = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="aalib";   // For debugging
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'aalib'         ] = "/^.*Download aalib-([\d\.]+rc\d).tar.*$/";
+-//$regex[ 'exiv2'         ] = "/^.*Exiv2 (\d[\d\.]*\d) released.*/";
+ $regex[ 'freetype'      ] = "/^.*Download freetype-(\d[\d\.]*\d).tar.*/";
+ $regex[ 'jasper'        ] = "/^.*JasPer version (\d[\d\.]+\d) source.*current.*$/";
+ $regex[ 'lcms2'         ] = "/^.*Download lcms2-([\d\.]+\d).tar.*$/";
+ $regex[ 'libexif'       ] = "/^.*Download libexif-(\d[\d\.]+\d).*$/";
+-//$regex[ 'libjpeg-turbo' ] = "/^.*Download libjpeg-turbo-official-(\d[\d\.]+\d)-.*$/";
+ $regex[ 'graphite2'     ] = "/^.*Download graphite2-(\d[\d\.]+\d).tgz.*$/";
+ $regex[ 'libmng'        ] = "/^.*Download libmng-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'libpng'        ] = "/^.*Download libpng-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'LibRaw'        ] = "/^.*LibRaw-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'libwebp'       ] = "/^.*libwebp-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'openjpeg1'     ] = "/^.*Download openjpeg-([\d\.]+\d).*$/";
+ $regex[ 'poppler'       ] = "/^.*poppler-([\d\.]+\d).tar.*$/";
+ $regex[ 'popplerdata'   ] = "/^.*poppler-data([\d\.]+\d).tar.*$/";
+@@ -36,8 +29,6 @@
+ 
+ $sf = 'sourceforge.net';
+ 
+-//$current="openjpeg1";
+ $url_fix = array (
+ 
+  array( //'pkg'     => 'gnome',
+@@ -126,96 +117,8 @@
+ 
+ );
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]*/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1 ) continue;
+-
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-//echo "start $url " . strftime("%c") . "\n";
+-if (  ! preg_match( '/ijs/', $url ) )
+-exec( "curl -L -s -tlsv1 -m30 -A Firefox $url", $dir );
+-else
+-exec( "wget -q --no-check-certificate -O - $url", $dir );
+-//exec( "curl -L -s -m30 -1 $url", $dir );
+-//echo "stop " . strftime("%c") . "\n";
+-//print_r($dir);
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -265,11 +168,8 @@
+     }
+ 
+     // Get listing
+-//echo "dirpath=$dirpath\n";
+-if ( $book_index == "tiff" ) { $dirpath .= "/"; }
+-$lines = http_get_file( $dirpath );
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-//print_r($lines);
++    //if ( $book_index == "tiff" ) { $dirpath .= "/"; }
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -288,8 +188,6 @@
+     // Customize http directories as needed
+     $lines = http_get_file( $dirpath );
+     if ( ! is_array( $lines ) ) return $lines;
+-//echo "dirpath=$dirpath\n";
+-//print_r($lines);
+   } // End fetch
+ 
+   if ( isset( $regex[ $package ] ) )
+@@ -339,7 +237,7 @@
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+-$max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d).tar.*$/" );
++  $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d).tar.*$/", TRUE );
+   return $max;
+ }
+ 
+@@ -375,98 +273,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file ) ) continue;     // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/^qpdf/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-//$flag = ( $vers[ $pkg ] <  $v ) ? "D" : $flag;
+-//if ( $vers[ $pkg ] == "0" ) $flag = "";
+-
+-$name = $pkg;
+-if ( $pkg == "openjpeg1" ) $name = 'openjpeg2';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ $start = false;
+@@ -476,22 +282,15 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+-//$v = get_packages( $base, $url );
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter11.php
+===================================================================
+--- scripts/blfs-chapter11.php	(révision 15985)
++++ scripts/blfs-chapter11.php	(révision 15986)
+@@ -1,29 +1,25 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=11;
+-$START_PACKAGE='compface';
+-$STOP_PACKAGE='unixODBC';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '11';
++$START_PACKAGE = 'compface';
++$STOP_PACKAGE  = 'unixODBC';
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'lsof_'     ] = 'lsof';
++$renames[ 'rep-gtk_'  ] = 'rep-gtk';
++$renames[ 'tidy-cvs_' ] = 'tidy-cvs';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'intltool'      ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
+ $regex[ 'xscreensaver'  ] = "/^.*xscreensaver-(\d[\d\.]+\d).tar.*$/";
+ 
+-$sf = 'sourceforge.net';
++//$current="ImageMagick";  // For debugging
+ 
+-//$current="rep-gtk";
+ $url_fix = array (
+    array( //'pkg'     => 'gnome',
+           'match'   => '^ftp:\/\/ftp.gnome',
+@@ -42,82 +38,8 @@
+           'replace' => "http://www.jwz.org/xscreensaver/download.html" ),
+ );
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]*/", $slice ) ) continue; 
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1 ) continue;
+-
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 -A Firefox/22.0 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -177,8 +99,7 @@
+     }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-//print_r($lines);
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -254,123 +175,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file ) ) continue;     // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$basename = ( $basename == "hd" ) ? "hd2u" : $basename;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-//if ( preg_match( "/^xscreensaver/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "js"        ) $name = 'spidermonkey';
+-if ( $pkg == "tidy-cvs_" ) $name = 'tidy';
+-if ( $pkg == "lsof_"     ) $name = 'lsof';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter12.php
+===================================================================
+--- scripts/blfs-chapter12.php	(révision 15985)
++++ scripts/blfs-chapter12.php	(révision 15986)
+@@ -1,20 +1,22 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=12;
+-$START_PACKAGE='acpid';
+-$STOP_PACKAGE='zip';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '12';
++$START_PACKAGE = 'acpid';
++$STOP_PACKAGE  = 'zip';
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'at_'      ] = 'at';
++$renames[ 'udisks1'  ] = 'udisks2';
++$renames[ 'sg'       ] = 'sg3_utils';
++$renames[ 'unrarsrc' ] = 'unrar';
++$renames[ 'p7zip_'   ] = 'p7zip';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
+ 
+-// Special cases
+-$exceptions = array();
++//$current="obex-data-server";
+ 
+ $regex = array();
+ $regex[ 'acpid'   ] = "/^.*Download acpid-(\d[\d\.]+\d).tar.*$/";
+@@ -25,21 +27,17 @@
+ $regex[ 'sysstat' ] = "/^.*sysstat-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'p7zip_'  ] = "/^.*Download p7zip_(\d[\d\.]+\d)_src.*$/";
+ 
+-// p7zip_ is screwed up on SF.  wget fetch is different from lins or other browser
+ $sf = 'sourceforge.net';
+ 
+-#$$current="p7zip_";
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'hdparm',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/hdparm/files" ),
++          'replace' => "http://sourceforge.net/projects/hdparm/files" ),
+    
+    array( 'pkg'     => 'heirloom',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/heirloom/files/heirloom" ),
++          'replace' => "http://sourceforge.net/projects/heirloom/files/heirloom" ),
+    
+    array( 'pkg'     => 'ibus',
+           'match'   => '^.*$', 
+@@ -63,102 +61,20 @@
+    
+    array( 'pkg'     => 'acpid',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/acpid2/files" ),
++          'replace' => "http://sourceforge.net/projects/acpid2/files" ),
+    
+    array( 'pkg'     => 'p7zip_',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/p7zip/files" ),
++          'replace' => "http://sourceforge.net/projects/p7zip/files" ),
+ 
+    array( 'pkg'     => 'fcron',
+           'match'   => '^.*$', 
+           'replace' => "http://fcron.free.fr" ),
+ 
+-array( 'pkg'     => 'gpm',
+-'match'   => '^.*$', 
+-'replace' => "http://www.ar.linux.it/pub/gpm" ),
+ );
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && 
+-! preg_match( "/^\d[\d\.]*/", $slice ) ) continue; 
+-// Skip minor versions in the 90s
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0" );
+-if ( $minor >= 90  &&  $book_index != "dbus-glib" ) continue;
+-if ( $minor >= 90  &&  $book_index != "gpm" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -166,7 +82,7 @@
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+-// p7zip_ is screwed up on SF.  wget fetch is different from lins or other browser
++  // p7zip_ is screwed up on SF.  wget fetch is different from browser
+   if ( $book_index == "p7zip_" ) return "check manually";
+ 
+   // Fix up directory path
+@@ -203,8 +119,7 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$lines = http_get_file( "$dirpath/" );
++      $lines    = http_get_file( "$dirpath/" );
+       $dir      = find_even_max( $lines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
+       $dirpath .= "/$dir";
+     }
+@@ -216,14 +131,12 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$lines = http_get_file( "$dirpath/" );
+-$dir = find_max( $lines, "/\d[\d\.]+/", "/(\d[\d\.]+)/" );
++      $lines    = http_get_file( "$dirpath/" );
++      $dir      = find_max( $lines, "/\d[\d\.]+/", "/(\d[\d\.]+)/" );
+       $dirpath .= "/$dir";
+     }
+ 
+     // Get listing
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+     $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+@@ -279,7 +192,7 @@
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+-$max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
++  $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/", TRUE );
+   return $max;
+ }
+ 
+@@ -309,125 +222,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file ) ) continue;     // Skip patches
+-$pattern = get_pattern( $line );
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$basename = ( $basename == "hd" ) ? "hd2u" : $basename;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>\n";
+-$f .= $leftnav;
+-$f .= "<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "at_"      ) $name = 'at';
+-if ( $pkg == "udisks1"  ) $name = 'udisks2';
+-if ( $pkg == "sg"       ) $name = 'sg3_utils';
+-if ( $pkg == "unrarsrc" ) $name = 'unrar';
+-if ( $pkg == "p7zip_"   ) $name = 'p7zip';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter13.php
+===================================================================
+--- scripts/blfs-chapter13.php	(révision 15985)
++++ scripts/blfs-chapter13.php	(révision 15986)
+@@ -1,39 +1,52 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=13;
+-$START_PACKAGE='check';
+-$STOP_PACKAGE='OpenJDK';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
+-$previous   = 0;
++$CHAPTER       = '13';
++$START_PACKAGE = 'check';
++$STOP_PACKAGE  = 'junit';
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'librep_'    ] = 'librep';
++$renames[ 'py'         ] = 'pycairo';
++$renames[ 'Python'     ] = 'python2';
++$renames[ 'python'     ] = 'python2 docs';
++$renames[ 'Python1'    ] = 'python3';
++$renames[ 'python1'    ] = 'python3 docs';
++$renames[ 'pygobject'  ] = 'pygobject2';
++$renames[ 'pygobject1' ] = 'pygobject3';
++$renames[ 'junit4_'    ] = 'junit';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
++$ignores[ 'cfe'         ] = '';
++$ignores[ 'clang'       ] = '';
++$ignores[ 'compiler-rt' ] = '';
++$ignores[ 'nasm1'       ] = '';
++$ignores[ 'tcl1'        ] = '';
++$ignores[ 'gcc1'        ] = '';
++$ignores[ 'gcc11'       ] = '';
++$ignores[ 'OpenJDK1'    ] = '';
++$ignores[ 'hamcrest'    ] = '';
++$ignores[ 'apache-ant1' ] = '';
+ 
+-// Special cases
+-$exceptions = array();
++//$current="junit4_";
+ 
+ $regex = array();
+-//$regex[ 'bzr'     ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
+ $regex[ 'check'   ] = "/^.*Download check-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'expect'  ] = "/^.*Download expect(\d[\d\.]+\d).tar.*$/";
+$regex[ 'junit4_' ] = "/^\h*(\d[\d\.]+)\h*$/";
+@@     @@
+ $regex[ 'swig'    ] = "/^.*Download swig-(\d[\d\.]+\d).*$/";
+ $regex[ 'Python1' ] = "/^.*Download Python (3[\d\.]+\d).*$/";
+ $regex[ 'Mako'    ] = "/^.*version is (\d[\d\.]+\d).*$/";
+-//$regex[ 'python1' ] = "/^.*Download Python (3[\d\.]+\d).*$/";
+ $regex[ 'php'     ] = "/^.*php-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'ruby'    ] = "/^.*stable version is (\d[\d\.]+\d).*$/";
+ $regex[ 'valgrind'] = "/^.*valgrind (\d[\d\.]+\d) \(tar.*$/";
+ $regex[ 'jtreg'   ] = "/^.*jtreg(\d[b\d\.\-]+\d)\.tar.*$/";
+-$regex[ 'OpenJDK' ] = "/^.*jtreg(\d[b\d\.\-]+\d)\.tar.*$/";
++$regex[ 'OpenJDK' ] = "/^.*OpenJDK-(\d[\d\.]+\d)\-.*$/";
+ 
+ // Perl Modules
+ $regex[ 'Archive-Zip'       ] = "/^.*Archive-Zip-(\d[\d\.]+\d).*$/";
+@@ -65,33 +78,25 @@
+ $regex[ 'XML-Simple'        ] = "/^.*XML-Simple-(\d[\d\.]+\d).*$/";
+ $regex[ 'XML-Writer'        ] = "/^.*XML-Writer-(\d[\d\.]+\d).*$/";
+ 
+-$sf = 'sourceforge.net';
+-//$current="dbus-python";
+ $url_fix = array (
+ 
+    array( //'pkg'     => 'gnome',
+           'match'   => '^ftp:\/\/ftp.gnome', 
+           'replace' => "http://ftp.gnome" ),
+ 
+-//array( 'pkg'     => 'bzr',
+-//       'match'   => '^.*$', 
+-//       'replace' => "https://launchpad.net/bzr" ),
+    array( 'pkg'     => 'check',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/check/files" ),
++          'replace' => "http://sourceforge.net/projects/check/files" ),
+ 
+    array( 'pkg'     => 'expect',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/expect/files" ),
++          'replace' => "http://sourceforge.net/projects/expect/files" ),
+ 
+    array( 'pkg'     => 'icedtea',
+           'match'   => '^.*$', 
+@@ -109,19 +114,19 @@
+ 
+    array( 'pkg'     => 'scons',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/scons/files" ),
++          'replace' => "http://sourceforge.net/projects/scons/files" ),
+ 
+    array( 'pkg'     => 'tcl',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/tcl/files" ),
++          'replace' => "http://sourceforge.net/projects/tcl/files" ),
+ 
+    array( 'pkg'     => 'tk',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/tcl/files/Tcl" ),
++          'replace' => "http://sourceforge.net/projects/tcl/files/Tcl" ),
+ 
+    array( 'pkg'     => 'swig',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/swig/files/swig" ),
++          'replace' => "http://sourceforge.net/projects/swig/files/swig" ),
+ 
+    array( 'pkg'     => 'elfutils',
+           'match'   => '^.*$', 
+@@ -277,24 +282,7 @@
+ 
+ );
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-global $previous;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]*$/", $slice ) ) continue; 
++/*
+      // Skip minor versions in the 90s (most of the time)
+      list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0" );
+      if ( $minor >= 90                       &&
+@@ -304,76 +292,10 @@
+           $book_index != "XML-LibXML-Simple" &&
+           $book_index != "XML-LibXSLT"       &&
+           $book_index != "elfutils"          ) continue;
++*/
+ 
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-//print_r($a);
+-$previous = ( isset( $a[1] ) ) ? $a[1] : 0;;
+-//echo "previous=$previous\n";
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-function http_get_file( $url, $strip = "yes" )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-//echo "url=$url\n";
+-//print_r($dir);
+-$s   = implode( "\n", $dir );
+-if ( "$strip" != "no" )  
+-$dir = strip_tags( $s );
+-else
+-$dir = $s;
+-return explode( "\n", $dir );
+-}
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -419,7 +341,8 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      $lines = http_get_file( "$dirpath/" );
+       if ( $book_index == "pygobject" )
+          $dir      = find_even_max( $lines, '/^2[\d\.]+$/', '/^(2[\d\.]+)$/' );
+       else
+@@ -435,9 +358,8 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_max( $lines, "/$book_index-\d[\d\.]+/", "/$book_index-(\d[\d\.]+)/" );
+-$dirpath .= "/$book_index-$dir/";
++      $lines    = http_get_file( "$dirpath/" );
++      return find_max( $lines, "/gcc-\d/", "/^.*gcc-(\d[\d\.]+).*$/" );
+     }
+ 
+     // slang
+@@ -446,10 +368,7 @@
+        // Get the max directory and adjust the directory path
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_max( $lines, "/v\d[\d\.]+/", "/^v(\d[\d\.]+).*/" );
+-$dirpath .= "/v$dir/";
++      $dirpath  = substr ( $dirpath, 0, $position ) . "/latest";
+     }
+ 
+     if ( $book_index == "vala" )
+@@ -458,8 +377,8 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_even_max( $lines, "/\d[\d\.]+/", "/^(\d[\d\.]+).*/" );
++      $lines    = http_get_file( "$dirpath/" );
++      $dir      = find_even_max( $lines, "/\d[\d\.]+/", "/^(\d[\d\.]+).*/" );
+       $dirpath .= "/$dir/";
+     }
+ 
+@@ -474,7 +393,7 @@
+     }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -497,37 +416,7 @@
+ 
+       $dirpath .= "/$dir/";
+     }
+-/*
+-if ( $book_index == "ruby" )
+-{
+-// Parent listing
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-echo "dirpath 1=$dirpath\n";
+-$lines1   = http_get_file( "$dirpath/" );
+-print_r($lines1);
+-exit;
+-$dir      = find_max( $lines1, '/^\d\./', '/^\s*([\d\.]+).*$/' );
+-echo "dir=$dir\n";
+-echo "previous=$previous\n";
+-$prev     = $previous;
+-$save     = $dirpath;
+-$dirpath .= "/$dir/";
+-echo "dirpath 2 =$dirpath\n";
+-$lines   = http_get_file( $dirpath );
+-print_r($lines);
+-exit;
+-$max     =  find_max( $lines, '/ruby-\d/', '/^ruby-(\d[\d\.-]+\d.*).tar.*$/' );
+-echo "max=$max\n";
+ 
+-if ( $max != 0 ) return $max;
+-$dirpath = "$save/$prev/";
+-echo "dirpath=$dirpath\n";
+-exit;
+-}
+-*/
+     // Customize http directories as needed
+     if ( $book_index == "cmake" )
+     {
+@@ -542,7 +431,6 @@
+ 
+        $position = strrpos( $dirpath, "/" );
+        $dirpath  = substr ( $dirpath, 0, $position ) . "/$prev";
+-//echo "dirpath=$dirpath\n"; 
+     }
+      
+     $strip = "yes";
+@@ -572,8 +460,6 @@
+ 
+   if ( $book_index == "llvm" )
+   {
+-//$dir = max_parent( $dirpath, "" );
+-//$lines = http_get_file( "$dir" );
+      return find_max( $lines, "/^.*$book_index-.*.src.*$/", 
+                               "/^.*$book_index-([\d\.]+)\.src.*$/" );
+   }
+@@ -585,15 +471,14 @@
+   }
+ 
+   if ( $book_index == "nasm" )
+-return find_max( $lines, '/\d[\d\.]+\d/', '/^(\d[\d\.]+\d)\/.*$/' );
++    return find_max( $lines, '/^\d/', '/^(\d[\d\.]+\d)\/.*$/' );
+ 
+   if ( $book_index == "Python" )
+   {
+    $dir   = max_parent( $dirpath, "2" );
+     $lines = http_get_file( "$dir" );
+-return find_max( $lines, "/^Python-\d[\d\.]*\d/", 
+-"/^Python-(\d[\d\.]*\d).tar.*$/" );
++    $ver   = find_max( $lines, "/^Python/", "/^Python-(\d[\d\.]*\d).tar.*$/" );
++    return ( $ver == "0" ) ? "pending" : $ver;
+   }
+ 
+   if ( $book_index == "python" )  // python2
+@@ -606,8 +491,6 @@
+ 
+   if ( $book_index == "python1" )  // python3 docs
+   {
+-//$dir = max_parent( $dirpath, "3" );
+-//$lines = http_get_file( "$dir" );
+     return find_max( $lines, "/python-\d/", 
+                              "/^python-(\d[\d\.]*\d)-docs.*$/" );
+   }
+@@ -626,10 +509,7 @@
+        $book_index == "pygobject "  )
+     $package = "pygobject";
+ 
+-//if ( $book_index == "ruby" )
+-//  return find_max( $lines, '/ruby-\d/', '/^ruby-(\d[\d\.-]+\d.*).tar.*$/' );
+-
+-if ( $book_index == "librep" )  
++  if ( $book_index == "librep_" )  
+     return find_max( $lines, "/librep/", "/^.*[_-](\d[\d\.]*\d)\.tar.*$/" );
+ 
+   if ( $book_index == "apache-ant" )
+@@ -644,7 +524,7 @@
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+-//if (  $book_index == "subversion" ) print_r( $lines );
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]+\d).tar.*$/" );
+   return $max;
+ }
+@@ -658,9 +538,6 @@
+      array( 'pkg'   => 'py2cairo', 
+             'regex' => "/py2cairo-([\d\.]+)/" ),
+ 
+-//array( 'pkg'   => 'icedtea', 
+-//       'regex' => "/icedtea-([\d\.]+)\-.*$/" ),
+      array( 'pkg'   => 'Encode-JIS2K', 
+             'regex' => "/\D*Encode-JIS2K-([\d\.]+)\D*$/" ),
+ 
+@@ -673,6 +550,13 @@
+      array( 'pkg'   => 'Jinja2', 
+             'regex' => "/\D*Jinja2-([\d\.]+)\D*$/" ),
+ 
++     // Order matters here.  jtreg must be before OpenJDK
++     array( 'pkg'   => 'jtreg', 
++            'regex' => "/jtreg(\d[\d\.b-]+)$/" ),
++     array( 'pkg'   => 'OpenJDK', 
++            'regex' => "/OpenJDK-([\d\.]+)-.*$/" ),
+      array( 'pkg'   => 'junit4', 
+             'regex' => "/junit4_([\d\.]+).*$/" ),
+    );
+@@ -687,162 +571,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $STOP_PACKAGE; // not used here
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-// Use iced tea from patch instead of OpenJDK
+-//if ( preg_match( "/icedtea.*add_cacerts/", $file ) )
+-//  $file = preg_replace( "/\.patch$/", "", $file ); 
+-if ( preg_match( "/patch$/"  , $file ) ) continue;     // Skip patches
+-if ( preg_match( "/hamcrest/", $file ) ) continue;     // Skip hamcrest
+-if ( preg_match( "/OpenJDK/" , $file ) ) continue;     // Skip OpenJDK for now
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-$basename = rtrim( $basename, "_" );
+-$basename = ( $basename == "hd" ) ? "hd2u" : $basename;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/apache-ant/", $line ) ) break;
+-}
+-// Add Java
+-$lines   = preg_grep( "/jtreg/" , $wget );
+-$line    = array_shift( $lines );
+-$url     = dirname ( $line );
+-$version = preg_replace( '/^.*jtreg(\d[b\d\.\-]+)\.tar.*$/', "$1", $line );
+-$book[ 'OpenJDK' ] = 
+-array( 'basename' => 'OpenJDK',
+-'url'      => $url, 
+-'version'  => $version );
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<div id='top'>
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-</div>
+-<table id='table'>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-//if ( $pkg == "OpenJDK"    ) $name = 'icedtea';
+-if ( $pkg == "nasm1"      ) $name = 'nasm docs';
+-if ( $pkg == "py"         ) $name = 'pycairo';
+-if ( $pkg == "Python"     ) $name = 'python2';
+-if ( $pkg == "python"     ) $name = 'python2 docs';
+-if ( $pkg == "Python1"    ) $name = 'python3';
+-if ( $pkg == "python1"    ) $name = 'python3 docs';
+-if ( $pkg == "pygobject"  ) $name = 'pygobject2';
+-if ( $pkg == "pygobject1" ) $name = 'pygobject3';
+-if ( $pkg == "tcl1"       ) $name = 'tcl docs';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/OpenJDK/",    $pkg ) ) continue;
+-if ( preg_match( "/cfe/",        $pkg ) ) continue;
+-if ( preg_match( "/clang/"      ,$pkg ) ) continue;
+-if ( preg_match( "/compiler-rt/",$pkg ) ) continue;
+-if ( preg_match( "/nasm1/",      $pkg ) ) continue;
+-if ( preg_match( "/tcl1/",       $pkg ) ) continue;
+-if ( preg_match( "/gcc1.*/",       $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-include.php
+===================================================================
+--- scripts/blfs-include.php	(révision 15985)
++++ scripts/blfs-include.php	(révision 15986)
+@@ -35,15 +35,27 @@
+ 
+ $start = false;
+ 
+-function find_max( $lines, $regex_match, $regex_replace )
++function find_max( $lines, $regex_match, $regex_replace, $skip_high = FALSE )
+ {
+   $a = array();
+   foreach ( $lines as $line )
+@@     @@
+     
+      // Isolate the version and put in an array
+      $slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" ) continue; 
++     if ( "x$slice" == "x$line" && 
++          ! preg_match( "/^\d[\d\.]*$/", $slice ) ) continue; 
++     // Skip minor versions in the 90s if requested
++     if ( $skip_high )
++     {
++       list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
++       if ( $micro >= 80 ) continue;
++       if ( $minor >= 80 ) continue;
++     }
+      array_push( $a, $slice );     
+   }
+ 
+@@ -80,7 +94,7 @@
+ 
+ function http_get_file( $url )
+ {
+-exec( "curl -L -s -m30 -A Firefox/22.0 $url", $dir );
++  exec( "curl -L -s -m40 -A Firefox/22.0 $url", $dir );
+   $s   = implode( "\n", $dir );
+   $dir = strip_tags( $s );
+   return explode( "\n", $dir );
+@@ -119,7 +133,7 @@
+    foreach ( $wget as $line )
+    {
+       if ( $line == "" ) continue;
+-if ( preg_match( "/patch$/", $line ) ) continue;     // Skip patches
++      if ( preg_match( "/patch/", $line ) ) continue;     // Skip patches
+ 
+       $file =  basename( $line );
+       $url  =  dirname ( $line );
+@@ -148,6 +162,9 @@
+                                'url'      => $url, 
+                                'version'  => $version );
+ 
++      // Custom for chapter 12 -- there is both p7zip, unzip, and zip there
++      if ( preg_match( "/p7zip|unzip/", $line ) ) continue;
++      
+       if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+    }
+ }
+

Added: trunk/blfs/traduc/commits/r15987.txt
===================================================================
--- trunk/blfs/traduc/commits/r15987.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15987.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,1341 @@
+Révision 15987
+
+fichiers modifiés :
+M       scripts/README
+M       scripts/blfs-chapter14.php
+M       scripts/blfs-chapter17.php
+M       scripts/blfs-chapter20.php
+M       scripts/blfs-chapter24.php
+
+Log :
+Currency updates through chapter 24 (xorg)
+
+Le robot a traité 11 % du commit anglais
+Index: scripts/blfs-chapter14.php
+===================================================================
+--- scripts/blfs-chapter14.php	(révision 15986)
++++ scripts/blfs-chapter14.php	(révision 15987)
+@@ -1,34 +1,29 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=14;
+-$START_PACKAGE='dhcpcd';
+-$STOP_PACKAGE='wireshark';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '14';
++$START_PACKAGE = 'dhcpcd';
++$STOP_PACKAGE  = 'wireshark';
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'net-tools-CVS_'  ] = 'net-tools';
++$renames[ 'wireless_tools.' ] = 'wireless_tools';
++$renames[ 'whois_'          ] = 'whois';
++$renames[ 'bind'            ] = 'bind9';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
+ 
+-// Special cases
+-$exceptions = array();
++//$current="bind";
+ 
+-//$regex = array();
+ $regex[ 'bridge-utils'    ] = "/^.*Download bridge-utils-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'nfs-utils'       ] = "/^.*Download nfs-utils-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'rpcbind'         ] = "/^.*Download rpcbind-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'wireless_tools.' ] = "/^.*latest stable.*version (\d\d).*$/";
+-//$regex[ 'mod_dnssd'       ] = "/^.*Version ([\d\.]*) is more.*$/";
+ $regex[ 'traceroute'      ] = "/^.*Download traceroute-([\d\.]*).tar.*$/";
+ $regex[ 'wicd'            ] = "/^.*Latest version is ([\d\.]*).*$/";
+ 
+-$sf = 'sourceforge.net';
+-//$current="dhcp";
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'rsync',
+@@ -49,7 +44,7 @@
+ 
+    array( 'pkg'     => 'nfs-utils',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/nfs/files" ),
++          'replace' => "http://sourceforge.net/projects/nfs/files" ),
+ 
+    array( 'pkg'     => 'NetworkManager',
+           'match'   => '^.*$', 
+@@ -61,7 +56,7 @@
+ 
+    array( 'pkg'     => 'rpcbind',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/rpcbind/files" ),
++          'replace' => "http://sourceforge.net/projects/rpcbind/files" ),
+ 
+    array( 'pkg'     => 'wireless_tools.',
+           'match'   => '^.*$', 
+@@ -73,7 +68,7 @@
+ 
+    array( 'pkg'     => 'traceroute',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/traceroute/files" ),
++          'replace' => "http://sourceforge.net/projects/traceroute/files" ),
+ 
+    array( 'pkg'     => 'wicd',
+           'match'   => '^.*$', 
+@@ -84,95 +79,9 @@
+           'replace' => "http://pkgs.fedoraproject.org/repo/pkgs/mod_dnssd" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $point, $rest ) = explode( ".", $slice . ".0.0" );
+-if ( $minor      >= 90  &&  
+-$book_index != "dhcpcd" && 
+-$book_index != "NetworkManager" ) continue;
+-if ( $point >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-//echo "start curl...$url...";
+-exec( "curl -L -s -m30 -A Firefox/22.0 $url", $dir );
+-//echo "end\n";
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -213,38 +122,26 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines1 );
+-$dir = find_max( $lines1, "/^[\d\.P-]+$/", "/^([\d\.P-]+)$/" );
++      $lines1   = http_get_file( "$dirpath/" );
++      $dir      = find_max( $lines1, "/\d$/", "/^.* ([\d\.P\-]+)$/" );
+       $dirpath .= "/$dir/";
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines2 );
+-return find_max( $lines2, "/^bind-9/", "/^bind-(\d+[\d\.P-]+).tar.*$/" );
++      $lines2   = http_get_file( $dirpath );
++      return find_max( $lines2, "/bind-/", "/^.*bind-(\d+[\d\.P\-]+).tar.*$/" );
+     }
+ 
+-if ( $book_index == "NetworkManager" )
+-{
+-echo "Still at ftp\n";
+-// Get the max directory and adjust the directory path
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_max( $lines, "/\d[\d\.]+/", "/^(\d[\d\.]+).*$/" );
+-$dirpath .= "/$dir/";
+-}
+     if ( $book_index == "dhcp"  )
+     {
+        // Get the max directory and adjust the directory path
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+-$dir = find_max( $lines, "/\d\.[\d\.P-]+/", "/^(\d\.[\d\.P-]+)$/" );
++      $lines    = http_get_file( "$dirpath/" );
++      $dir      = find_max( $lines, "/\d$/", "/^.* (\d\.[\d\.P\-]+)$/" );
+       $dirpath .= "/$dir/";
+     }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++    $lines    = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -252,18 +149,11 @@
+     {
+       // Get the max directory and adjust the directory path
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-//echo "dirpath=$dirpath\n";
+-$lines1 = http_get_file( $dirpath );
+-//print_r($lines1);
+-$dir = find_max( $lines1, "/\d[\d\.]+/", "/^\s*(\d[\d\.]+).*$/" );
++      $lines1   = http_get_file( $dirpath );
++      $dir      = find_max( $lines1, "/\d[\d\.]+/", "/^\s*(\d[\d\.]+).*$/" );
+       $dirpath .= "/$dir/";
+-//echo "dirpath=$dirpath\n";
+     }
+ 
+-// Customize http directories as needed
+-if ( $book_index == "cmake" )
+-$dirpath = max_parent( $dirpath, 'v' );
+-
+     $lines = http_get_file( $dirpath );
+ 
+     if ( ! is_array( $lines ) ) return $lines;
+@@ -313,7 +203,7 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+ Function get_pattern( $line )
+ {
+    // Set up specific patter matches for extracting book versions
+@@ -334,132 +224,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-// Use iced tea from patch instead of OpenJDK
+-//if ( preg_match( "/icedtea.*add_cacerts/", $file ) )
+-//  $file = preg_replace( "/\.patch$/", "", $file ); 
+-if ( preg_match( "/patch$/", $file ) ) continue;     // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-
+-//if ( preg_match( "/^bind/", $file ))
+-//{
+-//   $v = preg_replace( "/^bind-(\d+)\..*$/", "$1", $file );
+-//   $version = "$v-$version";
+-//   $basename = "bind";
+-//}
+-//else 
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-16 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-16 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "net-tools-CVS_"  ) $name = 'net-tools';
+-if ( $pkg == "wireless_tools." ) $name = 'wireless_tools';
+-if ( $pkg == "whois_"          ) $name = 'whois';
+-if ( $pkg == "bind"            ) $name = 'bind9';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter17.php
+===================================================================
+--- scripts/blfs-chapter17.php	(révision 15986)
++++ scripts/blfs-chapter17.php	(révision 15987)
+@@ -1,35 +1,26 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=17;
+-$START_PACKAGE='curl';
+-$STOP_PACKAGE='re-alpine';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '17';
++$START_PACKAGE = 'curl';
++$STOP_PACKAGE  = 're-alpine';
+ 
+-$vers = array();
++$renames = array();
++$ignores = array();
++$ignores[ 'rpcnis-headers' ] = '';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="libndp";
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 're-alpine' ] = "/^.*Download re-alpine-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'mailx'     ] = "/^.*Download mailx-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'w3m'       ] = "/^.*Download w3m-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'serf'      ] = "/^.*serf-([\d\.]*).tar.*$/";
+ $regex[ 'neon'      ] = "/^.*Source code: neon-(\d[\d\.]*).tar.*$/";
+ $regex[ 'geoclue'   ] = "/^.*geoclue-(\d[\d\.]+).tar.*$/";
+ $regex[ 'libevent'  ] = "/^.*release-(\d[\d\.]*)-stable.*$/";
+-//$regex[ 'mutt'      ] = "/^.*development.*(\d[\d\.]*)-stable.tar.*$/";
+ 
+-$sf = 'sourceforge.net';
+-//$current="heirloom-mailx_";
+ $url_fix = array (
+ 
+    array( //'pkg'     => 'gnome',
+@@ -38,15 +29,11 @@
+ 
+    array( 'pkg'     => 're-alpine',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/re-alpine/files" ),
++          'replace' => "http://sourceforge.net/projects/re-alpine/files" ),
+ 
+-//array( 'pkg'     => 'mailx',
+-//       'match'   => '^.*$', 
+-//       'replace' => "http://$sf/projects/heirloom/files" ),
+    array( 'pkg'     => 'w3m',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/w3m/files" ),
++          'replace' => "http://sourceforge.net/projects/w3m/files" ),
+ 
+    array( 'pkg'     => 'links',
+           'match'   => '^.*$', 
+@@ -58,7 +45,7 @@
+ 
+    array( 'pkg'     => 'libtirpc',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/libtirpc/files/libtirpc" ),
++          'replace' => "http://sourceforge.net/projects/libtirpc/files/libtirpc" ),
+ 
+    array( 'pkg'     => 'libevent',
+           'match'   => '^.*$', 
+@@ -78,97 +65,16 @@
+ 
+    array( 'pkg'     => 'libndp',
+           'match'   => '^.*$', 
+-'replace' => "http://libndp.org" ),
++          'replace' => "https://github.com/jpirko/libndp/releases" ),
+ 
+    array( 'pkg'     => 'lynx',
+           'match'   => '^.*$', 
+           'replace' => "ftp://lynx.isc.org" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0" );
+-if ( $minor      >= 90  &&  
+-$book_index != "dhcpcd" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 -A Firefox/22.0 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -211,7 +117,7 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      $lines    = http_get_file( "$dirpath/" );
+       $dir      = find_even_max( $lines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
+       $dirpath .= "/$dir/";
+     }
+@@ -229,8 +135,6 @@
+ 
+     // Get listing
+     $lines   = http_get_file( "$dirpath/" );
+-//print_r($lines);
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+   }
+   else // http
+   {
+@@ -247,17 +151,9 @@
+       $dirpath .= "/$dir/";
+     }
+ 
+-if ( $book_index == "libndp" )
+-{
+-exec( "curl -L -s -m30 -A Firefox/22.0 $dirpath", $lines );  
+-}
+-else
+-{
+-$lines = http_get_file( $dirpath );
+-if ( ! is_array( $lines ) ) return $lines;
+-}
++    $lines = http_get_file( $dirpath );
++    if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+-//print_r($lines);
+ 
+   if ( isset( $regex[ $package ] ) )
+   {
+@@ -276,6 +172,9 @@
+      return 0;  // This is an error
+   }
+ 
++  if ( $book_index == "libndp" )
++    return find_max( $lines, '/v\d/', '/^.*v([\d\.]+)$/' );
+   if ( $book_index == "heirloom-mailx_" )
+     return find_max( $lines, '/orig/', '/^.*_([\d\.]+)\.orig.*$/' );
+ 
+@@ -294,7 +193,7 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+ Function get_pattern( $line )
+ {
+    // Set up specific patter matches for extracting book versions
+@@ -315,131 +214,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-if ( preg_match( "/rpcnis-headers/", $file ) ) continue; // Don't want this
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-
+-if ( preg_match( "/^w3m/", $file ))
+-$basename = "w3m";
+-else 
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-//if ( preg_match( "/yasm/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-19 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>\n";
+-$f .= $leftnav;
+-$f .= "<h1>BLFS Chapters $CHAPTER-19 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-//if ( $pkg == "net-tools-CVS_"  ) $name = 'net-tools';
+-//if ( $pkg == "wireless_tools." ) $name = 'wireless_tools';
+-//if ( $pkg == "whois_"          ) $name = 'whois';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter20.php
+===================================================================
+--- scripts/blfs-chapter20.php	(révision 15986)
++++ scripts/blfs-chapter20.php	(révision 15987)
+@@ -1,20 +1,19 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=20;
+-$START_PACKAGE='httpd';
+-$STOP_PACKAGE='xinetd';
++include 'blfs-include.php';
+ 
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '20';
++$START_PACKAGE = 'httpd';
++$STOP_PACKAGE  = 'xinetd';
+ 
+-$vers = array();
++$renames = array();
++$renames[ 'sendmail.'           ] = 'sendmail';
++$renames[ 'virtuoso-opensource' ] = 'virtuoso';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
+ 
+-// Special cases
+-$exceptions = array();
++//$current="postfix";
+ 
+ $regex = array();
+ $regex[ 'vsftpd'          ] = "/^.*vsftpd-(\d[\d\.]+\d) released.*$/";
+@@ -24,13 +23,9 @@
+$regex[ 'sqlite-autoconf' ] = "/^.*sqlite-autoconf-([\d]+).tar.*$/";
+ $regex[ 'virtuoso-opensource' ] = "/^.*Download virtuoso-opensource-(\d[\d\.]*).tar.*$/";
+ 
+-$sf = 'sourceforge.net';
+-//$current="postfix";
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'xinetd',
+@@ -39,11 +34,11 @@
+ 
+    array( 'pkg'     => 'soprano',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/soprano/files" ),
++          'replace' => "http://sourceforge.net/projects/soprano/files" ),
+ 
+    array( 'pkg'     => 'virtuoso-opensource',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/virtuoso/files" ),
++          'replace' => "http://sourceforge.net/projects/virtuoso/files" ),
+ 
+    array( 'pkg'     => 'sqlite-doc',
+           'match'   => '^.*$', 
+@@ -78,90 +73,9 @@
+           'replace' => "ftp://ftp.reverse.net/pub/postfix/official" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+ 
+-foreach ( $lines as $line )
+-{
+-// Skip lines that don't match
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0" );
+-if ( $minor      >= 90  &&  
+-$book_index != "dhcpcd" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-//echo "url=$url\n";
+-exec( "curl -L -s -m30 $url", $dir );
+-//print_r($dir);
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -204,26 +118,13 @@
+       return find_max( $lines2, "/bind-9/", "/^.*bind-(\d+[\d\.P-]+).tar.*$/" );
+     }
+ 
+-// postgresql
+-/*
+-if ( $book_index == "postgresql" )
+-{
+-// Get the max directory and adjust the directory path
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-$lines = http_get_file( "$dirpath/" );
+-return find_max( $lines, "/v\d+/", "/^.*v(\d+[\d\.]+)$/" );
+-}
+-*/
+     // Get listing
+     $lines = http_get_file( "$dirpath/" );
+   }
+@@ -243,13 +144,11 @@
+      }
+ 
+      $lines = http_get_file( $dirpath );
+-//print_r($lines);
+      if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+   if ( isset( $regex[ $package ] ) )
+   {
+-//print_r($lines);
+      // Custom search for latest package name
+      foreach ( $lines as $l )
+      {
+@@ -290,14 +190,14 @@
+   $max = find_max( $lines, "/$package/", "/^.* $package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+ Function get_pattern( $line )
+ {
+    // Set up specific patter matches for extracting book versions
+    $match = array();
+ 
+    $match = array(
+-array( 'pkg'   => 'bind9', 
++     array( 'pkg'   => 'bind', 
+             'regex' => "/bind-(\d[\d\.P-]+)/" ),
+ 
+      array( 'pkg'   => 'proftpd', 
+@@ -314,124 +214,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading dash
+-
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-23 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-23 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-
+-$name = $pkg;
+-if ( $pkg == "bind1"               ) $name = 'bind9';
+-if ( $pkg == "sendmail."           ) $name = 'sendmail';
+-if ( $pkg == "virtuoso-opensource" ) $name = 'virtuoso';
+-$f .= "<tr><td>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter24.php
+===================================================================
+--- scripts/blfs-chapter24.php	(révision 15986)
++++ scripts/blfs-chapter24.php	(révision 15987)
+@@ -1,133 +1,50 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER=24;
+-$START_PACKAGE='util-macros';
+-$STOP_PACKAGE='xinit';
++include 'blfs-include.php';
+ 
++$CHAPTER       = '24';
++$START_PACKAGE = 'util-macros';
++$STOP_PACKAGE  = 'xinit';
++$renames = array();
++$ignores = array();
++$d = getenv( 'BLFS_DIR' );
++$BLFS_DIR = ($d) ? $d : '.';
+ $freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
++$xorg_drv = "ftp://ftp.x.org/pub/individual/driver";
+ 
+-$book = array();
+-$book_index = 0;
+-$vers     = array();
+ $proto    = array();
+ $apps     = array();
+ $libs     = array();
+ $fonts    = array();
+-$driverss = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'libvdpau-va-gl'  ] = "/^.*version (\d[\d\.]+\d).*$/";
+ 
+-//$current="libvdpau-va-gl";
++//$current="xf86-input-vmmouse";   // For debugging
+ 
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'xf86-input-wacom',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/linuxwacom/files/xf86-input-wacom" ),
++          'replace' => "http://sourceforge.net/projects/linuxwacom/files/xf86-input-wacom" ),
+ 
+    array( 'pkg'     => 'libvdpau-va-gl',
+           'match'   => '^.*$', 
+           'replace' => "https://github.com/i-rinat/libvdpau-va-gl/releases" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $patch, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 90  || $patch >=90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+   global $freedesk;
++  global $xorg_drv;
+   global $proto;
+   global $apps;
+   global $libs;
+@@ -171,26 +88,25 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines ); 
++      $lines    = http_get_file( "$dirpath/" );
+ 
+       // The directory is not always the same as the package
+-$max = find_max( $lines, "/^\d+/", "/^(\d+[\d\.]+)$/" );
++      $max   = find_max( $lines, "/\d$/", "/^.* (\d+[\d\.]+)$/" );
+       $split = explode( ".", $max );
+       if ( count( $split ) < 3 ) $max .= ".0";
+ 
+       return $max;
+     }
+ 
+-if ( $dirpath == "ftp://ftp.x.org/pub/individual/driver" )
++     if ( $dirpath == $xorg_drv )
+      {
+        if ( count( $drivers ) == 0 )
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $drivers );
++          $drivers    = http_get_file( "$dirpath/" );
+ 
+        $lines = $drivers;
+      }
+-else
+-// Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++     else // Get listing
++      $lines    = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -253,17 +169,18 @@
+   }
+ 
+   if ( $book_index == "xterm" )
+-return find_max( $lines, '/^xterm-\d+.tgz.*$/', '/^xterm-(\d+).tgz.*$/' );
++    return find_max( $lines, '/xterm-\d+.tgz$/', '/^.*xterm-(\d+).tgz$/' );
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+-$max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
++  $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/", TRUE );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-// Set up specific patter matches for extracting book versions
++   // Set up specific pattern matches for extracting book versions
+    $match = array();
+ 
+    $match = array(
+@@ -286,8 +203,9 @@
+ {
+    global $book;
+    global $freedesk;
++   global $BLFS_DIR;
+ 
+-$xorg_dir  = "/home/bdubbs/BLFS/x/installing";
++   $xorg_dir = "$BLFS_DIR/x/installing";
+ 
+    $book[ $header ] = 
+       array( 'basename' => "$header",
+@@ -309,15 +227,17 @@
+    }
+ }
+  
+-function get_current()
++function get_current_xorg()
+ {
+    global $vers;
+    global $book;
+    global $freedesk;
+    global $start;
++   global $WGET_DIR;
++   global $START_PACKAGE;
++   global $STOP_PACKAGE;
+ 
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$xorg_dir  = "/home/bdubbs/BLFS/x/installing";
++   $wget_file = "$WGET_DIR/wget-list";
+ 
+    $contents = file_get_contents( $wget_file );
+    $wget  = explode( "\n", $contents );
+@@ -325,6 +245,7 @@
+    foreach ( $wget as $line )
+    {
+       if ( $line == "" ) continue;
++      if ( preg_match( "/patch/", $line ) ) continue;     // Skip patches
+ 
+       $file = basename( $line );
+       $url  = dirname ( $line );
+@@ -335,8 +256,6 @@
+       $file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+       $file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+ 
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+       $pattern = get_pattern( $line );
+       
+       $version = preg_replace( $pattern, "$1", $file );   // Isolate version
+@@ -349,16 +268,12 @@
+       
+       $basename = rtrim( $basename, "-" );
+ 
++      if ( $basename == $START_PACKAGE ) $start = true;
++      if ( ! $start ) continue;
+       $index = $basename;
+       while ( isset( $book[ $index ] ) ) $index .= "1";
+ 
+-# Note v1 depends on other chapters -- github issues
+-//if ( $index == "v1" ) 
+-//{
+-//  $basename = "libvdpau-va-gl";
+-//  $index = $basename;
+-//}
+-
+       $book[ $index ] = array( 'basename' => $basename,
+                                'url'      => $url, 
+                                'version'  => $version );
+@@ -390,82 +305,22 @@
+       if ( $basename == 'xcursor-themes' )
+          insert_subsection( "Xorg Fonts", "x7font.xml", "font" );
+ 
+-if ( preg_match( "/xinit/", $line ) ) break;
++      if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+    }
+ }
+ 
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
++get_current_xorg();  // Get what is in the book
+ 
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<div id='top'>
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-</div>
+-<table id='table'>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];
+-$flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-//if ( $pkg == "v" ) $name = 'libvdpau-va-gl';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+-get_current();  // Get what is in the book
+-$start = false;
+ // Get latest version for each package 
+ foreach ( $book as $pkg => $data )
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+ 
+@@ -473,9 +328,6 @@
+       $vers[ $book_index ] = "";
+    else
+       $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/README
+===================================================================
+--- scripts/README	(révision 15986)
++++ scripts/README	(révision 15987)
+@@ -12,10 +12,14 @@
+ 
+ The wget-list location and the directory for output html files 
+ (e.g. chapter4.html) will be in the current directory unless specified by 
+-environment variables.  For example:
++environment variables.  For Chapter 24 (xorg), the location of the BLFS
++xml sources is also needed.
+ 
++For example:
+ WGET_DIR=/home/bdubbs/public_html/blfs-book-xsl/
+ HTML_DIR=/home/bdubbs/public_html/
++BLFS_DIR=/home/bdubbs/BLFS/trunk/
+ 
+ The scripts are numbered according to the BLFS chapter where they start. 
+ They cover one or more BLFS chapters according to the number of
+

Added: trunk/blfs/traduc/commits/r15988.txt
===================================================================
--- trunk/blfs/traduc/commits/r15988.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15988.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,38 @@
+Révision 15988
+
+fichiers modifiés :
+   general.ent
+   packages.ent
+   introduction/welcome/changelog.xml
+   networking/connect/dhcpcd.xml
+   networking/netlibs/libndp.xml
+
+Log :
+Update to libndp-1.5. Update to dhcpcd-6.9.0.
+
+Le robot a traité 77 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15987)
++++ introduction/welcome/changelog.xml	(révision 15988)
+@@ -45,6 +45,20 @@
+ -->
+ 
+     <listitem>
++      <para>May 18th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Update to dhcpcd-6.9.0. Fixes
++          <ulink url="&blfs-ticket-root;6510">#6510</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to libndp-1.5. Fixes
++          <ulink url="&blfs-ticket-root;6361">#6361</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 17th, 2015</para>
+       <itemizedlist>
+         <listitem>
+

Added: trunk/blfs/traduc/commits/r15989.txt
===================================================================
--- trunk/blfs/traduc/commits/r15989.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15989.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,28 @@
+Révision 15989
+
+fichiers modifiés :
+   packages.ent
+   general/graphlib/poppler.xml
+   general/graphlib/qpdf.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to poppler-0.33.0. qpdf-5.1.2: tag for gcc5.
+
+Le robot a traité 75 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15988)
++++ introduction/welcome/changelog.xml	(révision 15989)
+@@ -48,6 +48,10 @@
+       <para>May 18th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to poppler-0.33.0. Fixes
++          <ulink url="&blfs-ticket-root;6501">#6501</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to dhcpcd-6.9.0. Fixes
+           <ulink url="&blfs-ticket-root;6510">#6510</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15990.txt
===================================================================
--- trunk/blfs/traduc/commits/r15990.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15990.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 15990
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   packages.ent
+   xsoft/other/feh.xml
+
+Log :
+Update to feh-2.13.
+
+Le robot a traité 72 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15989)
++++ introduction/welcome/changelog.xml	(révision 15990)
+@@ -48,6 +48,10 @@
+       <para>May 18th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to feh-2.13. Fixes
++          <ulink url="&blfs-ticket-root;6517">#6517</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to poppler-0.33.0. Fixes
+           <ulink url="&blfs-ticket-root;6501">#6501</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r15991.txt
===================================================================
--- trunk/blfs/traduc/commits/r15991.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15991.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,1226 @@
+Révision 15991
+
+fichiers modifiés :
+M       scripts/blfs-chapter04.php
+M       scripts/blfs-chapter25.php
+M       scripts/blfs-chapter26.php
+M       scripts/blfs-chapter27.php
+M       scripts/blfs-chapter29.php
+
+Log :
+Currency scripts through Chapter 29 (kde apps)
+
+Le robot a traité 13 % du commit anglais
+Index: scripts/blfs-chapter25.php
+===================================================================
+--- scripts/blfs-chapter25.php	(révision 15990)
++++ scripts/blfs-chapter25.php	(révision 15991)
+@@ -1,142 +1,51 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 25;
+-$START_PACKAGE ='atk';
+-$STOP_PACKAGE  ='webkitgtk1';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
++$CHAPTER       = '25';
++$START_PACKAGE = 'atk';
++$STOP_PACKAGE  = 'webkitgtk-2.8';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$renames[ 'goffice'                        ] = 'goffice (gtk+2)';
++$renames[ 'gtk+'                           ] = 'gtk+2';
++$renames[ 'gtk+1'                          ] = 'gtk+3';
++$renames[ 'gtkmm'                          ] = 'gtkmm2';
++$renames[ 'gtkmm1'                         ] = 'gtkmm3';
++$renames[ 'qt-everywhere-opensource-src'   ] = 'qt4';
++$renames[ 'qt-everywhere-opensource-src1'  ] = 'qt5';
++$renames[ 'webkitgtk'                      ] = 'webkitgtk+-2.4';
++$renames[ 'webkitgtk1'                     ] = 'webkitgtk+-2.8';
+ 
+-$vers = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="libxklavier"; // For debugging
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+-$regex[ 'agg'      ] = "/^.*agg-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'freeglut' ] = "/^.*Download freeglut-(\d[\d\.]+\d).tar.*$/";
+ 
+-//$current="goffice";
+ $url_fix = array (
+ 
+-array( 'pkg'     => 'agg',
+-'match'   => '^.*$', 
+-'replace' => "http://www.antigrain.com/download/index.html" ),
+    array( 'pkg'     => 'clutter-gst',
+           'match'   => '^.*$', 
+-'replace' => "http://ftp.gnome.org/pub/gnome/sources/clutter-gst/2.0" ),
++          'replace' => "http://ftp.gnome.org/pub/gnome/sources/clutter-gst/3.0" ),
+ 
+    array( 'pkg'     => 'freeglut',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/freeglut/files" ),
++          'replace' => "http://sourceforge.net/projects/freeglut/files" ),
+ 
+-array( 'pkg'     => 'hicolor-icon-theme',
+-'match'   => '^.*$', 
+-'replace' => "http://icon-theme.freedesktop.org/releases" ),
+    array( 'pkg'     => 'imlib2',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/enlightenment/files/imlib2-src" ),
++          'replace' => "http://sourceforge.net/projects/enlightenment/files/imlib2-src" ),
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "line=$line\n";
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-//echo "A\n";
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-//echo "B\n";
+-if ( $minor     >= 90 ) continue;
+-//echo "C\n";
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $freedesk;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+@@ -174,7 +83,6 @@
+          $book_index == "at-spi2-atk"  ||
+          $book_index == "cogl"         ||
+          $book_index == "clutter"      ||
+-//$book_index == "clutter-gst"  ||
+          $book_index == "clutter-gtk"  ||
+          $book_index == "gdk-pixbuf"   ||
+          $book_index == "gtk+1"        ||
+@@ -189,11 +97,13 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $dirlines );
++      $dirlines = http_get_file( "$dirpath/" );
+       if ( $book_index == "gdk-pixbuf" )
+-$dir      = find_max( $dirlines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
++        $dir      = find_max( $dirlines, '/\d$/', '/^.* ([\d\.]+)$/' );
+       else
+-$dir      = find_even_max( $dirlines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
++        $dir      = find_even_max( $dirlines, '/\d$/', '/^.* ([\d\.]+)$/' );
+       $dirpath .= "/$dir/";
+     }
+  
+@@ -203,15 +113,14 @@
+       $dirpath .= "/";
+ 
+     if ( $book_index == "libnotify"     ||
+-$book_index == "libxklavier"   ||
+-$book_index == "pangox-compat"  )
++         $book_index == "libxklavier"   )
+     {
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $dirlines );
++      $dirlines = http_get_file( "$dirpath/" );
+ 
+-$dir      = find_max( $dirlines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
++      $dir      = find_max( $dirlines, '/\d$/', '/^.* ([\d\.]+)$/' );
+       $dirpath .= "/$dir/";
+     }
+ 
+@@ -226,7 +135,7 @@
+     }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -253,7 +162,6 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position ); // Up 1
+-//echo "dirpath=$dirpath\n";
+     }
+ 
+     $lines = http_get_file( $dirpath );
+@@ -261,7 +169,6 @@
+     if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+-//print_r($lines);
+   if ( isset( $regex[ $package ] ) )
+   {
+      // Custom search for latest package name
+@@ -314,14 +221,10 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+    // Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      array( 'pkg'   => 'at-spi', 
+             'regex' => "/^.*at-spi2-.{3,4}-(\d[\d\.]+).*$/" ),
+@@ -341,124 +244,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$xorg_dir  = "/home/bdubbs/BLFS/x/installing";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-//if ( preg_match( "/^xf/", $file ))
+-//   $basename = preg_replace( "/^(.+\-).*$/", "$1", $file );
+-//else 
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "goffice"                       ) $name = 'goffice (gtk+2)';
+-if ( $pkg == "goffice1"                      ) $name = 'goffice (gtk+3)';
+-if ( $pkg == "gtk+"                          ) $name = 'gtk+2';
+-if ( $pkg == "gtk+1"                         ) $name = 'gtk+3';
+-if ( $pkg == "gtkmm"                         ) $name = 'gtkmm2';
+-if ( $pkg == "gtkmm1"                        ) $name = 'gtkmm3';
+-if ( $pkg == "qt-everywhere-opensource-src"  ) $name = 'qt4';
+-if ( $pkg == "qt-everywhere-opensource-src1" ) $name = 'qt5';
+-if ( $pkg == "webkitgtk"                     ) $name = 'webkitgtk-2.4';
+-if ( $pkg == "webkitgtk1"                    ) $name = 'webkitgtk-2.6';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@ -466,24 +251,15 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter26.php
+===================================================================
+--- scripts/blfs-chapter26.php	(révision 15990)
++++ scripts/blfs-chapter26.php	(révision 15991)
+@@ -1,25 +1,17 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 26;
++include 'blfs-include.php';
++$CHAPTER       = '26';
+ $START_PACKAGE ='fluxbox';
+ $STOP_PACKAGE  ='sawfish';
+-$start         = false;
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
++$renames = array();
++$renames[ 'sawfish_' ] = 'sawfish';
+ 
+-$book = array();
+-$book_index = 0;
++$ignores = array();
+ 
+-$vers = array();
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'fluxbox' ] = "/^.*current version of Fluxbox is (\d[\d\.]+\d).*$/";
+ $regex[ 'icewm'   ] = "/^.*Download icewm-(\d[\d\.]+\d).*$/";
+@@ -34,101 +26,19 @@
+ 
+    array( 'pkg'     => 'icewm',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/icewm/files" ),
++          'replace' => "http://sourceforge.net/projects/icewm/files" ),
+ 
+    array( 'pkg'     => 'openbox',
+           'match'   => '^.*$', 
+           'replace' => "http://pkgs.fedoraproject.org/repo/pkgs/openbox" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $freedesk;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+@@ -183,17 +93,13 @@
+      return 0;  // This is an error
+   }
+ 
+-//if ( $book_index == "sawfish" )
+-//  return find_max( $lines, "/sawfish/", "/^.*sawfish_([\d\.]*\d)\.tar.*$/" );
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+-//print_r($lines);
+-//$max = find_max( $lines, "/$package/", "/^.*${package}[_-]([\d\.]*\d)\.tar.*$/" );
+   $max = find_max( $lines, "/$package/", "/^.*${package}-?([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+ Function get_pattern( $line )
+ {
+    global $start;
+@@ -217,149 +123,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$xorg_dir  = "/home/bdubbs/BLFS/x/installing";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-//if ( preg_match( "/^xf/", $file ))
+-//   $basename = preg_replace( "/^(.+\-).*$/", "$1", $file );
+-//else 
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "goffice"                      ) $name = 'goffice (gtk+2)';
+-if ( $pkg == "goffice1"                     ) $name = 'goffice (gtk+3)';
+-if ( $pkg == "gtk+"                         ) $name = 'gtk+2';
+-if ( $pkg == "gtk+1"                        ) $name = 'gtk+3';
+-if ( $pkg == "gtkmm"                        ) $name = 'gtkmm2';
+-if ( $pkg == "gtkmm1"                       ) $name = 'gtkmm3';
+-if ( $pkg == "webkitgtk"                    ) $name = 'webkitgtk+1';
+-if ( $pkg == "webkitgtk1"                   ) $name = 'webkitgtk+2';
+-if ( $pkg == "qt-everywhere-opensource-src" ) $name = 'qt';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@     @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter27.php
+===================================================================
+--- scripts/blfs-chapter27.php	(révision 15990)
++++ scripts/blfs-chapter27.php	(révision 15991)
+@@ -1,108 +1,32 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 27;
+-$START_PACKAGE ='automoc4';
+-$STOP_PACKAGE  ='kde-workspace';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk  = "http://xorg.freedesktop.org/releases/individual";
+-$sf        = 'sourceforge.net';
+-$kde_ver   = "";
+-$kde_lines = "";
++$CHAPTER       = '27';
++$START_PACKAGE = 'automoc4';
++$STOP_PACKAGE  = 'kde-workspace';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$ignores = array();
+ 
+-$vers = array();
++//$current="akonadi";
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$kde_ver   = "";
++$kde_lines = "";
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ //$regex[ 'agg'      ] = "/^.*agg-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'shared-desktop-ontologies' ] = 
+-//   "/^.*Download shared-desktop-ontologies-(\d[\d\.]+\d).tar.*$/";
+ 
+-//$current="akonadi";
+ $url_fix = array (
+    array( 'pkg'     => 'kde-workspace',
+           'match'   => '^.*$', 
+           'replace' => "http://http://download.kde.org/stable/4.14.2/src" ),
+-// Sinece this is http, will strip off lat two
++          // Sinece this is http, will strip off last two
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "line=$line\n";
+-//echo "regex=$regex_replace\n";
+-//echo "slice=$slice\n";
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -116,7 +40,7 @@
+   if ( preg_match( "/ftp:..ftp.kde.org/", $dirpath ) )
+     $dirpath = preg_replace( "/ftp:..ftp.kde.org.pub.kde/",  
+                              "http://download.kde.org", $dirpath );
+-//echo "dpath=$dirpath\n";
+   // Fix up directory path
+   foreach ( $url_fix as $u )
+   {
+@@ -167,8 +91,6 @@
+ 
+     // Get listing
+     $lines = http_get_file( "$dirpath/" );
+-//print_r($lines);
+-//exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
+   }
+   else // http
+   {
+@@ -232,23 +154,6 @@
+      //if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+-/*  Not needed for kde
+-if ( isset( $regex[ $package ] ) )
+-{
+-// Custom search for latest package name
+-foreach ( $lines as $l )
+-{
+-if ( preg_match( '/^\h*$/', $l ) ) continue;
+-$ver = preg_replace( $regex[ $package ], "$1", $l );
+-if ( $ver == $l ) continue;
+-return $ver;  // Return first match of regex
+-}
+-return 0;  // This is an error
+-}
+-*/
+   // automoc4 and similar
+   if ( $book_index == "automoc4" || 
+        $book_index == "phonon"   ||
+@@ -261,8 +166,8 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+    global $start;
+ 
+@@ -291,145 +196,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER-28 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER-28 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "goffice"                      ) $name = 'goffice (gtk+2)';
+-if ( $pkg == "goffice1"                     ) $name = 'goffice (gtk+3)';
+-if ( $pkg == "gtk+"                         ) $name = 'gtk+2';
+-if ( $pkg == "gtk+1"                        ) $name = 'gtk+3';
+-if ( $pkg == "gtkmm"                        ) $name = 'gtkmm2';
+-if ( $pkg == "gtkmm1"                       ) $name = 'gtkmm3';
+-if ( $pkg == "webkitgtk"                    ) $name = 'webkitgtk+1';
+-if ( $pkg == "webkitgtk1"                   ) $name = 'webkitgtk+2';
+-if ( $pkg == "qt-everywhere-opensource-src" ) $name = 'qt';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@     @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter29.php
+===================================================================
+--- scripts/blfs-chapter29.php	(révision 15990)
++++ scripts/blfs-chapter29.php	(révision 15991)
+@@ -1,27 +1,18 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 29;
++include 'blfs-include.php';
++$CHAPTER       = '29';
+ $START_PACKAGE ='konsole';
+ $STOP_PACKAGE  ='gwenview';
+-$start         = false;
+ 
+-$freedesk  = "http://xorg.freedesktop.org/releases/individual";
+-$sf        = 'sourceforge.net';
++$renames = array();
++$ignores = array();
+ $kde_ver   = "";
+ $kde_lines = "";
+ 
+-$book = array();
+-$book_index = 0;
+-$vers = array();
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ //$regex[ 'agg'      ] = "/^.*agg-(\d[\d\.]+\d).tar.*$/";
+ 
+@@ -33,89 +24,9 @@
+ //          'match'   => '^.*$', 
+ //          'replace' => "http://$sf/projects/oscaf/files" ),
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -152,18 +63,7 @@
+   // Check for ftp
+   if ( preg_match( "/^ftp/", $dirpath ) ) 
+   { 
+-/*  No ftp for kde apps
+-if ( $book_index == "konsole" )
+-{
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position ); // Up 1
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position ); // Up 2
+-}
+-else
+-return $kde_ver;
+-*/
++    // No ftp for kde apps
+     // Get listing
+     $lines = http_get_file( "$dirpath/" );
+   }
+@@ -176,14 +76,6 @@
+ 
+      if ( ! is_array($kde_lines) )
+      {
+-// All http for kde
+-/*
+-$dirpath   = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position  = strrpos( $dirpath, "/" );
+-$dirpath   = substr ( $dirpath, 0, $position ); // Up 1
+-$position  = strrpos( $dirpath, "/" );
+-$dirpath   = substr ( $dirpath, 0, $position ); // Up 2
+-*/
+        $dirpath   = "http://download.kde.org/stable/applications/";
+        $lines     = http_get_file( $dirpath );
+        $kde_ver   = find_max( $lines, "/4\./", "/^.*;(1[\d\.]+\d)\/.*$/" );
+@@ -194,35 +86,15 @@
+      return find_max( $kde_lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   } // End fetch
+ 
+-/*  Not applicble fo rkde apps
+-if ( isset( $regex[ $package ] ) )
+-{
+-// Custom search for latest package name
+-foreach ( $lines as $l )
+-{
+-if ( preg_match( '/^\h*$/', $l ) ) continue;
+-$ver = preg_replace( $regex[ $package ], "$1", $l );
+-if ( $ver == $l ) continue;
+-return $ver;  // Return first match of regex
+-}
+-return 0;  // This is an error
+-}
+-*/
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+    // Set up specific patter matches for extracting book versions
+-$match = array();
+ 
+    $match = array(
+      array( 'pkg'   => 'libkexiv', 
+@@ -240,145 +112,22 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "goffice"                      ) $name = 'goffice (gtk+2)';
+-if ( $pkg == "goffice1"                     ) $name = 'goffice (gtk+3)';
+-if ( $pkg == "gtk+"                         ) $name = 'gtk+2';
+-if ( $pkg == "gtk+1"                        ) $name = 'gtk+3';
+-if ( $pkg == "gtkmm"                        ) $name = 'gtkmm2';
+-if ( $pkg == "gtkmm1"                       ) $name = 'gtkmm3';
+-if ( $pkg == "webkitgtk"                    ) $name = 'webkitgtk+1';
+-if ( $pkg == "webkitgtk1"                   ) $name = 'webkitgtk+2';
+-if ( $pkg == "qt-everywhere-opensource-src" ) $name = 'qt';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@     @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+ 
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+

Added: trunk/blfs/traduc/commits/r15992.txt
===================================================================
--- trunk/blfs/traduc/commits/r15992.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15992.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,1457 @@
+Révision 15992
+
+fichiers modifiés :
+M       scripts/blfs-include.php
+M       scripts/blfs-chapter26.php
+M       scripts/blfs-chapter11.php
+M       scripts/blfs-chapter30.php
+M       scripts/blfs-chapter31.php
+M       scripts/blfs-chapter32.php
+M       scripts/blfs-chapter34.php
+
+Log :
+Currency scripts through Chapter 34 (lxde)
+
+Le robot a traité 15 % du commit anglais
+Index: scripts/blfs-chapter11.php
+===================================================================
+--- scripts/blfs-chapter11.php	(révision 15991)
++++ scripts/blfs-chapter11.php	(révision 15992)
+@@ -81,7 +81,7 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      $lines    = http_get_file( "$dirpath/" );
+       $dir      = find_max( $lines, '/^[\d\.]+$/', '/^([\d\.]+)$/' );
+       $dirpath .= "/$dir/";
+     }
+@@ -93,7 +93,7 @@
+       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+       $position = strrpos( $dirpath, "/" );
+       $dirpath  = substr ( $dirpath, 0, $position );
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++      $lines    = http_get_file( "$dirpath/" );
+       $dir = find_max( $lines, "/\d[\d\.]+/", "/(\d[\d\.]+)/" );
+       $dirpath .= "/$dir/";
+     }
+
+Index: scripts/blfs-chapter26.php
+===================================================================
+--- scripts/blfs-chapter26.php	(révision 15991)
++++ scripts/blfs-chapter26.php	(révision 15992)
+@@ -70,12 +70,12 @@
+   if ( preg_match( "/^ftp/", $dirpath ) ) 
+   { 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+
+Index: scripts/blfs-chapter30.php
+===================================================================
+--- scripts/blfs-chapter30.php	(révision 15991)
++++ scripts/blfs-chapter30.php	(révision 15992)
+@@ -1,124 +1,31 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 30;
+-$START_PACKAGE ='gsettings-desktop-schemas';
+-$STOP_PACKAGE  ='yelp';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
+-$kde_ver  = "";
++$CHAPTER       = '30';
++$START_PACKAGE = 'gsettings-desktop-schemas';
++$STOP_PACKAGE  = 'yelp';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$ignores = array();
+ 
+-$vers = array();
++$kde_ver  = "";
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="polkit-gnome";  // Foir debugging
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ //$regex[ 'libzeitgeist' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
+ 
+-//$current="notification-daemon";
+ 
+ $url_fix = array (
+-// array( //'pkg'     => 'gnome',
+-//        'match'   => '^ftp:\/\/ftp.gnome', 
+-//        'replace' => "http://ftp.gnome" ),
+ //   array( 'pkg'     => 'libzeitgeist',
+ //          'match'   => '^.*$', 
+ //          'replace' => "https://launchpad.net/libzeitgeist" ),
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -146,7 +53,6 @@
+         if ( preg_match( "/$match/", $dirpath ) )
+         {
+            $dirpath = preg_replace( "/$match/", "$replace", $dirpath );
+-echo "$dirpath";
+            break;
+         }
+      }
+@@ -162,54 +68,54 @@
+       $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+     }
+ 
+-if ( $book_index == "libsecret" )
+-{
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $dirs );
+-$dir = find_max( $dirs, "/^\d/", "/^([\d\.]+).*$/" );
+-$dirpath .= "/$dir/";
+-}
++    if ( $book_index == "libsecret" )
++    {
++       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
++       $position = strrpos( $dirpath, "/" );
++       $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
++       $dirs     = http_get_file( "$dirpath/" );
++       $dir = find_max( $dirs, "/\d$/", "/^.* ([\d\.]+)$/" );
++       $dirpath .= "/$dir/";
++    }
+ 
+-// gsettings-desktop-schemas and similar
+-if ( $book_index == "gsettings-desktop-schemas" ||
+-$book_index == "GConf"                     ||
+-$book_index == "gcr"                       ||
+-$book_index == "gvfs"                      ||
+-$book_index == "yelp-xsl"                  ||
+-$book_index == "gnome-desktop"             ||
+-$book_index == "gnome-keyring"             ||
+-$book_index == "gnome-video-effects"       ||
+-$book_index == "gtksourceview"             ||
+-$book_index == "libgtop"                   ||
+-$book_index == "libpeas"                   ||
+-$book_index == "libwnck"                   ||
+-$book_index == "totem-pl-parser"           ||
+-$book_index == "vte"                       ||
+-$book_index == "dconf"                     ||
+-$book_index == "gnome-icon-theme"          ||
+-$book_index == "gnome-icon-theme-symbolic" ||
+-$book_index == "gnome-themes-standard"     ||
+-$book_index == "notification-daemon"       ||
+-$book_index == "yelp"                      ||
+-$book_index == "libgnome-keyring"  )
+-{
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $dirs );
++    // gsettings-desktop-schemas and similar
++    if ( $book_index == "gsettings-desktop-schemas" ||
++         $book_index == "GConf"                     ||
++         $book_index == "gcr"                       ||
++         $book_index == "gvfs"                      ||
++         $book_index == "yelp-xsl"                  ||
++         $book_index == "gnome-desktop"             ||
++         $book_index == "gnome-keyring"             ||
++         $book_index == "gnome-video-effects"       ||
++         $book_index == "gtksourceview"             ||
++         $book_index == "libgtop"                   ||
++         $book_index == "libpeas"                   ||
++         $book_index == "libwnck"                   ||
++         $book_index == "totem-pl-parser"           ||
++         $book_index == "vte"                       ||
++         $book_index == "dconf"                     ||
++         $book_index == "gnome-icon-theme"          ||
++         $book_index == "gnome-icon-theme-symbolic" ||
++         $book_index == "gnome-themes-standard"     ||
++         $book_index == "notification-daemon"       ||
++         $book_index == "yelp"                      ||
++         $book_index == "libgnome-keyring"  )
++    {
++       $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
++       $position = strrpos( $dirpath, "/" );
++       $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
++       $dirs     = http_get_file( "$dirpath/" );
+ 
+-if ( $book_index == "libpeas" )
+-$dir = find_max(      $dirs, "/^\d/", "/^([\d\.]+).*$/" );
+-else
+-$dir = find_even_max( $dirs, "/^\d/", "/^([\d\.]+).*$/" );
+-
+-$dirpath .= "/$dir/";
+-}
++       if ( $book_index == "libpeas" )
++         $dir = find_max(      $dirs, "/\d$/", "/^.* ([\d\.]+)$/" );
++       else
++         $dir = find_even_max( $dirs, "/\d$/", "/^.* ([\d\.]+)$/" );
++       
++       $dirpath .= "/$dir/";
++    }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -233,20 +139,17 @@
+   }
+ 
+   if ( $book_index == "polkit-gnome" )
+-return find_max( $lines, "/^\d/", "/^([\d\.]+).*$/" );
++     return find_max( $lines, "/\d$/", "/^.* ([\d\.]+)$/" );
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+    // Set up specific patter matches for extracting book versions
+-$match = array();
+ 
+    $match = array(
+      array( 'pkg'   => 'automoc', 
+@@ -273,134 +176,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-//$flag = ( $vers[ $pkg ] <  $v ) ? "D" : $flag;
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "gjs-js" ) $name = 'gjs';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@     @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter31.php
+===================================================================
+--- scripts/blfs-chapter31.php	(révision 15991)
++++ scripts/blfs-chapter31.php	(révision 15992)
+@@ -1,126 +1,32 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 31;
++include 'blfs-include.php';
++$CHAPTER       = '31';
+ $START_PACKAGE ='baobab';
+ $STOP_PACKAGE  ='seahorse';
+-$start         = false;
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
+-$kde_ver  = "";
++$renames = array();
++$ignores = array();
+ 
+-$book = array();
+-$book_index = 0;
+-$vers = array();
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+-$regex[ 'libzeitgeist' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
++//$regex[ 'libzeitgeist' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
+ 
+ //$current="ixxgcr";
+ 
+ $url_fix = array (
+-/*
+-array( 'pkg'     => 'freeglut',
+-'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/freeglut/files" ),
+-*/
++//   array( 'pkg'     => 'freeglut',
++//          'match'   => '^.*$', 
++//          'replace' => "http://$sf/projects/freeglut/files" ),
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+ 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $kde_ver;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+@@ -156,8 +62,8 @@
+         $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+         $position = strrpos( $dirpath, "/" );
+         $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $dirs );
+-$dir = find_max( $dirs, "/^\d/", "/^([\d\.]+).*$/" ); // Not even
++        $dirs     = http_get_file( "$dirpath/" );
++        $dir      = find_max( $dirs, "/\d$/", "/^.* ([\d\.]+)$/" ); // Not even
+         $dirpath .= "/$dir/";
+     }
+ 
+@@ -167,13 +73,13 @@
+         $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+         $position = strrpos( $dirpath, "/" );
+         $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $dirs );
+-$dir = find_even_max( $dirs, "/^\d/", "/^([\d\.]+).*$/" );
++        $dirs     = http_get_file( "$dirpath/" );
++        $dir      = find_even_max( $dirs, "/\d$/", "/^.* ([\d\.]+)$/" );
+         $dirpath .= "/$dir/";
+     }
+ 
+     // Get listing
+-exec( "echo 'ls -1;bye' | ncftp $dirpath/", $lines );
++    $lines = http_get_file( "$dirpath/" );
+   }
+   else // http
+   {
+@@ -196,25 +102,18 @@
+      return 0;  // This is an error
+   }
+ 
+-//if ( $book_index == "polkit-gnome" )
+-//  return find_max( $lines, "/^\d/", "/^([\d\.]+).*$/" );
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+    // Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+-array( 'pkg'   => 'ORBit', 
+-'regex' => "/^.*ORBit2-(\d[\d\.]+).*$/" ),
++     //array( 'pkg'   => 'ORBit', 
++     //       'regex' => "/^.*ORBit2-(\d[\d\.]+).*$/" ),
+    );
+ 
+    foreach( $match as $m )
+@@ -228,110 +127,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-$flag = ( $vers[ $pkg ] <  $v ) ? "D" : $flag;
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-//if ( $pkg == "goffice" ) $name = 'goffice (gtk+2)';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ 
+@@ -340,24 +135,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter32.php
+===================================================================
+--- scripts/blfs-chapter32.php	(révision 15991)
++++ scripts/blfs-chapter32.php	(révision 15992)
+@@ -1,28 +1,18 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 32;
+-$START_PACKAGE ='libxfce4util';
+-$STOP_PACKAGE  ='xfce4-notifyd';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
+-$kde_ver  = "";
++$CHAPTER       = '32';
++$START_PACKAGE = 'libxfce4util';
++$STOP_PACKAGE  = 'xfce4-notifyd';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$renames[ 'midori_' ] = 'midori_';
+ 
+-$vers = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+-//$regex[ 'midori_' ] = "/^.*Source of Midori.* (\d[\d\.]+\d) .*$/";
+ $regex[ 'midori_' ] = "/^.*midori_(\d[\d\.]*\d)_all.*$/";
+ 
+ //$current="midori_";
+@@ -38,97 +28,13 @@
+           'replace' => "http://archive.xfce.org/src/panel-plugins/xfce4-xkb-plugin/0.7" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-//echo "regex_match=$regex_match; regex_replace=$regex_replace\n";
+ 
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-//echo "line = $line\n";
+-if ( preg_match( "/^\s*$/", $line ) ) continue; //else echo "not blank\n";
+-if ( preg_match( "/KB/",    $line ) ) continue; //else echo "not KB\n"; 
+-if ( preg_match( "/beta/",  $line ) ) continue; //else echo "not beta\n"; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "slice= $slice\n";
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]+$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-//print_r($a);
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-//print_r($a);
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+$/", $slice ) ) continue; 
+-if ( "x$slice" == "x$line" ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0.0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $kde_ver;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+@@ -252,22 +158,16 @@
+   // Occasionally there are dashes (e.g. 201-1)
+   return find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+    // Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      array( 'pkg'   => '.*xfce', 
+             'regex' => "/^.*xfce.*-(\d[\d\.]+).*$/" ),
+@@ -280,111 +180,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-//$pattern = get_pattern( $line );
+-$pattern = get_pattern( $file );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-33 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-33 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "midori_" ) $name = 'midori';
+-//if ( $pkg == "midori_" ) $vers[ $pkg ] = 'hidden';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@ -392,24 +187,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter34.php
+===================================================================
+--- scripts/blfs-chapter34.php	(révision 15991)
++++ scripts/blfs-chapter34.php	(révision 15992)
+@@ -1,214 +1,104 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 34;
+-$START_PACKAGE ='lxmenu-data';
+-$STOP_PACKAGE  ='lxterminal';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
+-$kde_ver  = "";
++$CHAPTER       = '34';
++$START_PACKAGE = 'lxmenu-data';
++$STOP_PACKAGE  = 'lxterminal';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$renames[ 'libfm'  ] = 'libfm-extra';
++$renames[ 'libfm1' ] = 'libfm';
+ 
+-$vers = array();
++$ignores = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="lxpanel";
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+-//$regex[ 'midori_' ] = "/^.*Source of Midori.* (\d[\d\.]+\d).*\d\.\d MB.*$/";
+-//$regex[ 'midori_' ] = "/^.*Source of Midori.* (\d[\d\.]+\d) .*$/";
+ $regex[ 'libfm'   ] = "/^.*Download libfm-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'libfm1'  ] = "/^.*Download libfm-(\d[\d\.]+\d).tar.*$/";
+ 
+-//$current="lxpanel";
+ $url_fix = array (
+-array( 'pkg'     => 'midori_',
+-'match'   => '^.*$', 
+-'replace' => "http://www.midori-browser.org/download/source" ),
+    array( 'pkg'     => 'lxmenu-data',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/lxmenu-data%20%28desktop%20menu%29" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/lxmenu-data%20%28desktop%20menu%29" ),
+ 
+    array( 'pkg'     => 'lxde-icon-theme',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXDE%20Icon%20Theme" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXDE%20Icon%20Theme" ),
+ 
+    array( 'pkg'     => 'menu-cache',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/menu-cache" ),
+-//http://sourceforge.net/projects/lxde/files/menu-cache
++          'replace' => "http://sourceforge.net/projects/lxde/files/menu-cache" ),
+ 
+    array( 'pkg'     => 'libfm',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/pcmanfm/files" ),
++          'replace' => "http://sourceforge.net/projects/pcmanfm/files" ),
+ 
+    array( 'pkg'     => 'libfm1',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/pcmanfm/files" ),
+-# http://sourceforge.net/projects/pcmanfm/files
++          'replace' => "http://sourceforge.net/projects/pcmanfm/files" ),
+    array( 'pkg'     => 'lxpanel',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXPanel%20%28desktop%20panel%29" ),
+-# http://sourceforge.net/projects/lxde/files/LXPanel%20%28desktop%20panel%29
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXPanel%20%28desktop%20panel%29" ),
+ 
+    array( 'pkg'     => 'lxappearance',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXAppearance" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXAppearance" ),
+ 
+    array( 'pkg'     => 'lxpolkit',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXPolkit" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXPolkit" ),
+ 
+    array( 'pkg'     => 'lxsession',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXSession%20%28session%20manager%29" ),
+-#http://sourceforge.net/projects/lxde/files/LXSession%20%28session%20manager%29
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXSession%20%28session%20manager%29" ),
+    array( 'pkg'     => 'lxde-common',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/lxde-common%20%28default%20config%29" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/lxde-common%20%28default%20config%29" ),
+ 
+    array( 'pkg'     => 'lxappearance-obconf',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXAppearance%20Obconf" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXAppearance%20Obconf" ),
+ 
+    array( 'pkg'     => 'lxinput',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXInput%20%28Kbd%20and%20amp_%20mouse%20config%29/" ),
+-#http://sourceforge.net/projects/lxde/files
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXInput%20%28Kbd%20and%20amp_%20mouse%20config%29/" ),
+    array( 'pkg'     => 'gpicview',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/GPicView%20%28image%20Viewer%29" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/GPicView%20%28image%20Viewer%29" ),
+ 
+    array( 'pkg'     => 'lxrandr',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXRandR%20%28monitor%20config%20tool%29" ),
+-#http://sourceforge.net/projects/lxde/files/LXRandR%20%28monitor%20config%20tool%29
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXRandR%20%28monitor%20config%20tool%29" ),
+    array( 'pkg'     => 'lxshortcut',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXShortcut%20%28edit%20app%20shortcut%29" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXShortcut%20%28edit%20app%20shortcut%29" ),
+ 
+    array( 'pkg'     => 'lxtask',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXTask%20%28task%20manager%29" ),
+-#http://sourceforge.net/projects/lxde/files/LXTask%20%28task%20manager%29
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXTask%20%28task%20manager%29" ),
+ 
+    array( 'pkg'     => 'lxterminal',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lxde/files/LXTerminal%20%28terminal%20emulator%29" ),
++          'replace' => "http://sourceforge.net/projects/lxde/files/LXTerminal%20%28terminal%20emulator%29" ),
+ 
+    array( 'pkg'     => 'pcmanfm',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM" ),
++          'replace' => "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+-//echo "regex_match=$regex_match; regex_replace=$regex_replace\n";
+ 
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-//echo "line = $line\n";
+-if ( preg_match( "/^\s*$/", $line ) ) continue; //else echo "not blank\n";
+-if ( preg_match( "/KB/",    $line ) ) continue; //else echo "not KB\n"; 
+-if ( preg_match( "/beta/",  $line ) ) continue; //else echo "not beta\n"; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "slice= $slice\n";
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]+$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-//print_r($a);
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-//print_r($a);
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+$/", $slice ) ) continue; 
+-if ( "x$slice" == "x$line" ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0.0.0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-//echo "url=$url\n";
+-//print_r($dir);
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-//print_r(explode( "\n", $dir ));
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $kde_ver;
+ 
+-//if ( $book_index == "lxpanel" ||
+-//     $book_index == "lxde-common" ) return "manual";
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+   // Fix up directory path
+@@ -234,35 +124,11 @@
+         }
+      }
+   }
+-//echo "dirpath=$dirpath\n";
+   // Check for ftp
+   if ( preg_match( "/^ftp/", $dirpath ) ) 
+   { 
+-// All ftp enties for this chapter
+-/* N/A for this chapter
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+-$dirs     = http_get_file( "$dirpath/" );
+-
+-if ( $book_index == "libwnck" ||
+-$book_index == "gtksourceview" )
+-$dir = find_even_max( $dirs, "/ 2\./", "/^.* (2[\d\.]+)$/" );
+-
+-else if ( $book_index == "vte" )
+-$dir = "0.28";
+-
+-else if ( $book_index == "libunique" )
+-$dir = "1.1";
+-
+-else
+-$dir = find_even_max( $dirs, "/^\d/", "/^([\d\.]+).*$/" );
+-
+-$dirpath .= "/$dir/";
+-// Get listing
+-$lines = http_get_file( "$dirpath/" );
+-*/
++     // All ftp enties for this chapter N/A for this chapter
+   }
+   else if ( $book_index != "midori_"      &&
+             $book_index != "lxmenu-data"  &&
+@@ -284,7 +150,6 @@
+             $book_index != "lxappearance-obconf"  &&
+             $book_index != "lxde-icon-theme" ) // http
+   {
+-//echo "else1\n";
+      // Most http enties for this chapter
+      $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+      $position = strrpos( $dirpath, "/" );
+@@ -302,105 +167,90 @@
+      if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+-// Others
+-else 
++  else // http 
+   {
+-//echo "else others\n";
+      if ( $book_index == "menu-cache" )
+      {
+       $lines1   = http_get_file( "$dirpath" );
+       $dir      = find_max( $lines1, "/ 1\./", "/^.* (1[\d\.]+).*$/" );
+        $dirpath .= "/$dir";
+-
+-//$d      = preg_replace( "/ /", "%20", $dir ); // Fix embedded blank
+-//$dirpath .= "/$d";
+      }
+ 
+      if ( $book_index == "lxsession" )
+@@     @@
+       $dir      = find_max( $lines1, "/LXSession \d/", "/^.*(LXSession [\d\.x]+).*$/" );
+       $d        = preg_replace( "/ /", "%20", $dir ); // Fix embedded blank
+        $dirpath .= "/$d";
+-//echo "lxsession dirpath=$dirpath\n";
+      }
+ 
+      if ( $book_index == "lxde-common" )
+@@     @@
+ 
+      if ( $book_index == "lxpanel" )
+      {
+-$lines1 = http_get_file( "$dirpath" );
+-$dir    = find_max( $lines1, "/LXPanel/i", "/^.*(LXPanel [\d\.x]+).*$/i" );
+-$d      = preg_replace( "/ /", "%20", $dir ); // Fix embedded blank
++       $lines1   = http_get_file( "$dirpath" );
++       $dir      = find_max( $lines1, "/LXPanel 0/", "/^.*(LXPanel [\d\.x]+).*$/" );
++       $d        = preg_replace( "/ /", "%20", $dir ); // Fix embedded blank
+        $dirpath .= "/$d";
+      }
+ 
+-if ( $book_index == "midori_" )
+-{
+-exec( "curl -L -s -m30 $dirpath", $lines );
+-}
++     $lines = http_get_file( "$dirpath" );
++  }
+ 
+-//echo "end of else others\n";
+-//else
+-//{
+-$lines = http_get_file( "$dirpath" );
+-//}
+-}
+-//print_r($lines);
+   if ( isset( $regex[ $package ] ) )
+   {
+      // Custom search for latest package name
+@@ -429,22 +279,12 @@
+   // Occasionally there are dashes (e.g. 201-1)
+   return find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+-// Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+-
+-array( 'pkg'   => '.*xfce', 
+-'regex' => "/^.*xfce.*-(\d[\d\.]+).*$/" ),
+-array( 'pkg'   => 'xfwm', 
+-'regex' => "/^.*xfwm4-(\d[\d\.]+).*$/" ),
++     //array( 'pkg'   => '.*xfce', 
++     //       'regex' => "/^.*xfce.*-(\d[\d\.]+).*$/" ),
+    );
+ 
+    foreach( $match as $m )
+@@ -457,111 +297,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\.gz$/",        "", $file ); // Remove .gz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-//$pattern = get_pattern( $line );
+-$pattern = get_pattern( $file );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-35 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-35 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "midori_" ) $name = 'midori';
+-//if ( $pkg == "midori_" ) $vers[ $pkg ] = 'hidden';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@ -569,24 +304,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-include.php
+===================================================================
+--- scripts/blfs-include.php	(révision 15991)
++++ scripts/blfs-include.php	(révision 15992)
+@@ -144,7 +144,8 @@
+       $file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+       $file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+ 
+-$pattern = get_pattern( $line );
++      //$pattern = get_pattern( $line );
++      $pattern = get_pattern( $file );
+       
+       $version = preg_replace( $pattern, "$1", $file );   // Isolate version
+       $version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+@@ -164,6 +165,9 @@
+ 
+       // Custom for chapter 12 -- there is both p7zip, unzip, and zip there
+       if ( preg_match( "/p7zip|unzip/", $line ) ) continue;
++      // Custom for chapter 30 -- there is both yelp and yelp-sxl
++      if ( preg_match( "/yelp-xsl/", $line ) ) continue;
+       
+       if ( preg_match( "/$STOP_PACKAGE/", $line ) ) break;
+    }
+

Added: trunk/blfs/traduc/commits/r15993.txt
===================================================================
--- trunk/blfs/traduc/commits/r15993.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15993.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,9 @@
+Révision 15993
+
+fichiers modifiés :
+   pst/typesetting/biber.xml
+
+Log :
+Fix url
+
+Le robot a traité 100 % du commit anglais

Added: trunk/blfs/traduc/commits/r15994.txt
===================================================================
--- trunk/blfs/traduc/commits/r15994.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15994.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,1685 @@
+Révision 15994
+
+fichiers modifiés :
+M       scripts/blfs-include.php
+M       scripts/blfs-chapter20.php
+M       scripts/blfs-chapter04.php
+M       scripts/blfs-chapter40.php
+M       scripts/blfs-chapter05.php
+M       scripts/blfs-chapter24.php
+M       scripts/blfs-chapter06.php
+M       scripts/blfs-chapter25.php
+M       scripts/blfs-chapter43.php
+M       scripts/blfs-chapter26.php
+M       scripts/blfs-chapter27.php
+M       scripts/blfs-chapter09.php
+M       scripts/blfs-chapter29.php
+M       scripts/blfs-chapter10.php
+M       scripts/blfs-chapter11.php
+M       scripts/blfs-chapter30.php
+M       scripts/blfs-chapter12.php
+M       scripts/blfs-chapter31.php
+M       scripts/blfs-chapter13.php
+M       scripts/blfs-chapter32.php
+M       scripts/blfs-chapter14.php
+M       scripts/blfs-chapter34.php
+M       scripts/blfs-chapter17.php
+M       scripts/blfs-chapter36.php
+M       scripts/blfs-chapter39.php
+
+Log :
+Finish updates to currency scripts
+
+Le robot a traité 11 % du commit anglais
+Index: scripts/blfs-chapter04.php
+===================================================================
+--- scripts/blfs-chapter04.php	(révision 15993)
++++ scripts/blfs-chapter04.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = "4";
++$CHAPTERS      = "Chapters 2-4";
+ $START_PACKAGE = "blfs-bootscripts";
+ $STOP_PACKAGE  = "tripwire";
+ 
+
+Index: scripts/blfs-chapter05.php
+===================================================================
+--- scripts/blfs-chapter05.php	(révision 15993)
++++ scripts/blfs-chapter05.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '5';
++$CHAPTERS      = 'Chapter 5';
+ $START_PACKAGE = 'fuse';
+ $STOP_PACKAGE  = 'xfsprogs';
+ 
+
+Index: scripts/blfs-chapter06.php
+===================================================================
+--- scripts/blfs-chapter06.php	(révision 15993)
++++ scripts/blfs-chapter06.php	(révision 15994)
+@@ -3,9 +3,10 @@
+ 
+ include 'blfs-include.php';
+ 
+-$CHAPTER=6;
+-$START_PACKAGE='bluefish';
+-$STOP_PACKAGE='qemu';
++$CHAPTER       = '6';
++$CHAPTERS      = 'Chapters 6-8';
++$START_PACKAGE = 'bluefish';
++$STOP_PACKAGE  = 'qemu';
+ 
+ $renames = array();
+ $renames[ 'zsh1' ] = 'zsh-doc';
+
+Index: scripts/blfs-chapter09.php
+===================================================================
+--- scripts/blfs-chapter09.php	(révision 15993)
++++ scripts/blfs-chapter09.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '9';
++$CHAPTERS      = 'Chapter 9';
+ $START_PACKAGE = 'apr';
+ $STOP_PACKAGE  = 'xapian-core';
+ 
+
+Index: scripts/blfs-chapter10.php
+===================================================================
+--- scripts/blfs-chapter10.php	(révision 15993)
++++ scripts/blfs-chapter10.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '10';
++$CHAPTERS      = 'Chapter 10';
+ $START_PACKAGE = 'aalib';
+ $STOP_PACKAGE  = 'qpdf';
+ 
+
+Index: scripts/blfs-chapter11.php
+===================================================================
+--- scripts/blfs-chapter11.php	(révision 15993)
++++ scripts/blfs-chapter11.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '11';
++$CHAPTERS      = 'Chapter 11';
+ $START_PACKAGE = 'compface';
+ $STOP_PACKAGE  = 'unixODBC';
+ 
+
+Index: scripts/blfs-chapter12.php
+===================================================================
+--- scripts/blfs-chapter12.php	(révision 15993)
++++ scripts/blfs-chapter12.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '12';
++$CHAPTERS      = 'Chapter 12';
+ $START_PACKAGE = 'acpid';
+ $STOP_PACKAGE  = 'zip';
+ 
+
+Index: scripts/blfs-chapter13.php
+===================================================================
+--- scripts/blfs-chapter13.php	(révision 15993)
++++ scripts/blfs-chapter13.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '13';
++$CHAPTERS      = 'Chapter 13';
+ $START_PACKAGE = 'check';
+ $STOP_PACKAGE  = 'junit';
+ 
+
+Index: scripts/blfs-chapter14.php
+===================================================================
+--- scripts/blfs-chapter14.php	(révision 15993)
++++ scripts/blfs-chapter14.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '14';
++$CHAPTERS      = 'Chapters 14-16';
+ $START_PACKAGE = 'dhcpcd';
+ $STOP_PACKAGE  = 'wireshark';
+ 
+
+Index: scripts/blfs-chapter17.php
+===================================================================
+--- scripts/blfs-chapter17.php	(révision 15993)
++++ scripts/blfs-chapter17.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '17';
++$CHAPTERS      = 'Chapters 17-19';
+ $START_PACKAGE = 'curl';
+ $STOP_PACKAGE  = 're-alpine';
+ 
+
+Index: scripts/blfs-chapter20.php
+===================================================================
+--- scripts/blfs-chapter20.php	(révision 15993)
++++ scripts/blfs-chapter20.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '20';
++$CHAPTERS      = 'Chapters 20-23';
+ $START_PACKAGE = 'httpd';
+ $STOP_PACKAGE  = 'xinetd';
+ 
+
+Index: scripts/blfs-chapter24.php
+===================================================================
+--- scripts/blfs-chapter24.php	(révision 15993)
++++ scripts/blfs-chapter24.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '24';
++$CHAPTERS      = 'Chapter 24';
+ $START_PACKAGE = 'util-macros';
+ $STOP_PACKAGE  = 'xinit';
+ 
+
+Index: scripts/blfs-chapter25.php
+===================================================================
+--- scripts/blfs-chapter25.php	(révision 15993)
++++ scripts/blfs-chapter25.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '25';
++$CHAPTERS      = 'Chapter 25';
+ $START_PACKAGE = 'atk';
+ $STOP_PACKAGE  = 'webkitgtk-2.8';
+ 
+
+Index: scripts/blfs-chapter26.php
+===================================================================
+--- scripts/blfs-chapter26.php	(révision 15993)
++++ scripts/blfs-chapter26.php	(révision 15994)
+@@ -4,8 +4,9 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '26';
+-$START_PACKAGE ='fluxbox';
+-$STOP_PACKAGE  ='sawfish';
++$CHAPTERS      = 'Chapter 26';
++$START_PACKAGE = 'fluxbox';
++$STOP_PACKAGE  = 'sawfish';
+ 
+ $renames = array();
+ $renames[ 'sawfish_' ] = 'sawfish';
+
+Index: scripts/blfs-chapter27.php
+===================================================================
+--- scripts/blfs-chapter27.php	(révision 15993)
++++ scripts/blfs-chapter27.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '27';
++$CHAPTERS      = 'Chapters 27-28';
+ $START_PACKAGE = 'automoc4';
+ $STOP_PACKAGE  = 'kde-workspace';
+ 
+
+Index: scripts/blfs-chapter29.php
+===================================================================
+--- scripts/blfs-chapter29.php	(révision 15993)
++++ scripts/blfs-chapter29.php	(révision 15994)
+@@ -4,8 +4,9 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '29';
+-$START_PACKAGE ='konsole';
+-$STOP_PACKAGE  ='gwenview';
++$CHAPTERS      = 'Chapter 29';
++$START_PACKAGE = 'konsole';
++$STOP_PACKAGE  = 'gwenview';
+ 
+ $renames = array();
+ $ignores = array();
+
+Index: scripts/blfs-chapter30.php
+===================================================================
+--- scripts/blfs-chapter30.php	(révision 15993)
++++ scripts/blfs-chapter30.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '30';
++$CHAPTERS      = 'Chapter 30';
+ $START_PACKAGE = 'gsettings-desktop-schemas';
+ $STOP_PACKAGE  = 'yelp';
+ 
+
+Index: scripts/blfs-chapter31.php
+===================================================================
+--- scripts/blfs-chapter31.php	(révision 15993)
++++ scripts/blfs-chapter31.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '31';
++$CHAPTERS      = 'Chapter 31';
+ $START_PACKAGE ='baobab';
+ $STOP_PACKAGE  ='seahorse';
+ 
+
+Index: scripts/blfs-chapter32.php
+===================================================================
+--- scripts/blfs-chapter32.php	(révision 15993)
++++ scripts/blfs-chapter32.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '32';
++$CHAPTERS      = 'Chapters 32-33';
+ $START_PACKAGE = 'libxfce4util';
+ $STOP_PACKAGE  = 'xfce4-notifyd';
+ 
+
+Index: scripts/blfs-chapter34.php
+===================================================================
+--- scripts/blfs-chapter34.php	(révision 15993)
++++ scripts/blfs-chapter34.php	(révision 15994)
+@@ -4,6 +4,7 @@
+ include 'blfs-include.php';
+ 
+ $CHAPTER       = '34';
++$CHAPTERS      = 'Chapters 34-35';
+ $START_PACKAGE = 'lxmenu-data';
+ $STOP_PACKAGE  = 'lxterminal';
+ 
+
+Index: scripts/blfs-chapter36.php
+===================================================================
+--- scripts/blfs-chapter36.php	(révision 15993)
++++ scripts/blfs-chapter36.php	(révision 15994)
+@@ -1,25 +1,20 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 36;
+-$START_PACKAGE ='abiword';
+-$STOP_PACKAGE  ='xscreensaver';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
++$CHAPTER       = '36';
++$CHAPTERS      = 'Chapters 36-38';
++$START_PACKAGE = 'abiword';
++$STOP_PACKAGE  = 'xscreensaver';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$ignores = array();
+ 
+-$vers = array();
++$libreoffice = array();
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++//$current="fontforge";
+ 
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'inkscape'     ] = "/^.*Latest.*(\d[\d\.]+\d).*$/";
+ $regex[ 'gnucash'      ] = "/^.*Download gnucash-(\d[\d\.]+\d).tar.*$/";
+@@ -30,22 +25,19 @@
+ $regex[ 'tigervnc'     ] = "/^.*TigerVNC (\d[\d\.]+\d).*$/";
+ $regex[ 'transmission' ] = "/^.*release version.*(\d[\d\.]+\d).*$/";
+ 
+-//$current="fontforge";
+-$libreoffice = array();
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'gnucash',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gnucash/files" ),
++          'replace' => "http://sourceforge.net/projects/gnucash/files" ),
+ 
+    array( 'pkg'     => 'gnucash-docs',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gnucash/files/gnucash-docs" ),
++          'replace' => "http://sourceforge.net/projects/gnucash/files/gnucash-docs" ),
+ 
+    array( 'pkg'     => 'asymptote',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/asymptote/files" ),
++          'replace' => "http://sourceforge.net/projects/asymptote/files" ),
+ 
+    array( 'pkg'     => 'libreoffice',
+           'match'   => '^.*$', 
+@@ -66,7 +58,6 @@
+    array( 'pkg'     => 'gimp',
+           'match'   => '^.*$', 
+           'replace' => "http://download.gimp.org/pub/gimp" ),
+-//'replace' => "ftp://mirrors.xmission.com/gimp/gimp" ),
+ 
+    array( 'pkg'     => 'gimp-help',
+           'match'   => '^.*$', 
+@@ -78,7 +69,7 @@
+ 
+    array( 'pkg'     => 'gparted',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gparted/files/gparted" ),
++          'replace' => "http://sourceforge.net/projects/gparted/files/gparted" ),
+ 
+    array( 'pkg'     => 'inkscape',
+           'match'   => '^.*$', 
+@@ -86,11 +77,11 @@
+ 
+    array( 'pkg'     => 'pidgin',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/pidgin/files" ),
++          'replace' => "http://sourceforge.net/projects/pidgin/files" ),
+ 
+    array( 'pkg'     => 'rox-filer',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/rox/files/rox" ),
++          'replace' => "http://sourceforge.net/projects/rox/files/rox" ),
+ 
+    array( 'pkg'     => 'tigervnc',
+           'match'   => '^.*$', 
+@@ -113,98 +104,9 @@
+           'replace' => "https://www.transmissionbt.com/download" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+ 
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-//exec( "curl -L -s -m30 -A Firefox $url", $dir );
+-if (  ! preg_match( '/hexchat/', $url )  && 
+-! preg_match( '/tigervnc/', $url ) )
+-exec( "curl -L -s -tlsv1 -m30 -A Firefox $url", $dir );
+-else
+-exec( "wget -q --no-check-certificate -O - $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+-global $exceptions;
+   global $regex;
+   global $book_index;
+   global $url_fix;
+@@ -303,13 +205,12 @@
+         $dir      = find_max( $dirs, "/v\d\./", "/^.*(v\d\.[\d\.]+).*$/" );
+          $dirpath .= "/$dir/";
+      }
+-//echo "dirpath=$dirpath\n";
+      $lines = http_get_file( $dirpath );
+-//print_r($lines);
+      if ( ! is_array( $lines ) ) return $lines;
+   } // End fetch
+ 
+@@ -354,14 +255,9 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+-// Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      //array( 'pkg'   => 'gimp-help', 
+      //       'regex' => "/^.*gimp-help-(\d[\d\.]+).*$/" ),
+@@ -378,111 +274,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\..z$/",        "", $file ); // Remove .gz$/xz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-if ( $basename == "v" ) $basename = 'tigervnc';
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-38 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-38 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "goffice" ) $name = 'goffice (gtk+2)';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@ -490,23 +281,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-if ( preg_match( "/xorg-server/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter39.php
+===================================================================
+--- scripts/blfs-chapter39.php	(révision 15993)
++++ scripts/blfs-chapter39.php	(révision 15994)
+@@ -1,26 +1,29 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 39;
+-$START_PACKAGE ='alsa-lib';
+-$STOP_PACKAGE  ='xvidcore';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$sf            = 'sourceforge.net';
++$CHAPTER       = '39';
++$CHAPTERS      = 'Chapter 39';
++$START_PACKAGE = 'alsa-lib';
++$STOP_PACKAGE  = 'xvidcore';
+ 
+-$vers = array();
+-$book = array();
+-$book_index = 0;
++$renames = array();
++$renames[ 'libmusicbrainz'  ] = 'libmusicbrainz2';
++$renames[ 'libmusicbrainz1' ] = 'libmusicbrainz5';
++$renames[ 'libvpx-v'        ] = 'libvpx';
++$renames[ 'v'               ] = 'fdk-aac';
++$renames[ 'x'               ] = 'x264';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$ignores = array();
+ 
++//$current="libvpx";
+ $regex = array();
+ $regex[ 'faac'             ] = "/^.*Download faac-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'fdk-aac'          ] = "/^.*Download fdk-aac-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'a52dec'           ] = "/^.*a52dec-(\d[\d\.]+\d) is.*$/";
+ $regex[ 'libass'           ] = "/^.*Release (\d[\d\.]+\d).*$/";
+-//$regex[ 'libcdio-paranoia' ] = "/^.*The current release.*(\d[\d\.]+\d).*$/";
+ $regex[ 'libdv'            ] = "/^.*Download libdv-(\d[\d\.]+\d).*$/";
+ $regex[ 'libmpeg2'         ] = "/^.*libmpeg2-(\d[\d\.]+\d).*$/";
+ $regex[ 'libmusicbrainz1'  ] = "/^.*libmusicbrainz-(5[\d\.]+\d).*$/";
+@@ -30,25 +33,24 @@
+ $regex[ 'xine-lib'         ] = "/^.*Download xine-lib-([\d\.]+\d).tar.*$/";
+ $regex[ 'v'                ] = "/^.*fdk-aac ([\d\.]+) *$/";
+ 
+-//$current="libvpx";
+ 
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'faac',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/faac/files" ),
++          'replace' => "http://sourceforge.net/projects/faac/files" ),
+ 
+    array( 'pkg'     => 'faad2',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/faac/files/faad2-src" ),
++          'replace' => "http://sourceforge.net/projects/faac/files/faad2-src" ),
+ 
+    array( 'pkg'     => 'fdk-aac',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/opencore-amr/files" ),
++          'replace' => "http://sourceforge.net/projects/opencore-amr/files" ),
+ 
+    array( 'pkg'     => 'a52dec',
+           'match'   => '^.*$', 
+-'replace' => "http://liba52.$sf/" ),
++          'replace' => "http://liba52.sourceforge.net/" ),
+ 
+    array( 'pkg'     => 'libao',
+           'match'   => '^.*$', 
+@@ -60,11 +62,11 @@
+ 
+    array( 'pkg'     => 'libdv',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/libdv/files" ),
++          'replace' => "http://sourceforge.net/projects/libdv/files" ),
+ 
+    array( 'pkg'     => 'libmpeg2',
+           'match'   => '^.*$', 
+-'replace' => "http://libmpeg2.$sf/downloads.html" ),
++          'replace' => "http://libmpeg2.sourceforge.net/downloads.html" ),
+ 
+    array( 'pkg'     => 'libmpeg3',
+           'match'   => '^.*$', 
+@@ -80,7 +82,7 @@
+ 
+    array( 'pkg'     => 'libquicktime',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/libquicktime/files" ),
++          'replace' => "http://sourceforge.net/projects/libquicktime/files" ),
+ 
+    array( 'pkg'     => 'libsamplerate',
+           'match'   => '^.*$', 
+@@ -100,7 +102,7 @@
+ 
+    array( 'pkg'     => 'xine-lib',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/xine/files" ),
++          'replace' => "http://sourceforge.net/projects/xine/files" ),
+ 
+    array( 'pkg'     => 'xvidcore',
+           'match'   => '^.*$', 
+@@ -115,90 +117,7 @@
+           'replace' => "http://pkgs.fedoraproject.org/repo/pkgs/libcanberra" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+ 
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-//echo "=====line=$line\n";
+-//echo "=====slice=$slice\n";
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  
+-$book_index != "automoc4" && 
+-$book_index != "libcdio-paranoia" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-exec( "curl -L -s -m30 $url", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+   global $regex;
+@@ -207,7 +126,7 @@
+   global $current;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+-if ( $package == "x" ) return 0; // Daily snapshot for x264
++  if ( $package == "x" ) return 'daily'; // Daily snapshot for x264
+ 
+   // Fix up directory path
+   foreach ( $url_fix as $u )
+@@ -262,13 +181,13 @@
+         $position = strrpos( $dirpath, "/" );
+         $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+         $lines    = http_get_file( $dirpath . "/" );
+-return find_max( $lines, "/^\d\./", ":^(\d[\d\.]+)/.*$:" );
++        return find_max( $lines, "/^\d\./", ":^(\d[\d\.]+)/.*$:", TRUE );
+      }
+ 
+      // Directories are in the form of mmddyy :(
+@@ -360,14 +279,9 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+ Function get_pattern( $line )
+ {
+-global $start;
+-// Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      array( 'pkg'   => 'a52dec', 
+             'regex' => "/^.*a52dec-(\d[\d\.]+).*$/" ),
+@@ -381,9 +295,6 @@
+      array( 'pkg'   => 'libmpeg3', 
+             'regex' => "/^.*libmpeg3-(\d[\d\.]+).*$/" ),
+      
+-//array( 'pkg'   => 'libvpx', 
+-//       'regex' => "/^.*libvpx-v(\d[\d\.]+).*$/" ),
+-
+      array( 'pkg'   => 'libmad', 
+             'regex' => "/^.*libmad-(\d[\d\.]+[a-m]{0,1}).*$/" ),
+ 
+@@ -402,116 +313,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\..z$/",        "", $file ); // Remove .gz$/xz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-//echo "line=$line; pattern=$pattern\n";      
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-//echo "version=$version\n";
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapter $CHAPTER Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<div id='top'>
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-</div>
+-<table id='table'>>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-if ( $pkg == "libmusicbrainz"    ) $name = 'libmusicbrainz2';
+-if ( $pkg == "libmusicbrainz1"   ) $name = 'libmusicbrainz5';
+-if ( $pkg == "libvpx-v"          ) $name = 'libvpx';
+-if ( $pkg == "v"                 ) $name = 'fdk-aac';
+-if ( $pkg == "x"                 ) $name = 'x264';
+-if ( $pkg == "x"                 ) $vers[ $pkg ] = 'daily';
+-if ( $pkg == "x"                 ) $v = substr( $v, 4);
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ 
+@@ -520,24 +321,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index url=$url bver=$bver latest=";
++   echo "book index: $book_index $url $bver\n";
+ 
+    $v = get_packages( $book_index, $url );
+-echo "$v\n";
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter40.php
+===================================================================
+--- scripts/blfs-chapter40.php	(révision 15993)
++++ scripts/blfs-chapter40.php	(révision 15994)
+@@ -1,51 +1,40 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 40;
+-$START_PACKAGE ='mpg123';
+-$STOP_PACKAGE  ='libisofs';
+-$start         = false;
++include 'blfs-include.php';
+ 
+-$freedesk = "http://xorg.freedesktop.org/releases/individual";
+-$sf       = 'sourceforge.net';
++$CHAPTER       = '40';
++$CHAPTERS      = 'Chapters 40-42';
++$START_PACKAGE = 'mpg123';
++$STOP_PACKAGE  = 'libisofs';
+ 
+-$book = array();
+-$book_index = 0;
++$renames = array();
+ 
+-$vers = array();
++$ignores = array();
++$ignores[ 'freetts1' ] = '';
++$ignores[ 'Clearlooks' ] = '';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
+-// Special cases
+-$exceptions = array();
+ $regex = array();
+ $regex[ 'mpg123'    ] = "/^.*Download mpg123-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'lame'      ] = "/^.*Download (\d[\d\.]+\d) sources.*$/";
+ $regex[ 'freetts'   ] = "/^.*Download freetts-(\d[\d\.]+\d)-bin.*$/";
+ $regex[ 'gvolwheel' ] = "/^.*Download gvolwheel-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'cdrdao'    ] = "/^.*Download cdrdao-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'k3b'       ] = "/^.*Download k3b-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'pnmixer'   ] = "/^.*pnmixer-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'MPlayer'   ] = "/^.*MPlayer (\d[\d\.]+\d) release.*$/";
+ 
+-//$current="vlc";
+-$libreoffice = array();
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'mpg123',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/mpg123/files" ),
++          'replace' => "http://sourceforge.net/projects/mpg123/files" ),
+ 
+    array( 'pkg'     => 'lame',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/lame/files" ),
++          'replace' => "http://sourceforge.net/projects/lame/files" ),
+ 
+    array( 'pkg'     => 'freetts',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/freetts/files" ),
++          'replace' => "http://sourceforge.net/projects/freetts/files" ),
+ 
+    array( 'pkg'     => 'amarok',
+           'match'   => '^.*$', 
+@@ -53,7 +42,7 @@
+ 
+    array( 'pkg'     => 'gvolwheel',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gvolwheel/files" ),
++          'replace' => "http://sourceforge.net/projects/gvolwheel/files" ),
+ 
+    array( 'pkg'     => 'transcode',
+           'match'   => '^.*$', 
+@@ -65,11 +54,11 @@
+ 
+    array( 'pkg'     => 'xine-ui',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/xine/files/xine-ui" ),
++          'replace' => "http://sourceforge.net/projects/xine/files/xine-ui" ),
+ 
+    array( 'pkg'     => 'cdrdao',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/cdrdao/files" ),
++          'replace' => "http://sourceforge.net/projects/cdrdao/files" ),
+ 
+    array( 'pkg'     => 'pnmixer',
+           'match'   => '^.*$', 
+@@ -80,96 +69,7 @@
+           'replace' => "http://download.kde.org/stable/k3b" ),
+ 
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+ 
+-//echo "regex_match=$regex_match\n";
+-//echo "regex_replace=$regex_replace\n";
+-foreach ( $lines as $line )
+-{
+-//echo "line=$line\n";
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-//if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.]*$/", $slice ) ) continue; 
+-if ( "x$slice" == "x$line" ) continue; 
+-//echo "slice=$slice\n";
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80  &&  $book_index != "automoc4" ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-global $book_index;
+-exec( "curl -L -s -m30 -A 'Mozilla/5.0 (X11; Linux i686; rv:13.0)' $url", $dir );
+-$s   = implode( "\n", $dir );
+-if ( $book_index != "transcode" )
+-$dir = strip_tags( $s );
+-else 
+-$dir = $s;
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+   global $exceptions;
+@@ -177,7 +77,6 @@
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $libreoffice;
+ 
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+   if ( $book_index == "mplayer" ) return "daily";
+@@ -211,8 +110,6 @@
+   { 
+     // Get listing
+     $lines = http_get_file( "$dirpath/" );
+-//echo "dirpath=$dirpath\n";
+-//print_r($lines);
+   }
+   else // http
+   {
+@@ -256,21 +153,15 @@
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+-// Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      array( 'pkg'   => 'mpg123', 
+             'regex' => "/^.*mpg123-(\d[\d\.]+).*$/" ),
+@@ -284,136 +175,21 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $freedesk;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\..z$/",        "", $file ); // Remove .gz$/xz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-42 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-42 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-//if ( $pkg == "libmusicbrainz"    ) $name = 'libmusicbrainz2';
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@     @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-if ( $pkg == 'freetts1'   ) continue;
+-if ( $pkg == "Clearlooks" ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url \n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-chapter43.php
+===================================================================
+--- scripts/blfs-chapter43.php	(révision 15993)
++++ scripts/blfs-chapter43.php	(révision 15994)
+@@ -1,32 +1,28 @@
+ #! /usr/bin/php
+ <?php
+ 
+-$CHAPTER       = 43;
+-$START_PACKAGE ='cups';
+-$STOP_PACKAGE  ='xindy';
+-$start         = false;
+-$sf            = 'sourceforge.net';
++include 'blfs-include.php';
+ 
+-$vers = array();
+-$book = array();
+-$book_index = 0;
++$CHAPTER       = '43';
++$CHAPTERS      = 'Chapters 43-48';
++$START_PACKAGE = 'cups';
++$STOP_PACKAGE  = 'xindy';
+ 
+-date_default_timezone_set( "GMT" );
+-$date = date( "Y-m-d (D) H:i:s" );
++$renames = array();
++$ignores = array();
++$ignores[ 'texlive1' ] = '';
+ 
++//$current="biblatex-biber";  // For debugging
+ $regex = array();
+-$regex[ 'ghostscript-fonts-std' ] = 
+-"/^.*Download ghostscript-fonts-std-(\d[\d\.]+\d).tar.*$/";
+-//$regex[ 'gnu-gs-fonts-other' ] = 
+-//    "/^.*(\d[\d\.]+\d).*misc.*GPL.*$/";
+ $regex[ 'gutenprint'      ] = "/^.*Download gutenprint-(\d[\d\.]+\d).*$/";
+ $regex[ 'OpenSP'          ] = "/^.*Download OpenSP-(\d[\d\.]+\d).*$/";
+ $regex[ 'docbook-xsl-doc' ] = "/^.*Download docbook-xsl-(\d[\d\.]+\d).*$/";
+ $regex[ 'paps'            ] = "/^.*Download paps-(\d[\d\.]+\d).tar.*$/";
+ $regex[ 'biblatex'        ] = "/^.*Download biblatex-(\d[\d\.]+\d).*$/";
++$regex[ 'ghostscript-fonts-std' ] = 
++    "/^.*Download ghostscript-fonts-std-(\d[\d\.]+\d).tar.*$/";
+ 
+-//$current="gnu-gs-fonts-other";
+ $url_fix = array (
+ 
+    array( 'pkg'     => 'cups',
+@@ -39,23 +35,23 @@
+ 
+    array( 'pkg'     => 'ghostscript-fonts-std',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gs-fonts/files/gs-fonts" ),
++          'replace' => "http://sourceforge.net/projects/gs-fonts/files/gs-fonts" ),
+ 
+    array( 'pkg'     => 'gnu-gs-fonts-other',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gs-fonts/files/gs-fonts" ),
++          'replace' => "http://sourceforge.net/projects/gs-fonts/files/gs-fonts" ),
+ 
+    array( 'pkg'     => 'gutenprint',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/gimp-print/files" ),
++          'replace' => "http://sourceforge.net/projects/gimp-print/files" ),
+ 
+    array( 'pkg'     => 'OpenSP',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/openjade/files" ),
++          'replace' => "http://sourceforge.net/projects/openjade/files" ),
+ 
+    array( 'pkg'     => 'openjade',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/openjade/files/openjade" ),
++          'replace' => "http://sourceforge.net/projects/openjade/files/openjade" ),
+ 
+    array( 'pkg'     => 'docbook-xml',
+           'match'   => '^.*$', 
+@@ -63,11 +59,11 @@
+ 
+    array( 'pkg'     => 'docbook-xsl',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/docbook/files/docbook-xsl" ),
++          'replace' => "http://sourceforge.net/projects/docbook/files/docbook-xsl" ),
+ 
+    array( 'pkg'     => 'docbook-xsl-doc',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/docbook/files/docbook-xsl-doc" ),
++          'replace' => "http://sourceforge.net/projects/docbook/files/docbook-xsl-doc" ),
+ 
+    array( 'pkg'     => 'enscript',
+           'match'   => '^.*$', 
+@@ -79,109 +75,16 @@
+ 
+    array( 'pkg'     => 'paps',
+           'match'   => '^.*$', 
+-'replace' => "http://$sf/projects/paps/files" ),
+-#   array( 'pkg'     => 'texlive',
+-#          'match'   => '^.*$', 
+-#          'replace' => "http://www.ctan.org/tex-archive/systems/texlive/Source" ),
++          'replace' => "http://sourceforge.net/projects/paps/files" ),
+ );
+-//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+-function find_max( $lines, $regex_match, $regex_replace )
+-{
+-global $book_index;
+-$a = array();
+ 
+-foreach ( $lines as $line )
+-{
+-// Ensure we skip verbosity of NcFTP
+-if ( ! preg_match( $regex_match,   $line ) ) continue; 
+-if (   preg_match( "/NcFTP/",      $line ) ) continue;
+-if (   preg_match( "/Connecting/", $line ) ) continue;
+-if (   preg_match( "/Current/",    $line ) ) continue;
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-// Numbers and whitespace
+-if ( "x$slice" == "x$line" && ! preg_match( "/^\d[\d\.P-]*$/", $slice ) ) continue; 
+-// Skip minor versions in the 90s (most of the time)
+-list( $major, $minor, $micro, $rest ) = explode( ".", $slice . ".0.0.0.0" );
+-if ( $micro >= 80 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//----------------------------------------------------------
+-function find_even_max( $lines, $regex_match, $regex_replace )
+-{
+-$a = array();
+-foreach ( $lines as $line )
+-{
+-if ( ! preg_match( $regex_match, $line ) ) continue; 
+-
+-// Isolate the version and put in an array
+-$slice = preg_replace( $regex_replace, "$1", $line );
+-if ( "x$slice" == "x$line" && ! preg_match( "/^[\d\.]+/", $slice ) ) continue; 
+-
+-// Skip odd numbered minor versions
+-list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
+-if ( $minor % 2 == 1  ) continue;
+-if ( $minor     >= 90 ) continue;
+-array_push( $a, $slice );     
+-}
+-// SORT_NATURAL requires php-5.4.0 or later
+-rsort( $a, SORT_NATURAL );  // Max version is at the top
+-return ( isset( $a[0] ) ) ? $a[0] : 0;
+-}
+-//===========================================
+-function http_get_file( $url )
+-{
+-//echo "url=$url\n";
+-if (  ! preg_match( '/cups/', $url ) )
+-exec( "curl -L -s -tlsv1 -m30 -A Firefox $url", $dir );
+-else
+-exec( "wget -q --no-check-certificate -O - $url", $dir );
+-//exec( "curl -L -s -m30 -1 '$url'", $dir );
+-$s   = implode( "\n", $dir );
+-$dir = strip_tags( $s );
+-return explode( "\n", $dir );
+-}
+-//=====================================================
+-function max_parent( $dirpath, $prefix )
+-{
+-// First, remove a directory
+-$dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
+-$position = strrpos( $dirpath, "/" );
+-$dirpath  = substr ( $dirpath, 0, $position );
+-$lines = http_get_file( $dirpath );
+-$regex_match   = "#${prefix}[\d\.]+/#";
+-$regex_replace = "#^(${prefix}[\d\.]+)/.*$#";
+-$max           = find_max( $lines, $regex_match, $regex_replace );
+-return "$dirpath/$max"; 
+-}
+-/////////////////////////////////////////////////////////////////
+ function get_packages( $package, $dirpath )
+ {
+   global $regex;
+   global $book_index;
+   global $url_fix;
+   global $current;
+-global $libreoffice;
+ 
+-//if ( $book_index == "psutils" ) return 0;
+   if ( isset( $current ) && $book_index != "$current" ) return 0;
+ 
+   // These are constant - have not changed in 10 years
+@@ -216,7 +119,7 @@
+         }
+      }
+   }
+-//echo "dirpath=$dirpath\n";
+   // Check for ftp
+   if ( preg_match( "/^ftp/", $dirpath ) ) 
+   { 
+@@ -226,17 +129,13 @@
+          $position = strrpos( $dirpath, "/" );
+          $dirpath  = substr ( $dirpath, 0, $position );  // Up 1
+          $dirs     = http_get_file( "$dirpath/" );
+-//echo "dirpath=$dirpath\n";
+-//print_r($dirs);
+-$dir = find_max( $dirs, "/20\d\d/", "/^.*(20\d\d).*$/" );
++         $dir      = find_max( $dirs, "/20\d\d/", "/^.*(20\d\d).*$/" );
+          $lines    = http_get_file( "$dirpath/$dir/" );
+          return find_max( $lines, "/texlive-/", "/^.*texlive-(\d+).*$/" );
+      }
+ 
+     // Get listing
+-#exec( "echo 'ls -1;bye' | ncftp $dirpath/", $lines );
+     $lines = http_get_file( "$dirpath/" );
+-//print_r($lines);
+   }
+   else // http
+   {
+@@ -295,21 +193,16 @@
+       return find_max( $lines, "/mupdf/", "/^.*$package-([\d\.]+)-source.tar.*$/" );
+ 
+   if ( $package == "biblatex-biber" )
+-return find_max( $lines, "/\.\d+/", "/^\s*([\d\.]+)$/" );
++      return find_max( $lines, "/$package/", "/^.*$package-([\d\.]+).tar.*$/" );
+ 
+   // Most packages are in the form $package-n.n.n
+   // Occasionally there are dashes (e.g. 201-1)
+   $max = find_max( $lines, "/$package/", "/^.*$package-([\d\.]*\d)\.tar.*$/" );
+   return $max;
+ }
+-//********************************************************
+-Function get_pattern( $line )
++function get_pattern( $line )
+ {
+-global $start;
+-// Set up specific patter matches for extracting book versions
+-$match = array();
+    $match = array(
+      array( 'pkg'   => 'a2ps', 
+             'regex' => "/^.*a2ps-(\d[\d\.]+).*$/" ),
+@@ -319,9 +212,6 @@
+      
+      array( 'pkg'   => 'psutils', 
+             'regex' => "/^.*psutils-(p\d[\d\.]+).*$/" ),
+-array( 'pkg'   => 'install-tl-unx', 
+-'regex' => "/(unversioned)/" ),
+    );
+ 
+    foreach( $match as $m )
+@@ -335,119 +225,6 @@
+    return "/\D*(\d.*\d)\D*$/";
+ }
+ 
+-function get_current()
+-{
+-global $vers;
+-global $book;
+-global $START_PACKAGE;
+-global $STOP_PACKAGE;
+-global $start;
+-$wget_file = "/home/bdubbs/public_html/blfs-book-xsl/wget-list";
+-$contents = file_get_contents( $wget_file );
+-$wget  = explode( "\n", $contents );
+-foreach ( $wget as $line )
+-{
+-if ( $line == "" ) continue;
+-$file = basename( $line );
+-$url  = dirname ( $line );
+-$file = preg_replace( "/\.tar\..z.*$/", "", $file ); // Remove .tar.?z*$
+-$file = preg_replace( "/\.tar$/",       "", $file ); // Remove .tar$
+-$file = preg_replace( "/\..z$/",        "", $file ); // Remove .gz$/xz$
+-$file = preg_replace( "/\.orig$/",      "", $file ); // Remove .orig$
+-$file = preg_replace( "/\.src$/",       "", $file ); // Remove .src$
+-$file = preg_replace( "/\.tgz$/",       "", $file ); // Remove .tgz$
+-if ( preg_match( "/patch$/", $file         ) ) continue; // Skip patches
+-$pattern = get_pattern( $line );
+-
+-$version = preg_replace( $pattern, "$1", $file );   // Isolate version
+-$version = preg_replace( "/^-/", "", $version );    // Remove leading #-
+-if ( $version == "install-tl-unx" ) $version = "Unversioned";
+-if ( $version == "biblatex-biber" ) 
+-{
+-$position = strrpos( $url, "/" );
+-$version  = substr ( $url, $position + 1 ); 
+-$url      = substr ( $url, 0, $position );
+-$file    .= $version;
+-}
+-$basename = strstr( $file, $version, true );
+-$basename = rtrim( $basename, "-" );
+-if ( $version == "Unversioned" ) $basename = "install-tl-unx";
+-if ( $basename == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-$index = $basename;
+-while ( isset( $book[ $index ] ) ) $index .= "1";
+-
+-if ( $index == "texlive1" ) continue;
+-$book[ $index ] = array( 'basename' => $basename,
+-'url'      => $url, 
+-'version'  => $version );
+-if ( preg_match( "/$STOP_PACKAGE$/", $line ) ) break;
+-}
+-}
+-function html()
+-{
+-global $CHAPTER;
+-global $book;
+-global $date;
+-global $vers;
+-$leftnav = file_get_contents( 'leftnav.html' );
+-$f = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+-<head>
+-<title>BLFS Chapters $CHAPTER-48 Package Currency Check - $date</title>
+-<link rel='stylesheet' href='currency.css' type='text/css' />
+-</head>
+-<body>
+-$leftnav
+-<h1>BLFS Chapters $CHAPTER-48 Package Currency Check</h1>
+-<h2>As of $date GMT</h2>
+-<table>
+-<tr><th>BLFS Package</th> <th>BLFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
+-// Get the latest version of each package
+-foreach ( $vers as $pkg => $v )
+-{
+-$v    = $book[ $pkg ][ 'version' ];  // book version
+-$cv   = $vers[ $pkg ];               // web version
+-$flag = ( "x$cv" != "x$v" ) ? "*" : "";
+-if ( $v == "" ) $vers[ $pkg ] = "";
+-
+-$name = $pkg;
+-$classtype = isset( $book[ $pkg ][ 'indent' ] ) ? "indent" : "";
+-$f .= "<tr><td class='$classtype'>$name</td>";
+-$f .= "<td>$v</td>";
+-$f .= "<td>${vers[ $pkg ]}</td>";
+-$f .= "<td class='center'>$flag</td></tr>\n";
+-}
+-$f .= "</table>
+-</body>
+-</html>\n";
+-file_put_contents( "/home/bdubbs/public_html/chapter$CHAPTER.html", $f );
+-}
+ get_current();  // Get what is in the book
+ 
+ // Get latest version for each package 
+@@ -455,24 +232,14 @@
+ {
+    $book_index = $pkg; 
+ 
+-if ( $book_index == $START_PACKAGE ) $start = true;
+-if ( ! $start ) continue;
+-// Skip things we don't want
+-//if ( preg_match( "/rpcnis-headers/", $pkg ) ) continue;
+    $base = $data[ 'basename' ];
+    $url  = $data[ 'url' ];
+    $bver = $data[ 'version' ];
+ 
+-echo "book index: $book_index  bver=$bver url=$url \n";
++   echo "book index: $book_index $bver $url\n";
+ 
+    $v = get_packages( $book_index, $url );
+    $vers[ $book_index ] = $v;
+-// Stop at the end of the chapter 
+-if ( $book_index == $STOP_PACKAGE ) break; 
+ }
+ 
+ html();  // Write html output
+
+Index: scripts/blfs-include.php
+===================================================================
+--- scripts/blfs-include.php	(révision 15993)
++++ scripts/blfs-include.php	(révision 15994)
+@@ -156,6 +156,13 @@
+       if ( $basename == $START_PACKAGE ) $start = true;
+       if ( ! $start ) continue;
+ 
++      // Custom for Chapter 48
++      if ( $version == "install-tl-unx" ) 
++      {
++        $version = "Unversioned";
++        $basename = "install-tl-unx";
++      }
+       $index = $basename;
+       while ( isset( $book[ $index ] ) ) $index .= "1";
+ 
+@@ -179,6 +186,7 @@
+    global $date;
+    global $vers;
+    global $CHAPTER;
++   global $CHAPTERS;
+    global $HTML_DIR;
+    global $renames;
+    global $ignores;
+@@ -194,7 +202,7 @@
+ </head>
+ <body>
+ $leftnav
+-<h1>BLFS Chapter $CHAPTER Package Currency Check</h1>
++<h1>BLFS $CHAPTERS Package Currency Check</h1>
+ <h2>As of $date GMT</h2>
+ 
+ <table>
+

Added: trunk/blfs/traduc/commits/r15995.txt
===================================================================
--- trunk/blfs/traduc/commits/r15995.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15995.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,49 @@
+Révision 15995
+
+fichiers modifiés :
+   general/sysutils/unzip.xml
+   general/sysutils/pax.xml
+   general/sysutils/p7zip.xml
+   general/sysutils/usbutils.xml
+   general/sysutils/unrar.xml
+   general/sysutils/cpio.xml
+   general/genlib/libusb.xml
+   introduction/welcome/changelog.xml
+   networking/netlibs/libnl.xml
+   networking/netprogs/net-tools.xml
+   networking/netprogs/wireless-tools.xml
+
+Log :
+More GCC5 Tags Removed non-existent unzip test suite
+
+Le robot a traité 81 % du commit anglais
+Index: general/sysutils/unzip.xml
+===================================================================
+--- general/sysutils/unzip.xml	(révision 15994)
++++ general/sysutils/unzip.xml	(révision 15995)
+@@ -183,8 +183,8 @@
+ 
+ <screen><userinput>make -f unix/Makefile generic</userinput></screen>
+ 
+-<para>To test the results, issue: <command>make check</command>.</para>
++    <para> This package does not come with a test suite. </para>
++    
+     <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+ 
+ <screen role="root"><userinput>make prefix=/usr MANDIR=/usr/share/man/man1 \
+
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15994)
++++ introduction/welcome/changelog.xml	(révision 15995)
+@@ -47,6 +47,9 @@
+     <listitem>
+       <para>May 18th, 2015</para>
+       <itemizedlist>
++	<listitem>
++	  <para>[renodr] - Removed a non-existent test suite from unzip. </para>
++	</listitem>
+         <listitem>
+           <para>[fernando] - Update to feh-2.13. Fixes
+           <ulink url="&blfs-ticket-root;6517">#6517</ulink>.</para>
+

Added: trunk/blfs/traduc/commits/r15996.txt
===================================================================
--- trunk/blfs/traduc/commits/r15996.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15996.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,24 @@
+Révision 15996
+
+fichiers modifiés :
+   networking/netprogs/wget.xml
+
+Log :
+Really remove openssl from recommended wget instructions
+
+Le robot a traité 0 % du commit anglais
+Index: networking/netprogs/wget.xml
+===================================================================
+--- networking/netprogs/wget.xml	(révision 15995)
++++ networking/netprogs/wget.xml	(révision 15996)
+@@ -104,8 +104,7 @@
+     </para>
+ 
+ <screen><userinput>./configure --prefix=/usr      \
+---sysconfdir=/etc  \
+---with-ssl=openssl &&
++            --sysconfdir=/etc  &&
+ make</userinput></screen>
+ 
+     <para>
+

Added: trunk/blfs/traduc/commits/r15997.txt
===================================================================
--- trunk/blfs/traduc/commits/r15997.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15997.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,84 @@
+Révision 15997
+
+fichiers modifiés :
+M       scripts/README
+M       scripts/update-blfs-currency.sh
+M       scripts/summ-blfs.php
+M       scripts/summ-blfs-test.php
+
+Log :
+Minor fixes for the currency scrypts.
+
+Le robot a traité 8 % du commit anglais
+Index: scripts/README
+===================================================================
+--- scripts/README	(révision 15996)
++++ scripts/README	(révision 15997)
+@@ -17,10 +17,17 @@
+ 
+ For example:
+ 
+-WGET_DIR=/home/bdubbs/public_html/blfs-book-xsl/
++cat > /etc/profile.d/blfs-currency.sh << "EOF"
++# Begin /etc/profile.d/blfs-currency.sh
+ HTML_DIR=/home/bdubbs/public_html/
++WGET_DIR=$HTML_DIR/blfs-book-xsl/
+ BLFS_DIR=/home/bdubbs/BLFS/trunk/
++export HTML_DIR WGET_DIR BLFS_DIR
+ 
++# End /etc/profile.d/blfs-currency.sh
++EOF
+ The scripts are numbered according to the BLFS chapter where they start. 
+ They cover one or more BLFS chapters according to the number of
+ packages in the chapters.
+
+Index: scripts/summ-blfs.php
+===================================================================
+--- scripts/summ-blfs.php	(révision 15996)
++++ scripts/summ-blfs.php	(révision 15997)
+@@ -37,7 +37,12 @@
+ }
+ 
+ # Get package info
+-exec( "grep '\*' /home/bdubbs/public_html/chapter*.html", $diff );
++// HTML_DIR       environment variable -- where to put html output
++$d = getenv( 'HTML_DIR' );
++$HTML_DIR = ($d) ? $d : '.';
++exec( "grep '\*' $HTML_DIR/chapter*.html", $diff );
+ $d = implode( "\n", $diff );
+ 
+ $file = preg_replace( "/<\/td><td>/"   , " "        ,   $d    );
+
+Index: scripts/summ-blfs-test.php
+===================================================================
+--- scripts/summ-blfs-test.php	(révision 15996)
++++ scripts/summ-blfs-test.php	(révision 15997)
+@@ -37,7 +37,12 @@
+ }
+ 
+ # Get package info
+-exec( "grep '\*' /home/bdubbs/public_html/chapter*.html", $diff );
++// HTML_DIR       environment variable -- where to put html output
++$d = getenv( 'HTML_DIR' );
++$HTML_DIR = ($d) ? $d : '.';
++exec( "grep '\*' $HTML_DIR/chapter*.html", $diff );
+ $d = implode( "\n", $diff );
+ 
+ $file = preg_replace( "/<\/td><td>/"   , " "        ,   $d    );
+
+Index: scripts/update-blfs-currency.sh
+===================================================================
+--- scripts/update-blfs-currency.sh	(révision 15996)
++++ scripts/update-blfs-currency.sh	(révision 15997)
+@@ -1,8 +1,8 @@
+ #! /bin/sh
+-cd /home/bdubbs/BLFS/BOOK
++cd "$BLFS_DIR"
+ svn up
+ make wget-list
+-cd /home/bdubbs
++cd ../scripts
+ for c in blfs-chapter*.php; do
+   echo -e "\nChapter $c\n"
+   php $c | tee /tmp/currency.log
+

Added: trunk/blfs/traduc/commits/r15998.txt
===================================================================
--- trunk/blfs/traduc/commits/r15998.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15998.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,88 @@
+Révision 15998
+
+fichiers modifiés :
+   general.ent
+   introduction/welcome/changelog.xml
+   postlfs/security/gnupg2.xml
+
+Log :
+GnuPG-2.1.4: warning about upgrading to gnupg version 2.1 and remove "--disable-ldap: This switch is necessary, if OpenLDAP-2.4.40 is not installed. Move OpenLDAP-2.4.40 to Optional". Changelog: replace some tabs by spaces and reformat.
+
+Le robot a traité 23 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15997)
++++ introduction/welcome/changelog.xml	(révision 15998)
+@@ -45,12 +45,23 @@
+ -->
+ 
+     <listitem>
++      <para>May 19th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>GnuPG-2.1.4: warning about upgrading to gnupg version 2.1 and
++          remove "--disable-ldap: This switch is necessary, if OpenLDAP-2.4.40
++          is not installed". Move OpenLDAP-2.4.40 to Optional.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 18th, 2015</para>
+       <itemizedlist>
+-<listitem>
+-  <para>[renodr] - Removed a non-existent test suite from unzip. </para>
+-</listitem>
+         <listitem>
++          <para>[renodr] - Removed a non-existent test suite from unzip.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to feh-2.13. Fixes
+           <ulink url="&blfs-ticket-root;6517">#6517</ulink>.</para>
+         </listitem>
+
+Index: postlfs/security/gnupg2.xml
+===================================================================
+--- postlfs/security/gnupg2.xml	(révision 15997)
++++ postlfs/security/gnupg2.xml	(révision 15998)
+@@ -73,7 +73,6 @@
+ 
+     <bridgehead renderas="sect4">Recommended</bridgehead>
+     <para role="recommended">
+-<xref linkend="openldap"/> and
+       <xref linkend="pinentry"/> (Run-time requirement for most of
+       the package's functionality)
+     </para>
+@@ -82,6 +81,7 @@
+     <para role="optional">
+       <xref linkend="curl"/>,
+       <xref linkend="libusb-compat"/>,
++      <xref linkend="openldap"/>,
+       an <xref linkend="server-mail"/>,
+       <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>), and
+       <ulink url="http://www.chiark.greenend.org.uk/~ian/adns/">GNU
+@@ -96,6 +96,18 @@
+   <sect2 role="installation">
+     <title>Installation of GnuPG</title>
+ 
++    <warning>
++      <para>
++        If you are upgrading from gnupg prior to version 2.1, be sure to backup
++        <filename class="directory">~/.gnupg</filename>, because some
++        additional configuration will probably be necessary, and you could
++        lose your keys. You can find instructions at
++        <ulink url="http://jo-ke.name/wp/?p=111"></ulink> and
++        <ulink url="https://wiki.archlinux.org/index.php/GnuPG#.22Lost.22_keys.2C_upgrading_to_gnupg_version_2.1"></ulink>.
++      </para>
++    </warning>
+     <para>Install <application>GnuPG</application> by running the following
+     commands:</para>
+ 
+@@ -160,8 +172,6 @@
+     <para><parameter>--enable-symcryptrun</parameter>: This switch enables
+     building the symcryptrun program.</para>
+ 
+-<para><option>--disable-ldap</option>: This switch is necessary, if <xref linkend="openldap"/> is not installed.</para>
+   </sect2>
+ 
+   <sect2 role="content">
+

Added: trunk/blfs/traduc/commits/r15999.txt
===================================================================
--- trunk/blfs/traduc/commits/r15999.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r15999.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,48 @@
+Révision 15999
+
+fichiers modifiés :
+   general/sysutils/unzip.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Revert modification by Douglas: there is a test suite for unzip.
+
+Le robot a traité 0 % du commit anglais
+Index: general/sysutils/unzip.xml
+===================================================================
+--- general/sysutils/unzip.xml	(révision 15998)
++++ general/sysutils/unzip.xml	(révision 15999)
+@@ -183,7 +183,7 @@
+ 
+ <screen><userinput>make -f unix/Makefile generic</userinput></screen>
+ 
+-<para> This package does not come with a test suite. </para>
++    <para>To test the results, issue: <command>make check</command>.</para>
+     
+     <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+ 
+
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 15998)
++++ introduction/welcome/changelog.xml	(révision 15999)
+@@ -48,10 +48,15 @@
+       <para>May 19th, 2015</para>
+       <itemizedlist>
+         <listitem>
+-<para>GnuPG-2.1.4: warning about upgrading to gnupg version 2.1 and
+-remove "--disable-ldap: This switch is necessary, if OpenLDAP-2.4.40
+-is not installed". Move OpenLDAP-2.4.40 to Optional.</para>
++          <para>[fernando] - Revert modification by Douglas: there is a test
++          suite for unzip.</para>
+         </listitem>
++        <listitem>
++          <para>[fernando] - GnuPG-2.1.4: warning about upgrading to gnupg
++          version 2.1 and remove "--disable-ldap: This switch is necessary, if
++          OpenLDAP-2.4.40 is not installed". Move OpenLDAP-2.4.40 to
++          Optional.</para>
++        </listitem>
+       </itemizedlist>
+     </listitem>
+ 
+

Added: trunk/blfs/traduc/commits/r16000.txt
===================================================================
--- trunk/blfs/traduc/commits/r16000.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16000.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,24 @@
+Révision 16000
+
+fichiers modifiés :
+M       scripts/blfs-chapter05.php
+   general/genlib/libgpg-error.xml
+   general/genlib/libksba.xml
+
+Log :
+Currency Scripts: replace LVM. by LVM (remove the dot). tags for gcc5.
+
+Le robot a traité 68 % du commit anglais
+Index: scripts/blfs-chapter05.php
+===================================================================
+--- scripts/blfs-chapter05.php	(révision 15999)
++++ scripts/blfs-chapter05.php	(révision 16000)
+@@ -9,6 +9,7 @@
+ $STOP_PACKAGE  = 'xfsprogs';
+ 
+ $renames = array();
++$renames[ 'LVM.' ] = 'LVM';
+ $ignores = array();
+ 
+ //$current="jfsutils";   // For debugging
+

Added: trunk/blfs/traduc/commits/r16001.txt
===================================================================
--- trunk/blfs/traduc/commits/r16001.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16001.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,37 @@
+Révision 16001
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   multimedia/cdwriteutils/libisofs.xml
+   multimedia/cdwriteutils/libburn.xml
+   multimedia/cdwriteutils/libisoburn.xml
+   packages.ent
+
+Log :
+Update to libburn-1.4.0. Update to libisofs-1.4.0. Update to libisoburn-1.4.0.
+
+Le robot a traité 75 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16000)
++++ introduction/welcome/changelog.xml	(révision 16001)
+@@ -48,6 +48,18 @@
+       <para>May 19th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to libisoburn-1.4.0. Fixes
++          <ulink url="&blfs-ticket-root;6520">#6520</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to libisofs-1.4.0. Fixes
++          <ulink url="&blfs-ticket-root;6519">#6519</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to libburn-1.4.0. Fixes
++          <ulink url="&blfs-ticket-root;6518">#6518</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Revert modification by Douglas: there is a test
+           suite for unzip.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r16002.txt
===================================================================
--- trunk/blfs/traduc/commits/r16002.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16002.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,113 @@
+Révision 16002
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   xfce/core/thunar.xml
+   xfce/core/xfwm4.xml
+   xfce/core/xfdesktop.xml
+   xfce/apps/xfburn.xml
+   multimedia/cdwriteutils/libburn.xml
+   multimedia/cdwriteutils/libisoburn.xml
+   multimedia/cdwriteutils/libisofs.xml
+   packages.ent
+
+Log :
+Tag for gcc5: libburn-1.4.0, libisofs-1.4.0 and libisoburn-1.4.0. Update to xfwm4-4.12.3. Update to xfburn-0.5.4. Update to Update to Thunar-1.6.9. Update to xfdesktop-4.12.2.
+
+Le robot a traité 60 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16001)
++++ introduction/welcome/changelog.xml	(révision 16002)
+@@ -48,6 +48,22 @@
+       <para>May 19th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to xfdesktop-4.12.2. Fixes
++          <ulink url="&blfs-ticket-root;6515">#6515</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to Thunar-1.6.9. Fixes
++          <ulink url="&blfs-ticket-root;6514">#6514</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to xfburn-0.5.4. Fixes
++          <ulink url="&blfs-ticket-root;6513">#6513</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[fernando] - Update to xfwm4-4.12.3. Fixes
++          <ulink url="&blfs-ticket-root;6512">#6512</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to libisoburn-1.4.0. Fixes
+           <ulink url="&blfs-ticket-root;6520">#6520</ulink>.</para>
+         </listitem>
+
+Index: xfce/apps/xfburn.xml
+===================================================================
+--- xfce/apps/xfburn.xml	(révision 16001)
++++ xfce/apps/xfburn.xml	(révision 16002)
+@@ -84,7 +84,7 @@
+ 
+     <bridgehead renderas="sect4">Optional</bridgehead>
+     <para role="optional">
+-<xref linkend="gst-plugins-base"/>
++      <xref linkend="gst10-plugins-base"/>
+     </para>
+ 
+     <para condition="html" role="usernotes">
+@@ -104,7 +104,7 @@
+ make</userinput></screen>
+ 
+     <para>
+-To test the results, issue: <command>make check</command>.
++      This package does not come with a test suite.
+     </para>
+ 
+     <para>
+
+Index: xfce/core/thunar.xml
+===================================================================
+--- xfce/core/thunar.xml	(révision 16001)
++++ xfce/core/thunar.xml	(révision 16002)
+@@ -138,14 +138,6 @@
+ 
+   </sect2>
+ 
+-<sect2 role="commands">
+-<title>Command Explanations</title>
+-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+-href="../../xincludes/gtk-doc-rebuild.xml"/>
+-</sect2>
+   <sect2 role="content">
+     <title>Contents</title>
+ 
+@@ -166,8 +158,7 @@
+           /etc/xdg/Thunar,
+           /usr/include/thunarx-2,
+           /usr/lib/{Thunar,thunarx-2},
+-/usr/share/doc/Thunar-&thunar-version;,
+-/usr/share/gtk-doc/html/thunarx, and
++          /usr/share/doc/Thunar-&thunar-version;, and
+           /usr/share/{pixmaps,}/Thunar
+         </seg>
+       </seglistitem>
+
+Index: xfce/core/xfwm4.xml
+===================================================================
+--- xfce/core/xfwm4.xml	(révision 16001)
++++ xfce/core/xfwm4.xml	(révision 16002)
+@@ -131,10 +131,8 @@
+           None
+         </seg>
+         <seg>
+-/usr/share/themes/Daloa,
+-/usr/share/themes/Default,
+-/usr/share/themes/Kokodi,
+-/usr/share/themes/Moheli and
++          /usr/lib/xfce4/xfwm4,
++          /usr/share/themes/{Daloa,Default{,-hdpi,-xhdpi},Kokodi,Moheli}, and
+           /usr/share/xfwm4
+         </seg>
+       </seglistitem>
+

Added: trunk/blfs/traduc/commits/r16003.txt
===================================================================
--- trunk/blfs/traduc/commits/r16003.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16003.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,49 @@
+Révision 16003
+
+fichiers modifiés :
+   general.ent
+   general/sysutils/unzip.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Revert modification by Fernando which reverted another one by Douglas: I was wrong and the test suite for unzip fails for target generic, introduced by Ken, that I failed to notice. Apologies to Douglas, Ken and everybody else for the problematic noise.
+
+Le robot a traité 35 % du commit anglais
+Index: general/sysutils/unzip.xml
+===================================================================
+--- general/sysutils/unzip.xml	(révision 16002)
++++ general/sysutils/unzip.xml	(révision 16003)
+@@ -183,7 +183,7 @@
+ 
+ <screen><userinput>make -f unix/Makefile generic</userinput></screen>
+ 
+-<para>To test the results, issue: <command>make check</command>.</para>
++    <para>The test suite does not work for present target <quote>generic</quote>.</para>
+     
+     <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+ 
+
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16002)
++++ introduction/welcome/changelog.xml	(révision 16003)
+@@ -45,6 +45,19 @@
+ -->
+ 
+     <listitem>
++      <para>May 20th, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Revert modification by Fernando which reverted
++          another one by Douglas: I was wrong and the test suite for unzip
++          fails for target generic, introduced by Ken, that I failed to notice.
++          Apologies to Douglas, Ken and everybody else for the problematic
++          noise.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 19th, 2015</para>
+       <itemizedlist>
+         <listitem>
+

Added: trunk/blfs/traduc/commits/r16004.txt
===================================================================
--- trunk/blfs/traduc/commits/r16004.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16004.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,23 @@
+Révision 16004
+
+fichiers modifiés :
+M       scripts/blfs-chapter05.php
+
+Log :
+Minor script fix
+
+Le robot a traité 0 % du commit anglais
+Index: scripts/blfs-chapter05.php
+===================================================================
+--- scripts/blfs-chapter05.php	(révision 16003)
++++ scripts/blfs-chapter05.php	(révision 16004)
+@@ -9,7 +9,7 @@
+ $STOP_PACKAGE  = 'xfsprogs';
+ 
+ $renames = array();
+-$renames[ 'LVM.' ] = 'LVM';
++$renames[ 'LVM2.' ] = 'LVM2';
+ $ignores = array();
+ 
+ //$current="jfsutils";   // For debugging
+

Added: trunk/blfs/traduc/commits/r16005.txt
===================================================================
--- trunk/blfs/traduc/commits/r16005.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16005.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,27 @@
+Révision 16005
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   networking/netutils/whois.xml
+   packages.ent
+
+Log :
+Update to whois_5.2.8.
+
+Le robot a traité 65 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16004)
++++ introduction/welcome/changelog.xml	(révision 16005)
+@@ -48,6 +48,10 @@
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to whois_5.2.8. Fixes
++          <ulink url="&blfs-ticket-root;6522">#6522</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Revert modification by Fernando which reverted
+           another one by Douglas: I was wrong and the test suite for unzip
+           fails for target generic, introduced by Ken, that I failed to notice.
+

Added: trunk/blfs/traduc/commits/r16006.txt
===================================================================
--- trunk/blfs/traduc/commits/r16006.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16006.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,28 @@
+Révision 16006
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   networking/netutils/whois.xml
+   postlfs/filesystems/lvm2.xml
+   packages.ent
+
+Log :
+Update to whois_5.2.8. tag Whois-5.2.8 for gcc5.
+
+Le robot a traité 74 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16005)
++++ introduction/welcome/changelog.xml	(révision 16006)
+@@ -48,6 +48,10 @@
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to LVM2.2.02.120. Fixes
++          <ulink url="&blfs-ticket-root;6508">#6508</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to whois_5.2.8. Fixes
+           <ulink url="&blfs-ticket-root;6522">#6522</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r16007.txt
===================================================================
--- trunk/blfs/traduc/commits/r16007.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16007.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,63 @@
+Révision 16007
+
+fichiers modifiés :
+   packages.ent
+   x/lib/webkitgtk2.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to webkitgtk-2.4.9.
+
+Le robot a traité 43 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16006)
++++ introduction/welcome/changelog.xml	(révision 16007)
+@@ -48,6 +48,10 @@
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to webkitgtk-2.4.9. Fixes
++          <ulink url="&blfs-ticket-root;6524">#6524</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to LVM2.2.02.120. Fixes
+           <ulink url="&blfs-ticket-root;6508">#6508</ulink>.</para>
+         </listitem>
+
+Index: x/lib/webkitgtk2.xml
+===================================================================
+--- x/lib/webkitgtk2.xml	(révision 16006)
++++ x/lib/webkitgtk2.xml	(révision 16007)
+@@ -129,17 +129,6 @@
+ 
+ <screen><userinput>sed -i '/generate-gtkdoc --rebase/s:^:# :' GNUmakefile.in</userinput></screen>
+ 
+-<para>Fix some code when building with glib-2.44 and later:</para>
+-<!-- Adding MediaPlayerPrivateGStreamerBase.cpp, according to:
+-http://pkgs.fedoraproject.org/cgit/webkitgtk3.git/plain/webkitgtk-2.4.8-gmutexlocker.patch?id=7433f334cc84866af5ef0b2c25ead931e6e603ea-->
+-<screen><userinput>pushd Source/WebCore/platform/graphics/gstreamer &&
+-sed -i 's/GMutexLocker /WebCore::&/'        \
+-MediaPlayerPrivateGStreamerBase.cpp \
+-VideoSinkGStreamer.cpp              \
+-WebKitWebSourceGStreamer.cpp        &&
+-popd</userinput></screen>
+     <para>
+       Upstream standard now is to link this package against <application>GTK+
+       3</application>. However, for backward compatibility, manu users need
+@@ -289,11 +278,9 @@
+           jsc-1 and jsc-3
+         </seg>
+         <seg>
+-libjavascriptcoregtk-1.0.so,
+-libjavascriptcoregtk-3.0.so,
+-libwebkit2gtk-3.0.so,
+-libwebkitgtk-1.0.so, and
+-libwebkitgtk-3.0.so
++          libjavascriptcoregtk-{1,3}.0.so,
++          libwebkit2gtk-3.0.so, and
++          libwebkitgtk-{1,3}.0.so
+         </seg>
+         <seg>
+           /usr/include/webkitgtk-{1,3}.0,
+

Added: trunk/blfs/traduc/commits/r16008.txt
===================================================================
--- trunk/blfs/traduc/commits/r16008.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16008.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,65 @@
+Révision 16008
+
+fichiers modifiés :
+   introduction/welcome/changelog.xml
+   multimedia/libdriv/soundtouch.xml
+   packages.ent
+
+Log :
+Update to soundtouch-1.9.0.
+
+Le robot a traité 40 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16007)
++++ introduction/welcome/changelog.xml	(révision 16008)
+@@ -48,6 +48,10 @@
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to soundtouch-1.9.0. Fixes
++          <ulink url="&blfs-ticket-root;6521">#6521</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to webkitgtk-2.4.9. Fixes
+           <ulink url="&blfs-ticket-root;6524">#6524</ulink>.</para>
+         </listitem>
+
+Index: multimedia/libdriv/soundtouch.xml
+===================================================================
+--- multimedia/libdriv/soundtouch.xml	(révision 16007)
++++ multimedia/libdriv/soundtouch.xml	(révision 16008)
+@@ -84,10 +84,8 @@
+       commands:
+     </para>
+ 
+-<screen><userinput>sed "s at AM_CONFIG_HEADER@AC_CONFIG_HEADERS at g" -i configure.ac &&
+-./bootstrap &&
+-./configure --prefix=/usr &&
++<screen><userinput>./bootstrap &&
++./configure --prefix=/usr --docdir=/usr/share/doc/soundtouch-&soundtouch-version; &&
+ make</userinput></screen>
+ 
+     <para>
+@@ -98,16 +96,16 @@
+       Now, as the <systemitem class="username">root</systemitem> user:
+     </para>
+ 
+-<screen role="root"><userinput>make pkgdocdir=/usr/share/doc/soundtouch-&soundtouch-version; install </userinput></screen>
++<screen role="root"><userinput>make install </userinput></screen>
+   </sect2>
+ 
+   <sect2 role="commands">
+     <title>Command Explanations</title>
+ 
+     <para>
+-<command>sed "s at AM_CONFIG_HEADER@AC_CONFIG_HEADERS at g"
+--i configure.ac</command>: This sed fixes some issues with
+-<application>Automake</application> 1.13 and later.
++      <option>--enable-openmp</option>: This switch adds support for running
++      the algorithms parallel in several CPU cores, in systems with multicore
++      processors.
+     </para>
+ 
+   </sect2>
+

Added: trunk/blfs/traduc/commits/r16009.txt
===================================================================
--- trunk/blfs/traduc/commits/r16009.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16009.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,69 @@
+Révision 16009
+
+fichiers modifiés :
+   x/installing/x7proto.xml
+   x/installing/x7app.xml
+   x/installing/x7lib.xml
+   general/prog/cmake.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Add GCC5 Tag for CMAKE Update to xvinfo-1.1.3 Update to kbproto-1.0.7 Update to libXt-1.1.5 Update to libXrender-0.9.9 Update to libxkbfile-1.0.9 Update to libXaw-1.0.13 Update to libpciaccess-0.13.4 Update to libfontenc-1.1.3 Update to libFS-1.0.7 Update to libXrandr-1.5.0 Update to randrproto-1.5.0
+
+Le robot a traité 71 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16008)
++++ introduction/welcome/changelog.xml	(révision 16009)
+@@ -48,6 +48,50 @@
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[renodr] - Update to xvinfo-1.1.3. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to kbproto-1.0.7. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libXt-1.1.5. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libXrender-0.9.9. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libxkbfile-1.0.9. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libXaw-1.0.13. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libpciaccess-0.13.4. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libfontenc-1.1.3. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libFS-1.0.7. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to libXrandr-1.5.0. Partially fixes
++          <ulink url="&blfs-ticket-root;6456">#6456</ulink>.</para>
++        </listitem>
++        <listitem>
++          <para>[renodr] - Update to randrproto-1.5.0. Fixes
++          <ulink url="&blfs-ticket-root;6511">#6511</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to soundtouch-1.9.0. Fixes
+           <ulink url="&blfs-ticket-root;6521">#6521</ulink>.</para>
+         </listitem>
+

Added: trunk/blfs/traduc/commits/r16010.txt
===================================================================
--- trunk/blfs/traduc/commits/r16010.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16010.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,9 @@
+Révision 16010
+
+fichiers modifiés :
+   general.ent
+
+Log :
+Test commit
+
+Le robot a traité 100 % du commit anglais

Added: trunk/blfs/traduc/commits/r16011.txt
===================================================================
--- trunk/blfs/traduc/commits/r16011.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16011.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,33 @@
+Révision 16011
+
+fichiers modifiés :
+   general.ent
+   packages.ent
+   server/databases/sqlite.xml
+   introduction/welcome/changelog.xml
+
+Log :
+Update to sqlite-3.8.10.2.
+
+Le robot a traité 75 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16010)
++++ introduction/welcome/changelog.xml	(révision 16011)
+@@ -45,6 +45,16 @@
+ -->
+ 
+     <listitem>
++      <para>May 21st, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - Update to sqlite-3.8.10.2. Fixes
++          <ulink url="&blfs-ticket-root;6525">#6525</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 20th, 2015</para>
+       <itemizedlist>
+         <listitem>
+

Added: trunk/blfs/traduc/commits/r16012.txt
===================================================================
--- trunk/blfs/traduc/commits/r16012.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16012.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,67 @@
+Révision 16012
+
+fichiers modifiés :
+   packages.ent
+   introduction/welcome/changelog.xml
+   xfce/apps/midori.xml
+   multimedia/videoutils/ffmpeg.xml
+
+Log :
+Update to ffmpeg-2.6.3. Tag midori-0.5.10 for gcc5.
+
+Le robot a traité 38 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16011)
++++ introduction/welcome/changelog.xml	(révision 16012)
+@@ -48,6 +48,10 @@
+       <para>May 21st, 2015</para>
+       <itemizedlist>
+         <listitem>
++          <para>[fernando] - Update to ffmpeg-2.6.3. Fixes
++          <ulink url="&blfs-ticket-root;6516">#6516</ulink>.</para>
++        </listitem>
++        <listitem>
+           <para>[fernando] - Update to sqlite-3.8.10.2. Fixes
+           <ulink url="&blfs-ticket-root;6525">#6525</ulink>.</para>
+         </listitem>
+
+Index: multimedia/videoutils/ffmpeg.xml
+===================================================================
+--- multimedia/videoutils/ffmpeg.xml	(révision 16011)
++++ multimedia/videoutils/ffmpeg.xml	(révision 16012)
+@@ -6,12 +6,10 @@
+   <!ENTITY ffmpeg-download-http "http://ffmpeg.org/releases/ffmpeg-&ffmpeg-version;.tar.bz2">
+   <!ENTITY ffmpeg-download-ftp  " ">
+   <!ENTITY ffmpeg-size          "7.5 MB">
+-with one core); additional 0.6 SBU for docs and 3.6 SBU to run the FATE
+-suite, after sample files are downloaded">
+ ]>
+ 
+ <sect1 id="ffmpeg" xreflabel="FFmpeg-&ffmpeg-version;">
+@@ -116,6 +114,7 @@
+       <xref linkend="openssl"/> or
+       <xref linkend="gnutls"/>,
+       <xref linkend="fontconfig"/>,
++      <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>) for PDF and PS documentation,
+       <xref linkend="v4l-utils"/>,
+       <ulink url="https://files.dyne.org/frei0r/snapshots/">frei0r</ulink>,
+       <ulink url="http://xhevc.com/en/hevc/decoder/download.jsp">HEVC/H.265</ulink>,
+@@ -138,7 +137,6 @@
+       <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
+       <ulink url="http://diracvideo.org/">Schroedinger</ulink>,
+ <!--      <ulink url="https://launchpad.net/schroedinger/">Schroedinger</ulink>,-->
+-<xref linkend="texlive"/> (or <xref linkend="tl-installer"/>) for PDF and PS documentation,
+       <ulink url="http://www.twolame.org/">TwoLAME</ulink>,
+       <ulink url="http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/">vo-aaenc</ulink>,
+       <ulink url="http://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc/">vo-amrwbenc</ulink>,
+@@ -264,7 +262,7 @@
+       To properly test the installation you must have <xref linkend="rsync"/>
+       installed and follow the instructions for the <ulink
+       url="http://www.ffmpeg.org/fate.html"> FFmpeg Automated Testing
+-Environment</ulink> (FATE). First, about 921 MB of sample files used to
++      Environment</ulink> (FATE). First, about 925 MB of sample files used to
+       run FATE are downloaded with the command:
+     </para>
+ 
+

Added: trunk/blfs/traduc/commits/r16013.txt
===================================================================
--- trunk/blfs/traduc/commits/r16013.txt	                        (rev 0)
+++ trunk/blfs/traduc/commits/r16013.txt	2015-05-22 12:46:30 UTC (rev 6865)
@@ -0,0 +1,63 @@
+Révision 16013
+
+fichiers modifiés :
+   general.ent
+   introduction/welcome/changelog.xml
+   postlfs/security/gnupg2.xml
+
+Log :
+GnuPG 2.1.3 and 4: openpgp tests might fail.
+
+Le robot a traité 31 % du commit anglais
+Index: introduction/welcome/changelog.xml
+===================================================================
+--- introduction/welcome/changelog.xml	(révision 16012)
++++ introduction/welcome/changelog.xml	(révision 16013)
+@@ -45,6 +45,16 @@
+ -->
+ 
+     <listitem>
++      <para>May 22st, 2015</para>
++      <itemizedlist>
++        <listitem>
++          <para>[fernando] - GnuPG 2.1.3 and 4: openpgp tests might fail. Fixes
++          <ulink url="&blfs-ticket-root;6479">#6479</ulink>.</para>
++        </listitem>
++      </itemizedlist>
++    </listitem>
++    <listitem>
+       <para>May 21st, 2015</para>
+       <itemizedlist>
+         <listitem>
+
+Index: postlfs/security/gnupg2.xml
+===================================================================
+--- postlfs/security/gnupg2.xml	(révision 16012)
++++ postlfs/security/gnupg2.xml	(révision 16013)
+@@ -98,16 +98,23 @@
+ 
+     <warning>
+       <para>
+-If you are upgrading from gnupg prior to version 2.1, be sure to backup
+-<filename class="directory">~/.gnupg</filename>, because some
+-additional configuration will probably be necessary, and you could
+-lose your keys. You can find instructions at
++        If you are upgrading from gnupg prior to version 2.1, upstream
++        developers recommend to backup
++        <filename class="directory">~/.gnupg</filename>, because some additional
++        configuration will probably be necessary, and you could lose your keys.
++        You can find instructions at
+         <ulink url="http://jo-ke.name/wp/?p=111"></ulink> and
+         <ulink url="https://wiki.archlinux.org/index.php/GnuPG#.22Lost.22_keys.2C_upgrading_to_gnupg_version_2.1"></ulink>.
+       </para>
+     </warning>
+ 
++    <para>If the top directory path where the source is unpacked contains
++    symbolic links, the openpgp tests might fail. If this is your case and
++    you wish to run the test suite, fix that with:</para>
++<screen><userinput>sed -e 's|\(GNUPGHOME\)=\$(abs_builddir)|\1=`/bin/pwd`|' \
++    -i tests/openpgp/Makefile.in</userinput></screen>
+     <para>Install <application>GnuPG</application> by running the following
+     commands:</para>
+ 
+

Modified: trunk/blfs/x/installing/mesalib.xml
===================================================================
--- trunk/blfs/x/installing/mesalib.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/installing/mesalib.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY mesalib-download-http " ">
   <!ENTITY mesalib-download-ftp  "ftp://ftp.freedesktop.org/pub/mesa/&mesalib-version;/mesa-&mesalib-version;.tar.xz">
-  <!ENTITY mesalib-md5sum        "26644437b6447fb3dbae50714a019797">
+  <!ENTITY mesalib-md5sum        "5e6e182fd9414b74b95c45b4eda99fb5">
   <!ENTITY mesalib-size          "6.7 Mo">
-  <!ENTITY mesalib-buildsize     "188 Mo">
-  <!ENTITY mesalib-time          "6.2 SBU">
+  <!ENTITY mesalib-buildsize     "228 Mo">
+  <!ENTITY mesalib-time          "7.8 SBU">
 ]>
 <sect1 id="mesalib" xreflabel="MesaLib-&mesalib-version;">
   <?dbhtml filename="mesalib.html"?>
@@ -110,18 +110,7 @@
     suivantes :</para>
 <screen>
 <userinput>autoreconf -fiv                            &&
-./configure CFLAGS='-O2' CXXFLAGS='-O2'    \
-            --prefix=$XORG_PREFIX          \
-            --sysconfdir=/etc              \
-            --enable-texture-float         \
-            --enable-gles1                 \
-            --enable-gles2                 \
-            --enable-osmesa                \
-            --enable-xa                    \
-            --enable-gbm                   \
-            --enable-glx-tls               \
-            --with-egl-platforms="drm,x11" \
-            --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" &&
+./configure CFLAGS='-O2' CXXFLAGS='-O2'                --prefix=$XORG_PREFIX                      --sysconfdir=/etc                          --enable-texture-float                     --enable-gles1                             --enable-gles2                             --enable-osmesa                            --enable-xa                                --enable-gbm                               --enable-glx-tls                           --with-egl-platforms="drm,x11"             --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" &&
 make</userinput>
 </screen>
     <para>

Modified: trunk/blfs/x/installing/x7app.xml
===================================================================
--- trunk/blfs/x/installing/x7app.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/installing/x7app.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -76,8 +76,8 @@
   <!ENTITY xset-md5sum                     "dcd227388b57487d543cab2fd7a602d7">
   <!ENTITY xsetroot-version                "1.1.1">
   <!ENTITY xsetroot-md5sum                 "7211b31ec70631829ebae9460999aa0b">
-  <!ENTITY xvinfo-version                  "1.1.2">
-  <!ENTITY xvinfo-md5sum                   "1fbd65e81323a8c0a4b5e24db0058405">
+  <!ENTITY xvinfo-version                  "1.1.3">
+  <!ENTITY xvinfo-md5sum                   "558360176b718dee3c39bc0648c0d10c">
   <!ENTITY xwd-version                     "1.0.6">
   <!ENTITY xwd-md5sum                      "6b5d48464c5f366e91efd08b62b12d94">
   <!ENTITY xwininfo-version                "1.1.3">
@@ -189,8 +189,7 @@
 <screen>
 <userinput>mkdir app &&
 cd app &&
-grep -v '^#' ../app-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c \
-    -B &xorg-download-http;/app/ &&
+grep -v '^#' ../app-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c     -B &xorg-download-http;/app/ &&
 md5sum -c ../app-&xorg-version;.md5</userinput>
 </screen>
   </sect2>
@@ -216,11 +215,11 @@
       line2="#  undef _XOPEN_SOURCE"
       line3="#  define _XOPEN_SOURCE 600"
       line4="#endif"
-      sed -i -e "s@#ifdef HAVE_CONFIG_H@$line1\n$line2\n$line3\n$line4\n\n&@" sys.c
+      sed -i -e "s@#ifdef HAVE_CONFIG_H@$line1n$line2n$line3n$line4nn&@" sys.c
       unset line1 line2 line3 line4
     ;;
     sessreg-* )
-      sed -e 's/\$(CPP) \$(DEFS)/$(CPP) -P $(DEFS)/' -i man/Makefile.in
+      sed -e 's/$(CPP) $(DEFS)/$(CPP) -P $(DEFS)/' -i man/Makefile.in
     ;;
   esac
   ./configure $XORG_CONFIG
@@ -238,7 +237,7 @@
   <sect2 role="commands">
     <title>Command Explanations</title>
     <para>
-      <parameter>sed -e 's/\$(CPP) \$(DEFS)/$(CPP) -P $(DEFS)/' -i
+      <parameter>sed -e 's/$(CPP) $(DEFS)/$(CPP) -P $(DEFS)/' -i
       man/Makefile.in</parameter>: avec <application>gcc-5</application> le comportement de
       <command>cpp</command> est modifié pour envoyer des numéros de lignes.
       Cela fait des commandes <application>sed</application> non terminée dans <filename>filenames.sed</filename>. Ajouter

Modified: trunk/blfs/x/installing/x7lib.xml
===================================================================
--- trunk/blfs/x/installing/x7lib.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/installing/x7lib.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -14,8 +14,8 @@
   <!ENTITY libX11-md5sum                   "2e36b73f8a42143142dda8129f02e4e0">
   <!ENTITY libXext-version                 "1.3.3">
   <!ENTITY libXext-md5sum                  "52df7c4c1f0badd9f82ab124fb32eb97">
-  <!ENTITY libFS-version                   "1.0.6">
-  <!ENTITY libFS-md5sum                    "a8a0dbd2299b2568d8c919883f5c8501">
+  <!ENTITY libFS-version                   "1.0.7">
+  <!ENTITY libFS-md5sum                    "d79d9fe2aa55eb0f69b1a4351e1368f7">
   <!ENTITY libICE-version                  "1.0.9">
   <!ENTITY libICE-md5sum                   "addfb1e897ca8079531669c7c7711726">
   <!ENTITY libSM-version                   "1.2.2">
@@ -22,26 +22,26 @@
   <!ENTITY libSM-md5sum                    "499a7773c65aba513609fe651853c5f3">
   <!ENTITY libXScrnSaver-version           "1.2.2">
   <!ENTITY libXScrnSaver-md5sum            "7a773b16165e39e938650bcc9027c1d5">
-  <!ENTITY libXt-version                   "1.1.4">
-  <!ENTITY libXt-md5sum                    "03149823ae57bb02d0cec90d5b97d56c">
+  <!ENTITY libXt-version                   "1.1.5">
+  <!ENTITY libXt-md5sum                    "8f5b5576fbabba29a05f3ca2226f74d3">
   <!ENTITY libXmu-version                  "1.1.2">
   <!ENTITY libXmu-md5sum                   "41d92ab627dfa06568076043f3e089e4">
   <!ENTITY libXpm-version                  "3.5.11">
   <!ENTITY libXpm-md5sum                   "769ee12a43611cdebd38094eaf83f3f0">
-  <!ENTITY libXaw-version                  "1.0.12">
-  <!ENTITY libXaw-md5sum                   "7446f5fba888672aad068b29c0928ba3">
+  <!ENTITY libXaw-version                  "1.0.13">
+  <!ENTITY libXaw-md5sum                   "e5e06eb14a608b58746bdd1c0bd7b8e3">
   <!ENTITY libXfixes-version               "5.0.1">
   <!ENTITY libXfixes-md5sum                "b985b85f8b9386c85ddcfe1073906b4d">
   <!ENTITY libXcomposite-version           "0.4.4">
   <!ENTITY libXcomposite-md5sum            "f7a218dcbf6f0848599c6c36fc65c51a">
-  <!ENTITY libXrender-version              "0.9.8">
-  <!ENTITY libXrender-md5sum               "2bd9a15fcf64d216e63b8d129e4f1f1c">
+  <!ENTITY libXrender-version              "0.9.9">
+  <!ENTITY libXrender-md5sum               "5db92962b124ca3a8147daae4adbd622">
   <!ENTITY libXcursor-version              "1.1.14">
   <!ENTITY libXcursor-md5sum               "1e7c17afbbce83e2215917047c57d1b3">
   <!ENTITY libXdamage-version              "1.1.4">
   <!ENTITY libXdamage-md5sum               "0cf292de2a9fa2e9a939aefde68fd34f">
-  <!ENTITY libfontenc-version              "1.1.2">
-  <!ENTITY libfontenc-md5sum               "ad2919764933e075bb0361ad5caa3d19">
+  <!ENTITY libfontenc-version              "1.1.3">
+  <!ENTITY libfontenc-md5sum               "0920924c3a9ebc1265517bdd2f9fde50">
   <!ENTITY libXfont-version                "1.5.1">
   <!ENTITY libXfont-md5sum                 "96f76ba94b4c909230bac1e2dcd551c4">
   <!ENTITY libXft-version                  "2.3.2">
@@ -50,8 +50,8 @@
   <!ENTITY libXi-md5sum                    "9c4a69c34b19ec1e4212e849549544cb">
   <!ENTITY libXinerama-version             "1.1.3">
   <!ENTITY libXinerama-md5sum              "9336dc46ae3bf5f81c247f7131461efd">
-  <!ENTITY libXrandr-version               "1.4.2">
-  <!ENTITY libXrandr-md5sum                "210ed9499a3d9c96e3a221629b7d39b0">
+  <!ENTITY libXrandr-version               "1.5.0">
+  <!ENTITY libXrandr-md5sum                "309762867e41c6fd813da880d8a1bc93">
   <!ENTITY libXres-version                 "1.0.7">
   <!ENTITY libXres-md5sum                  "45ef29206a6b58254c81bea28ec6c95f">
   <!ENTITY libXtst-version                 "1.2.2">
@@ -66,10 +66,10 @@
   <!ENTITY libXxf86vm-md5sum               "298b8fff82df17304dfdb5fe4066fe3a">
   <!ENTITY libdmx-version                  "1.1.3">
   <!ENTITY libdmx-md5sum                   "ba983eba5a9f05d152a0725b8e863151">
-  <!ENTITY libpciaccess-version            "0.13.3">
-  <!ENTITY libpciaccess-md5sum             "1f65be5ffc55641c1846c2f41d180d00">
-  <!ENTITY libxkbfile-version              "1.0.8">
-  <!ENTITY libxkbfile-md5sum               "19e6533ae64abba0773816a23f2b9507">
+  <!ENTITY libpciaccess-version            "0.13.4">
+  <!ENTITY libpciaccess-md5sum             "ace78aec799b1cf6dfaea55d3879ed9f">
+  <!ENTITY libxkbfile-version              "1.0.9">
+  <!ENTITY libxkbfile-md5sum               "4a4cfeaf24dab1b991903455d6d7d404">
   <!ENTITY libxshmfence-version            "1.2">
   <!ENTITY libxshmfence-md5sum             "66662e76899112c0f99e22f2fc775a7e">
 ]>
@@ -169,8 +169,7 @@
 <screen>
 <userinput>mkdir lib &&
 cd lib &&
-grep -v '^#' ../lib-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c \
-    -B &xorg-download-http;/lib/ &&
+grep -v '^#' ../lib-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c     -B &xorg-download-http;/lib/ &&
 md5sum -c ../lib-&xorg-version;.md5</userinput>
 </screen>
   </sect2>
@@ -208,8 +207,7 @@
       ./configure $XORG_CONFIG --disable-devel-docs
     ;;
     libXt-[0-9]* )
-      ./configure $XORG_CONFIG \
-                  --with-appdefaultdir=/etc/X11/app-defaults
+      ./configure $XORG_CONFIG                   --with-appdefaultdir=/etc/X11/app-defaults
     ;;
     * )
       ./configure $XORG_CONFIG

Modified: trunk/blfs/x/installing/x7proto.xml
===================================================================
--- trunk/blfs/x/installing/x7proto.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/installing/x7proto.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -28,12 +28,12 @@
   <!ENTITY glproto-md5sum                  "5565f1b0facf4a59c2778229c1f70d10">
   <!ENTITY inputproto-version              "2.3.1">
   <!ENTITY inputproto-md5sum               "6caebead4b779ba031727f66a7ffa358">
-  <!ENTITY kbproto-version                 "1.0.6">
-  <!ENTITY kbproto-md5sum                  "677ea8523eec6caca86121ad2dca0b71">
+  <!ENTITY kbproto-version                 "1.0.7">
+  <!ENTITY kbproto-md5sum                  "94afc90c1f7bef4a27fdd59ece39c878">
   <!ENTITY presentproto-version            "1.0">
   <!ENTITY presentproto-md5sum             "2d569c75884455c7148d133d341e8fd6">
-  <!ENTITY randrproto-version              "1.4.1">
-  <!ENTITY randrproto-md5sum               "51ff4d45dbe8e1098740d384971805ee">
+  <!ENTITY randrproto-version              "1.5.0">
+  <!ENTITY randrproto-md5sum               "a46765c8dcacb7114c821baf0df1e797">
   <!ENTITY recordproto-version             "1.14.2">
   <!ENTITY recordproto-md5sum              "1b4e5dede5ea51906f1530ca1e21d216">
   <!ENTITY renderproto-version             "0.11.1">
@@ -153,8 +153,7 @@
 <screen>
 <userinput>mkdir proto &&
 cd proto &&
-grep -v '^#' ../proto-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c \
-    -B &xorg-download-http;/proto/ &&
+grep -v '^#' ../proto-&xorg-version;.md5 | awk '{print $2}' | wget -i- -c     -B &xorg-download-http;/proto/ &&
 md5sum -c ../proto-&xorg-version;.md5</userinput>
 </screen>
   </sect2>

Modified: trunk/blfs/x/lib/clutter.xml
===================================================================
--- trunk/blfs/x/lib/clutter.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/lib/clutter.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,9 +5,9 @@
   %general-entities;
   <!ENTITY clutter-download-http "&gnome-download-http;/clutter/1.22/clutter-&clutter-version;.tar.xz">
   <!ENTITY clutter-download-ftp  "&gnome-download-ftp;/clutter/1.22/clutter-&clutter-version;.tar.xz">
-  <!ENTITY clutter-md5sum        "788c488d795103e4c201fae1b032cb89">
+  <!ENTITY clutter-md5sum        "48398ac43d45916eec03abc7a6e4f2ec">
   <!ENTITY clutter-size          "5.1 Mo">
-  <!ENTITY clutter-buildsize     "94 Mo (additional 14 Mo for tests)">
+  <!ENTITY clutter-buildsize     "95 Mo (additional 14 Mo for tests)">
   <!ENTITY clutter-time          "0.6 SBU (additional 0.5 SBU for tests)">
 ]>
 <sect1 id="clutter" xreflabel="clutter-&clutter-version;">

Modified: trunk/blfs/x/lib/gtk+2.xml
===================================================================
--- trunk/blfs/x/lib/gtk+2.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/lib/gtk+2.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,9 +5,9 @@
   %general-entities;
   <!ENTITY gtk2-download-http "&gnome-download-http;/gtk+/2.24/gtk+-&gtk2-version;.tar.xz">
   <!ENTITY gtk2-download-ftp  "&gnome-download-ftp;/gtk+/2.24/gtk+-&gtk2-version;.tar.xz">
-  <!ENTITY gtk2-md5sum        "b1e890e15602c5bcb40d85b13fe046fd">
+  <!ENTITY gtk2-md5sum        "bfacf87b2ea67e4e5c7866a9003e6526">
   <!ENTITY gtk2-size          "13 Mo">
-  <!ENTITY gtk2-buildsize     "0.4 Go">
+  <!ENTITY gtk2-buildsize     "376 Mo">
   <!ENTITY gtk2-time          "2.8 SBU">
 ]>
 <sect1 id="gtk2" xreflabel="gtk+-&gtk2-version;">
@@ -76,7 +76,7 @@
     <para>Installez <application>Gtk+-2</application> en lançant
     les commandes suivantes :</para>
 <screen>
-<userinput>sed -i 's#l \(gtk-.*\).sgml#& -o \1#' docs/{faq,tutorial}/Makefile.in &&
+<userinput>sed -i 's#l (gtk-.*).sgml#& -o 1#' docs/{faq,tutorial}/Makefile.in &&
 sed -i -e 's#pltcheck.sh#$(NULL)#g' gtk/Makefile.in                   &&
 ./configure --prefix=/usr --sysconfdir=/etc                           &&
 make</userinput>

Modified: trunk/blfs/x/lib/webkitgtk.xml
===================================================================
(Binary files differ)

Modified: trunk/blfs/x/lib/webkitgtk2.xml
===================================================================
--- trunk/blfs/x/lib/webkitgtk2.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/x/lib/webkitgtk2.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY webkitgtk2-download-http "http://webkitgtk.org/releases/webkitgtk-&webkitgtk2-version;.tar.xz">
   <!ENTITY webkitgtk2-download-ftp  " ">
-  <!ENTITY webkitgtk2-md5sum        "bcdcef8e1ba28dbd5bb05f86c79f76b8">
+  <!ENTITY webkitgtk2-md5sum        "312fd29eb7f5970660c6a64b8bf8420e">
   <!ENTITY webkitgtk2-size          "9.4 Mo">
-  <!ENTITY webkitgtk2-buildsize     "1.5 Go (both built)">
-  <!ENTITY webkitgtk2-time          "44 SBU (using parallelism=4, both built, webkitgtk-3.0 takes a little longer than webkitgtk-1.0)">
+  <!ENTITY webkitgtk2-buildsize     "1.6 Go (both built)">
+  <!ENTITY webkitgtk2-time          "40 SBU (using parallelism=4, both built, webkitgtk-3.0 takes a little longer than webkitgtk-1.0)">
 ]>
 <sect1 id="webkitgtk2" xreflabel="WebKitGTK+-&webkitgtk2-version;">
   <?dbhtml filename="webkitgtk2.html"?>
@@ -115,10 +115,7 @@
     <para>Corrigez le code pour constuire avec glib-2.44 et supérieur:</para>
 <screen>
 <userinput>pushd Source/WebCore/platform/graphics/gstreamer &&
-  sed -i 's/GMutexLocker /WebCore::&/'        \
-          MediaPlayerPrivateGStreamerBase.cpp \
-          VideoSinkGStreamer.cpp              \
-          WebKitWebSourceGStreamer.cpp        &&
+  sed -i 's/GMutexLocker /WebCore::&/'                  MediaPlayerPrivateGStreamerBase.cpp           VideoSinkGStreamer.cpp                        WebKitWebSourceGStreamer.cpp        &&
 popd</userinput>
 </screen>
      <para>

Modified: trunk/blfs/xfce/apps/xfburn.xml
===================================================================
--- trunk/blfs/xfce/apps/xfburn.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xfce/apps/xfburn.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY xfburn-download-http
            "http://archive.xfce.org/src/apps/xfburn/0.5/xfburn-&xfburn-version;.tar.bz2">
   <!ENTITY xfburn-download-ftp  " ">
-  <!ENTITY xfburn-md5sum        "5a277c76ec9f70900b8b98a2cd500a1d">
-  <!ENTITY xfburn-size          "744 Ko">
-  <!ENTITY xfburn-buildsize     "17 Mo (additional 1 Mo for the tests)">
-  <!ENTITY xfburn-time          "0.1 SBU (additional 0.1 SBU for the tests)">
+  <!ENTITY xfburn-md5sum        "448fcbb7023645216c5a52435a9cf72a">
+  <!ENTITY xfburn-size          "756 Ko">
+  <!ENTITY xfburn-buildsize     "19 Mo">
+  <!ENTITY xfburn-time          "0.1 SBU">
 ]>
 <sect1 id="xfburn" xreflabel="xfburn-&xfburn-version;">
   <?dbhtml filename="xfburn.html"?>

Modified: trunk/blfs/xfce/core/thunar.xml
===================================================================
--- trunk/blfs/xfce/core/thunar.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xfce/core/thunar.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,9 +6,9 @@
   <!ENTITY thunar-download-http
            "http://archive.xfce.org/src/xfce/thunar/1.6/Thunar-&thunar-version;.tar.bz2">
   <!ENTITY thunar-download-ftp  " ">
-  <!ENTITY thunar-md5sum        "d7c6ae92f180c1d8d5b4c3f368142252">
-  <!ENTITY thunar-size          "2.1 Mo">
-  <!ENTITY thunar-buildsize     "61 Mo">
+  <!ENTITY thunar-md5sum        "1183cf1895491f00ebf78a8771ba082a">
+  <!ENTITY thunar-size          "1.9 Mo">
+  <!ENTITY thunar-buildsize     "59 Mo">
   <!ENTITY thunar-time          "0.6 SBU">
 ]>
 <sect1 id="thunar" xreflabel="thunar-&thunar-version;">
@@ -104,9 +104,7 @@
       suivantes :
     </para>
 <screen>
-<userinput>./configure --prefix=/usr \
-            --sysconfdir=/etc \
-            --docdir=/usr/share/doc/Thunar-&thunar-version; &&
+<userinput>./configure --prefix=/usr             --sysconfdir=/etc             --docdir=/usr/share/doc/Thunar-&thunar-version; &&
 make</userinput>
 </screen>
     <para>

Modified: trunk/blfs/xfce/core/xfdesktop.xml
===================================================================
--- trunk/blfs/xfce/core/xfdesktop.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xfce/core/xfdesktop.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -6,10 +6,10 @@
   <!ENTITY xfdesktop-download-http
            "http://archive.xfce.org/src/xfce/xfdesktop/&xfce4-version;/xfdesktop-&xfdesktop-version;.tar.bz2">
   <!ENTITY xfdesktop-download-ftp  " ">
-  <!ENTITY xfdesktop-md5sum        "60173a11e358909e70b7a245f8fb1417">
+  <!ENTITY xfdesktop-md5sum        "9a29c8e6b8a931fecd29f1ea736a6a70">
   <!ENTITY xfdesktop-size          "1.4 Mo">
-  <!ENTITY xfdesktop-buildsize     "17 Mo">
-  <!ENTITY xfdesktop-time          "0.1 SBU">
+  <!ENTITY xfdesktop-buildsize     "21 Mo">
+  <!ENTITY xfdesktop-time          "0.2 SBU">
 ]>
 <sect1 id="xfdesktop" xreflabel="xfdesktop-&xfdesktop-version;">
   <?dbhtml filename="xfdesktop.html"?>

Modified: trunk/blfs/xfce/core/xfwm4.xml
===================================================================
--- trunk/blfs/xfce/core/xfwm4.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xfce/core/xfwm4.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -5,10 +5,10 @@
   %general-entities;
   <!ENTITY xfwm4-download-http "http://archive.xfce.org/src/xfce/xfwm4/&xfce4-version;/xfwm4-&xfwm4-version;.tar.bz2">
   <!ENTITY xfwm4-download-ftp  " ">
-  <!ENTITY xfwm4-md5sum        "3728768dd9ea0de624cd3efc5dcccbca">
-  <!ENTITY xfwm4-size          "1.1 Mo">
-  <!ENTITY xfwm4-buildsize     "18 Mo">
-  <!ENTITY xfwm4-time          "0.1 SBU">
+  <!ENTITY xfwm4-md5sum        "197ef087ca6a263627f1bea6d5a79d6f">
+  <!ENTITY xfwm4-size          "1.2 Mo">
+  <!ENTITY xfwm4-buildsize     "31 Mo">
+  <!ENTITY xfwm4-time          "0.2 SBU">
 ]>
 <sect1 id="xfwm4" xreflabel="xfwm4-&xfwm4-version;">
   <?dbhtml filename="xfwm4.html"?>

Modified: trunk/blfs/xsoft/graphweb/firefox.xml
===================================================================
--- trunk/blfs/xsoft/graphweb/firefox.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xsoft/graphweb/firefox.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,7 +7,7 @@
            "&mozilla-http;/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
   <!ENTITY firefox-download-ftp
            "&mozilla-ftp;/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
-  <!ENTITY firefox-md5sum        "28030dd8c3e84f05c3e362d70c657c9b">
+  <!ENTITY firefox-md5sum        "3c496e4ec072327b1ef2b820f15dff26">
   <!ENTITY firefox-size          "172 Mo">
   <!ENTITY firefox-buildsize     "3.6 Go (72 Mo installé)">
   <!ENTITY firefox-time          "7.9 SBU (using parallelism=4)">

Modified: trunk/blfs/xsoft/other/feh.xml
===================================================================
(Binary files differ)

Modified: trunk/blfs/xsoft/other/thunderbird.xml
===================================================================
--- trunk/blfs/xsoft/other/thunderbird.xml	2015-05-18 10:50:28 UTC (rev 6864)
+++ trunk/blfs/xsoft/other/thunderbird.xml	2015-05-22 12:46:30 UTC (rev 6865)
@@ -7,10 +7,10 @@
            "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.bz2">
   <!ENTITY thunderbird-download-ftp
            "&mozilla-ftp;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.bz2">
-  <!ENTITY thunderbird-md5sum            "692e40f0070de37f3e84ccee4359e799">
+  <!ENTITY thunderbird-md5sum            "dcf14a6d4aaba2f695a1ec30c296e356">
   <!ENTITY thunderbird-size              "164 Mo">
-  <!ENTITY thunderbird-buildsize         "4.7 Go (63 Mo installé)">
-  <!ENTITY thunderbird-time              "13 SBU (with -j5)">
+  <!ENTITY thunderbird-buildsize         "4.9 Go (62 Mo installé)">
+  <!ENTITY thunderbird-time              "15 SBU (with -j4)">
 ]>
 <sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
   <?dbhtml filename="thunderbird.html" ?>
@@ -187,9 +187,7 @@
     <para>Corrigez du code pour la construction avec libvpx-1.4.0 et supérieur:</para>
 <screen>
 <userinput>cd mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8 &&
-  sed -e 's/IMG_FMT_I420/VPX_&/'    \
-      -e 's/\[PLANE_/\[VPX_PLANE_/' \
-      -i  vp8_impl.cc               &&
+  sed -e 's/IMG_FMT_I420/VPX_&/'          -e 's/[PLANE_/[VPX_PLANE_/'       -i  vp8_impl.cc               &&
 cd -</userinput>
 </screen>
     <para>
@@ -287,8 +285,7 @@
 MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
 StartupNotify=true</literal>
 EOF
-ln -sfv /usr/lib/thunderbird-&thunderbird-version;/chrome/icons/default/default256.png \
-        /usr/share/pixmaps/thunderbird.png</userinput>
+ln -sfv /usr/lib/thunderbird-&thunderbird-version;/chrome/icons/default/default256.png         /usr/share/pixmaps/thunderbird.png</userinput>
 </screen>
     </sect3>
   </sect2>



Plus d'informations sur la liste de diffusion lfs-traducfr