[lfs-fr] r6867 - in trunk/blfs: general/genlib general/sysutils gnome/platform multimedia/libdriv multimedia/videoutils postlfs/security server/mail traduc/commits x/lib xfce/apps xfce/core xsoft/other

myou72 at orange.fr myou72 at orange.fr
Lun 25 Mai 11:58:31 PDT 2015


Author: myou72
Date: 2015-05-25 11:58:31 -0700 (Mon, 25 May 2015)
New Revision: 6867

Removed:
   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/genlib/glib2.xml
   trunk/blfs/general/sysutils/unzip.xml
   trunk/blfs/gnome/platform/gcr.xml
   trunk/blfs/multimedia/libdriv/soundtouch.xml
   trunk/blfs/multimedia/videoutils/ffmpeg.xml
   trunk/blfs/postlfs/security/gnupg2.xml
   trunk/blfs/server/mail/dovecot.xml
   trunk/blfs/x/lib/clutter.xml
   trunk/blfs/x/lib/webkitgtk2.xml
   trunk/blfs/xfce/apps/xfburn.xml
   trunk/blfs/xfce/core/thunar.xml
   trunk/blfs/xfce/core/xfwm4.xml
   trunk/blfs/xsoft/other/thunderbird.xml
Log:
->16013

Modified: trunk/blfs/general/genlib/glib2.xml
===================================================================
--- trunk/blfs/general/genlib/glib2.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/general/genlib/glib2.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -61,8 +61,8 @@
     <para role="optional">, 
       <xref linkend="dbus"/> (requis pour quelques tests),
       <xref linkend="elfutils"/>,
-      <ulink url="ftp://oss.sgi.com/projects/fam/download/stable/">bibliothèque FAM</ulink>, et
-    <xref linkend="gtk-doc"/> 
+      <xref linkend="gtk-doc"/>, et
+      <ulink url="ftp://oss.sgi.com/projects/fam/download/stable/">FAM library</ulink>
     </para>
         <bridgehead renderas="sect4">Dépendances supplémentaires lors de l'exécution</bridgehead>
     <para role="optional">Citées directement dans le fichier <filename>INSTALL</filename>:

Modified: trunk/blfs/general/sysutils/unzip.xml
===================================================================
--- trunk/blfs/general/sysutils/unzip.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/general/sysutils/unzip.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -126,7 +126,7 @@
 <screen>
 <userinput>make -f unix/Makefile generic</userinput>
 </screen>
-    <para>Pour tester les résultats, lancez : <command>make check</command>.</para>
+    <para>La suite de tests ne fonctionne pas avec la cible <quote>générique</quote>.</para>
     <para>Maintenant, en tant qu'utilisateur <systemitem class="username">root</systemitem> :</para>
 <screen role="root">
 <userinput>make prefix=/usr MANDIR=/usr/share/man/man1 \

Modified: trunk/blfs/gnome/platform/gcr.xml
===================================================================
--- trunk/blfs/gnome/platform/gcr.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/gnome/platform/gcr.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -97,7 +97,8 @@
 make</userinput>
 </screen>
     <para>
-      Pour tester le résultat, tapez : <command>make check</command>.
+      Pour tester le résultat, tapez : <command>make -k check</command>. Certains tests peuvent échouer pour
+      des raisons inconnues.
     </para>
     <para>
       Maintenant, en tant qu'utilisateur <systemitem class="username">root</systemitem> :

Modified: trunk/blfs/multimedia/libdriv/soundtouch.xml
===================================================================
--- trunk/blfs/multimedia/libdriv/soundtouch.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/multimedia/libdriv/soundtouch.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -89,9 +89,8 @@
   <sect2 role="commands">
     <title>Explications des commandes</title>
     <para>
-      <command>sed "s at AM_CONFIG_HEADER@AC_CONFIG_HEADERS at g"
-      -i configure.ac</command>: Ce sed corrige quelques trucs avec 
-      <application>Automake</application> 1.13 et ultérieur.
+      <option>--enable-openmp</option>: Ce paramètre ajoute le support pour l'éxécution
+      des algotihmes parallèles sur plusieur coeurs, sur une système avec des processeurs multicoeurs.
     </para>
   </sect2>
   <sect2 role="content">

Modified: trunk/blfs/multimedia/videoutils/ffmpeg.xml
===================================================================
--- trunk/blfs/multimedia/videoutils/ffmpeg.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/multimedia/videoutils/ffmpeg.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -90,6 +90,7 @@
       <xref linkend="xvid"/>,
       <xref linkend="openssl"/>,
       <xref linkend="fontconfig"/>,
+      <xref linkend="texlive"/> (ou <xref linkend="tl-installer"/>) pour la documentation PDF et PS,
       <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>,
@@ -111,7 +112,6 @@
       <ulink url="http://opencv.org/">OpenCV</ulink>,
       <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
       <ulink url="http://diracvideo.org/">Schroedinger</ulink>,
-      <xref linkend="texlive"/> (ou <xref linkend="tl-installer"/>) pour la documentation PDF et PS,
       <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>,
@@ -189,7 +189,7 @@
       Pour tester proprement l'installation vous devez avoir installé <xref linkend="rsync"/>
       et suivi les instructions de 
       <ulink url="http://www.ffmpeg.org/fate.html">
-      FFmpeg Automated Testing Environment</ulink>(FATE). D'abord, environ 921 Mo de fichiers d'exemple utilisés pour lancer FATE sont 
+      FFmpeg Automated Testing Environment</ulink>(FATE). D'abord, environ 925 Mo de fichiers d'exemple utilisés pour lancer FATE sont 
       sont téléchargés avec la commande :
     </para>
 <screen>

Modified: trunk/blfs/postlfs/security/gnupg2.xml
===================================================================
--- trunk/blfs/postlfs/security/gnupg2.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/postlfs/security/gnupg2.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -62,7 +62,6 @@
     </para>
     <bridgehead renderas="sect4">Recommandées</bridgehead>
     <para role="recommended">
-      <xref linkend="openldap"/> et
      <xref linkend="pinentry"/> (Exigence au moment de l'exécution
     pour la plupart des fonctionnalités du paquet)</para>
     <bridgehead renderas="sect4">Facultatives</bridgehead>
@@ -69,6 +68,7 @@
     <para role="optional">
     <xref linkend="curl"/>,
     <xref linkend="libusb-compat"/>,
+      <xref linkend="openldap"/> ,
     un <xref linkend="server-mail"/>,
     <xref linkend="texlive"/> (oo <xref linkend="tl-installer"/>), et
     <ulink url="http://www.chiark.greenend.org.uk/~ian/adns/">GNU
@@ -79,6 +79,22 @@
   </sect2>
   <sect2 role="installation">
     <title>Installation de GnuPG</title>
+    <warning>
+      <para>
+        Si vous mettez à jour depuis une version de gnupg antérieur à 2.1, les développeurs recommandes de sauvegardez 
+        <filename class="directory">~/.gnupg</filename>, car des configurations supplémentaires seront probablement
+        nécessaire, et vous pouvez perdre vos clés. Vous pouvez trouver les instructions sur
+        <ulink url="http://jo-ke.name/wp/?p=111"></ulink> et
+        <ulink url="https://wiki.archlinux.org/index.php/GnuPG#.22Lost.22_keys.2C_upgrading_to_gnupg_version_2.1"></ulink>.
+      </para>
+    </warning>
+    <para>Si le répertoire supérieur ou les sources sont déballées contient des liens symboliques, les tests
+    openpgp peuvent échouer. Si c'est votre cas et que vous souhaitez lancer la suite de tests, corrigez
+    cela avec:
+    </para>
+<screen><userinput>sed -e 's|\(GNUPGHOME\)=\$(abs_builddir)|\1=`/bin/pwd`|' \
+    -i tests/openpgp/Makefile.in</userinput></screen>
+
     <para>Installez <application>GnuPG</application> en lançant les commandes
     suivantes :</para>
 <screen>
@@ -130,7 +146,6 @@
     class="directory">/usr/share/doc/gnupg-&gnupg2-version;</filename>.</para>
     <para><parameter>--enable-symcryptrun</parameter> : Ce paramètre autorise la
     construction du programme symcryptrun.</para>
-<para><option>--disable-ldap</option>: Ce paramètre est nécéssaire, si <xref linkend="openldap"/> n'est pas installé.</para>
   
   </sect2>
   <sect2 role="content">

Modified: trunk/blfs/server/mail/dovecot.xml
===================================================================
--- trunk/blfs/server/mail/dovecot.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/server/mail/dovecot.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -63,18 +63,11 @@
         </para>
       </listitem>
     </itemizedlist>
-    <bridgehead renderas="sect3">Téléchargements supplémentaires</bridgehead>
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para>Correctif requis: <ulink
-        url="&patch-root;/dovecot-&dovecot-version;-CVE_2015_3420-1.patch"/>
-        </para>
-      </listitem>
-    </itemizedlist>
     <bridgehead renderas="sect3">Dépendances de Dovecot</bridgehead>
     <bridgehead renderas="sect4">Facultative</bridgehead>
     <para role="optional">
       <xref linkend="clucene"/>,
+      <xref linkend="icu"/>,
       <xref linkend="libcap-pam"/>,
       <xref linkend="linux-pam"/>,
       <xref linkend="mariadb"/> ou <ulink url="http://www.mysql.com/">MySQL</ulink>,
@@ -82,8 +75,11 @@
       <xref linkend="openldap"/>,
       <xref linkend="openssl"/>,
       <xref linkend="postgresql"/>,
-      <xref linkend="sqlite"/>, et
-      <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>, et
+      <ulink url="https://github.com/shibukawa/snowball_py">stemmer</ulink>
     </para>
     <para condition="html" role="usernotes">Notes utilisateur :
       <ulink url="&blfs-wiki;/dovecot"/>
@@ -241,9 +237,7 @@
         </seg>
         <seg>
           /etc/dovecot,
-          /usr/include/dovecot,
-          /usr/lib/dovecot,
-          /usr/libexec/dovecot, et
+          /usr/{include,lib,libexec,share}/dovecot et
           /usr/share/doc/dovecot-&dovecot-version;
         </seg>
       </seglistitem>

Deleted: trunk/blfs/traduc/commits/r15968.txt
===================================================================
--- trunk/blfs/traduc/commits/r15968.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15968.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,54 +0,0 @@
-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>
- 
-

Deleted: trunk/blfs/traduc/commits/r15969.txt
===================================================================
--- trunk/blfs/traduc/commits/r15969.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15969.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15970.txt
===================================================================
--- trunk/blfs/traduc/commits/r15970.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15970.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15971.txt
===================================================================
--- trunk/blfs/traduc/commits/r15971.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15971.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,42 +0,0 @@
-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         \
-

Deleted: trunk/blfs/traduc/commits/r15972.txt
===================================================================
--- trunk/blfs/traduc/commits/r15972.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15972.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15973.txt
===================================================================
--- trunk/blfs/traduc/commits/r15973.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15973.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15974.txt
===================================================================
--- trunk/blfs/traduc/commits/r15974.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15974.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,29 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15975.txt
===================================================================
--- trunk/blfs/traduc/commits/r15975.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15975.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,93 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15976.txt
===================================================================
--- trunk/blfs/traduc/commits/r15976.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15976.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15977.txt
===================================================================
--- trunk/blfs/traduc/commits/r15977.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15977.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,23 +0,0 @@
-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

Deleted: trunk/blfs/traduc/commits/r15978.txt
===================================================================
--- trunk/blfs/traduc/commits/r15978.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15978.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,33 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15979.txt
===================================================================
--- trunk/blfs/traduc/commits/r15979.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15979.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,46 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15980.txt
===================================================================
--- trunk/blfs/traduc/commits/r15980.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15980.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,71 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15981.txt
===================================================================
--- trunk/blfs/traduc/commits/r15981.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15981.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,41 +0,0 @@
-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

Deleted: trunk/blfs/traduc/commits/r15982.txt
===================================================================
--- trunk/blfs/traduc/commits/r15982.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15982.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,231 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r15983.txt
===================================================================
--- trunk/blfs/traduc/commits/r15983.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15983.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,425 +0,0 @@
-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 );
-

Deleted: trunk/blfs/traduc/commits/r15984.txt
===================================================================
--- trunk/blfs/traduc/commits/r15984.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15984.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,74 +0,0 @@
-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:
-

Deleted: trunk/blfs/traduc/commits/r15985.txt
===================================================================
--- trunk/blfs/traduc/commits/r15985.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15985.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,655 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r15986.txt
===================================================================
--- trunk/blfs/traduc/commits/r15986.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15986.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,1400 +0,0 @@
-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;
-    }
- }
-

Deleted: trunk/blfs/traduc/commits/r15987.txt
===================================================================
--- trunk/blfs/traduc/commits/r15987.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15987.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,1341 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r15988.txt
===================================================================
--- trunk/blfs/traduc/commits/r15988.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15988.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,38 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15989.txt
===================================================================
--- trunk/blfs/traduc/commits/r15989.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15989.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,28 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15990.txt
===================================================================
--- trunk/blfs/traduc/commits/r15990.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15990.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15991.txt
===================================================================
--- trunk/blfs/traduc/commits/r15991.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15991.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,1226 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r15992.txt
===================================================================
--- trunk/blfs/traduc/commits/r15992.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15992.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,1457 +0,0 @@
-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;
-    }
-

Deleted: trunk/blfs/traduc/commits/r15993.txt
===================================================================
--- trunk/blfs/traduc/commits/r15993.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15993.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,9 +0,0 @@
-Révision 15993
-
-fichiers modifiés :
-   pst/typesetting/biber.xml
-
-Log :
-Fix url
-
-Le robot a traité 100 % du commit anglais

Deleted: trunk/blfs/traduc/commits/r15994.txt
===================================================================
--- trunk/blfs/traduc/commits/r15994.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15994.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,1685 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15995.txt
===================================================================
--- trunk/blfs/traduc/commits/r15995.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15995.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,49 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15996.txt
===================================================================
--- trunk/blfs/traduc/commits/r15996.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15996.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,24 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r15997.txt
===================================================================
--- trunk/blfs/traduc/commits/r15997.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15997.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,84 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r15998.txt
===================================================================
--- trunk/blfs/traduc/commits/r15998.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15998.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,88 +0,0 @@
-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">
-

Deleted: trunk/blfs/traduc/commits/r15999.txt
===================================================================
--- trunk/blfs/traduc/commits/r15999.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r15999.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,48 +0,0 @@
-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>
- 
-

Deleted: trunk/blfs/traduc/commits/r16000.txt
===================================================================
--- trunk/blfs/traduc/commits/r16000.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16000.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,24 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r16001.txt
===================================================================
--- trunk/blfs/traduc/commits/r16001.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16001.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,37 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16002.txt
===================================================================
--- trunk/blfs/traduc/commits/r16002.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16002.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,113 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16003.txt
===================================================================
--- trunk/blfs/traduc/commits/r16003.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16003.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,49 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16004.txt
===================================================================
--- trunk/blfs/traduc/commits/r16004.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16004.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,23 +0,0 @@
-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
-

Deleted: trunk/blfs/traduc/commits/r16005.txt
===================================================================
--- trunk/blfs/traduc/commits/r16005.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16005.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,27 +0,0 @@
-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.
-

Deleted: trunk/blfs/traduc/commits/r16006.txt
===================================================================
--- trunk/blfs/traduc/commits/r16006.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16006.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,28 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16007.txt
===================================================================
--- trunk/blfs/traduc/commits/r16007.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16007.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,63 +0,0 @@
-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,
-

Deleted: trunk/blfs/traduc/commits/r16008.txt
===================================================================
--- trunk/blfs/traduc/commits/r16008.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16008.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,65 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16009.txt
===================================================================
--- trunk/blfs/traduc/commits/r16009.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16009.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,69 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16010.txt
===================================================================
--- trunk/blfs/traduc/commits/r16010.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16010.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,9 +0,0 @@
-Révision 16010
-
-fichiers modifiés :
-   general.ent
-
-Log :
-Test commit
-
-Le robot a traité 100 % du commit anglais

Deleted: trunk/blfs/traduc/commits/r16011.txt
===================================================================
--- trunk/blfs/traduc/commits/r16011.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16011.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,33 +0,0 @@
-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>
-

Deleted: trunk/blfs/traduc/commits/r16012.txt
===================================================================
--- trunk/blfs/traduc/commits/r16012.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16012.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,67 +0,0 @@
-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>
- 
-

Deleted: trunk/blfs/traduc/commits/r16013.txt
===================================================================
--- trunk/blfs/traduc/commits/r16013.txt	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/traduc/commits/r16013.txt	2015-05-25 18:58:31 UTC (rev 6867)
@@ -1,63 +0,0 @@
-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/lib/clutter.xml
===================================================================
--- trunk/blfs/x/lib/clutter.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/x/lib/clutter.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -71,11 +71,10 @@
     <bridgehead renderas="sect4">Facultatives</bridgehead>
     <para role="optional">
      <xref linkend="gtk-doc"/>,
-     <xref linkend="udev-extras"/> (pour GUdev),
-      <ulink url="http://www.freedesktop.org/wiki/Software/libevdev/">
-      libevdev</ulink>,
+      <xref linkend="libevdev"/>,
+      <xref linkend="udev-extras"/> (pour GUdev),
       <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
-      <ulink url="http://tslib.berlios.de/">Tslib</ulink> et
+      <ulink url="https://github.com/kergoth/tslib">Tslib</ulink>, et
       <ulink url="http://wayland.freedesktop.org/">Wayland</ulink>
       </para>
     <para condition="html" role="usernotes">Notes utilisateur :

Modified: trunk/blfs/x/lib/webkitgtk2.xml
===================================================================
--- trunk/blfs/x/lib/webkitgtk2.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/x/lib/webkitgtk2.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -112,12 +112,6 @@
 <screen>
 <userinput>sed -i '/generate-gtkdoc --rebase/s:^:# :' GNUmakefile.in</userinput>
 </screen>
-    <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        &&
-popd</userinput>
-</screen>
      <para>
       Maintenant le standard des developpeurs est de lier ce paquet contre <application>GTK+
       3</application>. Cependant,
@@ -250,11 +244,9 @@
           jsc-1 et jsc-3
         </seg>
         <seg>
-          libjavascriptcoregtk-1.0.so,
-          libjavascriptcoregtk-3.0.so, 
-          libwebkit2gtk-3.0.so,
-          libwebkitgtk-1.0.so, et
-          libwebkitgtk-3.0.so
+          libjavascriptcoregtk-{1,3}.0.so,
+          libwebkit2gtk-3.0.so, et
+          libwebkitgtk-{1,3}.0.so
         </seg>
         <seg>
           /usr/include/webkitgtk-{1,3}.0,

Modified: trunk/blfs/xfce/apps/xfburn.xml
===================================================================
--- trunk/blfs/xfce/apps/xfburn.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/xfce/apps/xfburn.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -72,7 +72,7 @@
     </para>
     <bridgehead renderas="sect4">Facultative</bridgehead>
     <para role="optional">
-      <xref linkend="gst-plugins-base"/>
+      <xref linkend="gst10-plugins-base"/>
     </para>
     <para condition="html" role="usernotes">
       Notes utilisateur : <ulink url="&blfs-wiki;/xfburn"/>
@@ -89,7 +89,7 @@
 make</userinput>
 </screen>
     <para>
-      Pour tester les résultats, tapez :  <command>make check</command>.</para>
+      Ce paquet n'a pas de suite de tests.</para>
     <para>
       Maintenant, en tant qu'utilisateur <systemitem class="username">root</systemitem> :
     </para>

Modified: trunk/blfs/xfce/core/thunar.xml
===================================================================
--- trunk/blfs/xfce/core/thunar.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/xfce/core/thunar.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -117,11 +117,6 @@
 <userinput>make install</userinput>
 </screen>
   </sect2>
-  <sect2 role="commands">
-    <title>Explications des commandes</title>
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="../../xincludes/gtk-doc-rebuild.xml"/>
-  </sect2>
   <sect2 role="content">
     <title>Contenu</title>
     <segmentedlist>
@@ -137,8 +132,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, et
+          /usr/share/doc/Thunar-&thunar-version; et
           /usr/share/{pixmaps,}/Thunar
         </seg>
       </seglistitem>

Modified: trunk/blfs/xfce/core/xfwm4.xml
===================================================================
--- trunk/blfs/xfce/core/xfwm4.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/xfce/core/xfwm4.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -110,10 +110,7 @@
         </seg>
         <seg>aucune</seg>
         <seg>
-          /usr/share/themes/Daloa,
-          /usr/share/themes/Default,
-          /usr/share/themes/Kokodi,
-          /usr/share/themes/Moheli et
+          /usr/share/themes/{Daloa,Default{,-hdpi,-xhdpi},Kokodi,Moheli}, et
           /usr/share/xfwm4
         </seg>
       </seglistitem>

Modified: trunk/blfs/xsoft/other/thunderbird.xml
===================================================================
--- trunk/blfs/xsoft/other/thunderbird.xml	2015-05-24 14:46:19 UTC (rev 6866)
+++ trunk/blfs/xsoft/other/thunderbird.xml	2015-05-25 18:58:31 UTC (rev 6867)
@@ -51,6 +51,16 @@
         <para>Estimation du temps de construction : &thunderbird-time;</para>
       </listitem>
     </itemizedlist>
+    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Correctif requis, pour construire avec gcc-5:
+          <ulink url="&patch-root;/thunderbird-&thunderbird-version;-gcc5-1.patch"/>
+        </para>
+      </listitem>
+    </itemizedlist>
+
      <bridgehead renderas="sect3">Dépendances de Thunderbird</bridgehead>
     <bridgehead renderas="sect4">Requises</bridgehead>
     <para role="required">
@@ -190,6 +200,12 @@
   sed -e 's/IMG_FMT_I420/VPX_&/'          -e 's/[PLANE_/[VPX_PLANE_/'       -i  vp8_impl.cc               &&
 cd -</userinput>
 </screen>
+
+    <para>Corrigez du code si vous construisez avec gcc-5:</para>
+<screen><userinput>patch -Np1 -i ../thunderbird-&thunderbird-version;-gcc5-1.patch</userinput></screen>
+
+
+
     <para>
   Compiler <application>Thunderbird</application> en tapant les commandes suivantes:</para>
 <screen>



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