diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2011-05-22 22:21:37 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2011-05-22 22:21:37 +0000 |
commit | 47045599e69241222a0288069cd76dc1614aed4d (patch) | |
tree | 94efeed21df1866758b8ff1019c57708913a09c6 | |
parent | b8d2a723d7581ec19e3bca64954d4d0cd2f4b1f5 (diff) |
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
-rw-r--r-- | appendices/dependencies.xml | 76 | ||||
-rw-r--r-- | chapter01/changelog.xml | 5 | ||||
-rw-r--r-- | chapter01/whatsnew.xml | 10 | ||||
-rw-r--r-- | chapter03/packages.xml | 18 | ||||
-rw-r--r-- | chapter06/chapter06.xml | 4 | ||||
-rw-r--r-- | chapter06/glib.xml | 172 | ||||
-rw-r--r-- | chapter06/pcre.xml | 187 | ||||
-rw-r--r-- | chapter06/pkg-config.xml | 8 | ||||
-rw-r--r-- | packages.ent | 23 |
9 files changed, 494 insertions, 9 deletions
diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index a1eb3f1b4..d1aede383 100644 --- a/appendices/dependencies.xml +++ b/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> diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 551dedfcb..231c29de7 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,11 @@ <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> </listitem> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index b2ed4d047..c57784ba6 100644 --- a/chapter01/whatsnew.xml +++ b/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>--> @@ -240,9 +240,15 @@ <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> </itemizedlist> diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 4f7b91934..daebebe02 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -186,6 +186,15 @@ </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> <para>Home page: <ulink url="&glibc-home;"/></para> @@ -441,6 +450,15 @@ </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> <para>Home page: <ulink url="&perl-home;"/></para> diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index f4b21b449..899ab5446 100644 --- a/chapter06/chapter06.xml +++ b/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"/> diff --git a/chapter06/glib.xml b/chapter06/glib.xml new file mode 100644 index 000000000..ee5297676 --- /dev/null +++ b/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> diff --git a/chapter06/pcre.xml b/chapter06/pcre.xml new file mode 100644 index 000000000..5d04a7f38 --- /dev/null +++ b/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/ && +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> diff --git a/chapter06/pkg-config.xml b/chapter06/pkg-config.xml index 444a30c9a..12498d289 100644 --- a/chapter06/pkg-config.xml +++ b/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> diff --git a/packages.ent b/packages.ent index f68a71312..656018c2b 100644 --- a/packages.ent +++ b/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"> |