1
0
Эх сурвалжийг харах

Upgrade to Pkg-config-0.26 and add PCRE and Glib as required dependencies.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9547 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess 14 жил өмнө
parent
commit
47045599e6

+ 74 - 2
appendices/dependencies.xml

@@ -686,6 +686,42 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin Glib dependency info -->
+  <bridgehead renderas="sect2" id="glib-dep">Glib</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, PCRE
+         Sed, and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Glibc dependency info -->
   <bridgehead renderas="sect2" id="glibc-dep">Glibc</bridgehead>
 
@@ -1512,6 +1548,42 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin PCRE dependency info -->
+  <bridgehead renderas="sect2" id="pcre-dep">PCRE</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Bzip2, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed, and
+         Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Perl dependency info -->
   <bridgehead renderas="sect2" id="perl-dep">Perl</bridgehead>
 
@@ -1555,8 +1627,8 @@
         <segtitle>&dependencies;</segtitle>
 
         <seglistitem>
-         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
-         Make, and Sed</seg>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glib, Glibc,
+         Grep, Make, and Sed</seg>
         </seglistitem>
       </segmentedlist>
 

+ 5 - 0
chapter01/changelog.xml

@@ -39,6 +39,11 @@
     <listitem>
       <para>2011-05-22</para>
       <itemizedlist>
+        <listitem>
+          <para>[matthew] - Upgrade to Pkg-config-0.26, including its
+          dependency of Glib and Glib's dependency of PCRE. Fixes
+          <ulink url="&lfs-ticket-root;2876">#2876</ulink>.</para>
+        </listitem>
         <listitem>
           <para>[matthew] - Upgrade to Bison-2.5. Fixes
           <ulink url="&lfs-ticket-root;2875">#2875</ulink>.</para>

+ 8 - 2
chapter01/whatsnew.xml

@@ -169,9 +169,9 @@
     <!--<listitem>
       <para>Procps &procps-version;</para>
     </listitem>-->
-    <!--<listitem>
+    <listitem>
       <para>Pkg-config &pkg-config-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>Psmisc &psmisc-version;</para>
     </listitem>-->
@@ -239,9 +239,15 @@
     <listitem>
       <para>&gcc-crosscompile-patch;</para>
     </listitem>
+    <listitem>
+      <para>Glib-&glib-version;</para>
+    </listitem>
     <listitem>
       <para>libpipeline-&libpipeline-version;</para>
     </listitem>
+    <listitem>
+      <para>PCRE-&pcre-version;</para>
+    </listitem>
     <listitem>
       <para>readline-&readline-version;-fixes-1.patch</para>
     </listitem>

+ 18 - 0
chapter03/packages.xml

@@ -185,6 +185,15 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>Glib (&glib-version;) - <token>&glib-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&glib-home;"/></para>
+        <para>Download: <ulink url="&glib-url;"/></para>
+        <para>MD5 sum: <literal>&glib-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>Glibc (&glibc-version;) - <token>&glibc-size;</token>:</term>
       <listitem>
@@ -440,6 +449,15 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>PCRE (&pcre-version;) - <token>&pcre-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&pcre-home;"/></para>
+        <para>Download: <ulink url="&pcre-url;"/></para>
+        <para>MD5 sum: <literal>&pcre-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>Perl (&perl-version;) - <token>&perl-size;</token>:</term>
       <listitem>

+ 3 - 1
chapter06/chapter06.xml

@@ -29,6 +29,9 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pcre.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkg-config.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
@@ -47,7 +50,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="autoconf.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>

+ 172 - 0
chapter06/glib.xml

@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-glib" role="wrap">
+  <?dbhtml filename="glib.html"?>
+
+  <sect1info condition="script">
+    <productname>glib</productname>
+    <productnumber>&glib-version;</productnumber>
+    <address>&glib-url;</address>
+  </sect1info>
+
+  <title>Glib-&glib-version;</title>
+
+  <indexterm zone="ch-system-glib">
+    <primary sortas="a-Glib">Glib</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The GLib package contains a low-level core library. This is useful
+    for providing data structure handling for C, portability wrappers and
+    interfaces for such runtime functionality as an event loop, threads,
+    dynamic loading, and an object system.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&glib-ch6-sbu;</seg>
+        <seg>&glib-ch6-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Glib</title>
+
+    <para>Prepare Glib for compilation:</para>
+
+<screen><userinput remap="configure">PCRE_LIBS="-L/usr/lib -lpcre" PCRE_CFLAGS="-I/usr/include" ./configure --prefix=/usr --with-pcre=system</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--with-pcre=system</parameter></term>
+        <listitem>
+          <para>This parameter causes the build to use a system-provided
+          version of the PCRE library instead of an internal version.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>Due to dependencies on additional Perl modules and other packages not yet present
+    (e.g. desktop-file-utils and DBus), it is not possible to run Glib's test suite.</para>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-glib" role="content">
+    <title>Contents of Glib</title>
+
+    <segmentedlist>
+      <segtitle>Installed programs</segtitle>
+      <segtitle>Installed libraries</segtitle>
+      <segtitle>Installed directories</segtitle>
+
+      <seglistitem>
+        <seg>gio-querymodules, glib-genmarshal, glib-gettextize,
+        glib-mkenums, gobject-query, gtester and gtester-report</seg>
+        <seg>libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so,
+        libgobject-2.0.so, and libgthread-2.0.so</seg>
+        <seg>/usr/include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}},
+             /usr/lib/{gio/modules,glib-2.0/include},
+             /usr/share/{gdb/auto-load,glib-2.0/{gdb, gettext/po},gtk-doc/html/{gio,glib,gobject}}</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="gio-querymodules">
+        <term><command>gio-querymodules</command></term>
+        <listitem>
+          <para>is a C code marshaller generation utility for GLib
+          closures.</para>
+          <indexterm zone="ch-system-glib gio-querymodules">
+            <primary sortas="b-glib">gio-querymodules</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="glib-gettextize">
+        <term><command>glib-gettextize</command></term>
+        <listitem>
+          <para>is a variant of the gettext internationalization
+          utility.</para>
+          <indexterm zone="ch-system-glib glib-gettextize">
+            <primary sortas="b-glib-gettextize">glib-gettextize</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="glib-mkenums">
+        <term><command>glib-mkenums</command></term>
+        <listitem>
+          <para>is a C language enum description generation utility.</para>
+          <indexterm zone="ch-system-glib glib-mkenums">
+            <primary sortas="b-glib-mkenums">glib-mkenums</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="gobject-query">
+        <term><command>gobject-query</command></term>
+        <listitem>
+          <para>Is a small utility that draws a tree of types.</para>
+          <indexterm zone="ch-system-glib gobject-query">
+            <primary sortas="b-gobject-query">gobject-query</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="gtester">
+        <term><command>gtester</command></term>
+        <listitem>
+          <para>Is a test running utility.</para>
+          <indexterm zone="ch-system-glib gtester">
+            <primary sortas="b-gtester">gtester</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="gtester-report">
+        <term><command>gtester-report</command></term>
+        <listitem>
+          <para>Is a test report formatting utility.</para>
+          <indexterm zone="ch-system-glib gtester-report">
+            <primary sortas="b-gtester-report">gtester-report</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="glib">
+        <term><filename class="libraryfile">Glib libraries</filename></term>
+        <listitem>
+          <para>contain a general purpose low-level core library.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 187 - 0
chapter06/pcre.xml

@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-pcre" role="wrap">
+  <?dbhtml filename="pcre.html"?>
+
+  <sect1info condition="script">
+    <productname>pcre</productname>
+    <productnumber>&pcre-version;</productnumber>
+    <address>&pcre-url;</address>
+  </sect1info>
+
+  <title>PCRE-&pcre-version;</title>
+
+  <indexterm zone="ch-system-pcre">
+    <primary sortas="a-PCRE">PCRE</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The PCRE package contains Perl Compatible Regular Expression
+    libraries. These are useful for implementing regular expression pattern
+    matching using the same syntax and semantics as Perl 5.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&pcre-ch6-sbu;</seg>
+        <seg>&pcre-ch6-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of PCRE</title>
+
+    <para>Prepare PCRE for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr \
+            --docdir=/usr/share/doc/pcre-8.10 \
+            --enable-utf8 \
+            --enable-unicode-properties \
+            --enable-pcregrep-libz \
+            --enable-pcregrep-libbz2</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--enable-utf8</parameter></term>
+        <listitem>
+          <para>This switch includes the code for handling UTF-8 character
+                strings in the library.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>--enable-unicode-properties</parameter></term>
+        <listitem>
+          <para>This switch enables Unicode properties support.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>--enable-pcregrep-lib*</parameter></term>
+        <listitem>
+          <para>These switches enable the PCRE library to read files compressed
+          with <command>gzip</command> and <command>bzip2</command>.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+    <para>The <command>grep</command> binary will be installed in <filename class="directory">/bin</filename> and will link against the PCRE library; as such,
+move the library to <filename class="directory">/lib</filename>:</para>
+
+<screen><userinput remap="install">mv -v /usr/lib/libpcre.so.* /lib/ &amp;&amp;
+ln -v -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-pcre" role="content">
+    <title>Contents of PCRE</title>
+
+    <segmentedlist>
+      <segtitle>Installed programs</segtitle>
+      <segtitle>Installed libraries</segtitle>
+      <segtitle>Installed directories</segtitle>
+
+      <seglistitem>
+        <seg>pcregrep, pcretest, and pcre-config</seg>
+        <seg>libpcre.{so,a}, libpcrecpp.{so,a} and libpcreposix.{so,a}</seg>
+        <seg>/usr/share/doc/pcre-&pcre-version;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="pcregrep">
+        <term><command>pcregrep</command></term>
+        <listitem>
+          <para>A grep that understands Perl compatible regular
+          expressions.</para>
+          <indexterm zone="ch-system-pcre pcregrep">
+            <primary sortas="b-pcre">pcregrep</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="pcretest">
+        <term><command>pcretest</command></term>
+        <listitem>
+          <para>Tests a Perl compatible regular expression.</para>
+          <indexterm zone="ch-system-pcre pcretest">
+            <primary sortas="b-pcretest">pcretest</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="pcre-config">
+        <term><command>pcre-config</command></term>
+        <listitem>
+          <para>Used during the compilation process of programs linking to the
+          PCRE libraries.</para>
+          <indexterm zone="ch-system-pcre pcre-config">
+            <primary sortas="b-pcre-config">pcre-config</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libpcre">
+        <term><filename class="libraryfile">libpcre</filename></term>
+        <listitem>
+          <para>Provides functions useful for working with regular
+          expressions.</para>
+          <indexterm zone="ch-system-pcre libpcre">
+            <primary sortas="c-libpcre*">libpcre*</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libpcrecpp">
+        <term><filename class="libraryfile">libpcrecpp</filename></term>
+        <listitem>
+          <para>Provides C++ wrapper functions for the libpcre library.</para>
+          <indexterm zone="ch-system-pcre libpcrecpp">
+            <primary sortas="c-libpcrecpp*">libpcrecpp*</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libpcreposix">
+        <term><filename class="libraryfile">libpcreposix</filename></term>
+        <listitem>
+          <para>Provides wrapper functions based on the POSIX regular expression
+          API.</para>
+          <indexterm zone="ch-system-pcre libpcreposix">
+            <primary sortas="c-libpcre*">libpcreposix*</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 7 - 1
chapter06/pkg-config.xml

@@ -48,9 +48,15 @@
     url="&blfs-root;view/svn/general/popt.html">BLFS Popt build
     instructions</ulink> before installing Pkg-config.</para></note>
 
+
+    <para>Fix a problem with one of Pkg-config's tests:</para>
+
+<screen><userinput remap="pre">sed -i -e '21s/EXPECT_RETURN=1/EXPECT_RETURN=0/' check/check-cmd-options</userinput></screen>
+
     <para>Prepare Pkg-config for compilation:</para>
 
-<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+<screen><userinput remap="configure">GLIB_LIBS="-L/usr/lib -lglib-2.0" \
+  GLIB_CFLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" ./configure --prefix=/usr</userinput></screen>
 
     <para>Compile the package:</para>
 

+ 20 - 3
packages.ent

@@ -193,6 +193,14 @@
 <!ENTITY gettext-ch6-du "125 MB">
 <!ENTITY gettext-ch6-sbu "5.8 SBU">
 
+<!ENTITY glib-version "2.28.6">
+<!ENTITY glib-size "6,793 KB">
+<!ENTITY glib-url "http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-&glib-version;.tar.bz2">
+<!ENTITY glib-md5 "7d8fc15ae70d5111c0cf2a79d50ef717">
+<!ENTITY glib-home "http://developer.gnome.org/glib/">
+<!ENTITY glib-ch6-du "106 MB">
+<!ENTITY glib-ch6-sbu "1.5 SBU">
+
 <!ENTITY glibc-version "2.13">
 <!ENTITY glibc-size "15,357 KB">
 <!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.bz2">
@@ -414,6 +422,15 @@
 <!ENTITY patch-ch6-du "1.9 MB">
 <!ENTITY patch-ch6-sbu "less than 0.1 SBU">
 
+<!ENTITY pcre-version "8.12">
+<!ENTITY pcre-size "969 KB">
+<!ENTITY pcre-url "&sourceforge;pcre/pcre-&pcre-version;.tar.bz2">
+<!ENTITY pcre-url "">
+<!ENTITY pcre-md5 "f14a9fef3c92f3fc6c5ac92d7a2c7eb3">
+<!ENTITY pcre-home "http://www.pcre.org/">
+<!ENTITY pcre-ch6-du "12 MB">
+<!ENTITY pcre-ch6-sbu "0.4 SBU">
+
 <!ENTITY perl-version "5.12.3">
 <!ENTITY perl-size "11,759 KB">
 <!ENTITY perl-url "http://www.cpan.org/src/5.0/perl-&perl-version;.tar.bz2">
@@ -424,10 +441,10 @@
 <!ENTITY perl-ch6-du "171 MB">
 <!ENTITY perl-ch6-sbu "5.5 SBU">
 
-<!ENTITY pkg-config-version "0.25">
-<!ENTITY pkg-config-size "966 KB">
+<!ENTITY pkg-config-version "0.26">
+<!ENTITY pkg-config-size "387 KB">
 <!ENTITY pkg-config-url "http://pkgconfig.freedesktop.org/releases/pkg-config-&pkg-config-version;.tar.gz">
-<!ENTITY pkg-config-md5 "a3270bab3f4b69b7dc6dbdacbcae9745">
+<!ENTITY pkg-config-md5 "47525c26a9ba7ba14bf85e01509a7234">
 <!ENTITY pkg-config-home "http://pkg-config.freedesktop.org/">
 <!ENTITY pkg-config-ch5-du " MB">
 <!ENTITY pkg-config-ch5-sbu " SBU">