Przeglądaj źródła

Add pkg-config-0.26-internal-glib
Add popt-1.16
Fix problem building perl in some environments


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9871 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Bruce Dubbs 13 lat temu
rodzic
commit
450e682e4c

+ 71 - 0
appendices/dependencies.xml

@@ -1548,6 +1548,77 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin Pkg-config dependency info -->
+  <bridgehead renderas="sect2" id="pkgconfig-dep">Pkg-config</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, 
+         Popt, and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Kmod</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+<!-- Begin Popt dependency info -->
+  <bridgehead renderas="sect2" id="popt-dep">Popt</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>Diffutils and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Pkg-config</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Procps dependency info -->
   <bridgehead renderas="sect2" id="procps-dep">Procps</bridgehead>
 

+ 19 - 0
chapter01/changelog.xml

@@ -36,6 +36,25 @@
     </listitem>
 
 -->
+    <listitem>
+      <para>2012-06-03</para>
+      <itemizedlist>
+         <listitem>
+           <para>[bdubbs] - Add pkg-config-0.26-internal-glib to the 
+           book. Fixes 
+           <ulink url="&lfs-ticket-root;3105">#3105</ulink>.</para>
+         </listitem>
+         <listitem>
+           <para>[bdubbs] - Add popt-1.16 to the book.</para>
+         </listitem>
+         <listitem>
+           <para>[bdubbs] - Update Chapter 5 perl instructions
+           for the LFS environment.  Fixes
+           <ulink url="&lfs-ticket-root;3104">#3104</ulink>.</para>
+         </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>2012-05-30</para>
       <itemizedlist>

+ 8 - 0
chapter01/whatsnew.xml

@@ -251,6 +251,14 @@
       <para>&perl-libc-patch;</para>
     </listitem>
 
+    <listitem>
+      <para>pkg-config-&pkgconfig-version;</para>
+    </listitem>
+
+    <listitem>
+      <para>popt&popt-version;</para>
+    </listitem>
+
   </itemizedlist>
 
   <itemizedlist>

+ 18 - 0
chapter03/packages.xml

@@ -449,6 +449,24 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>Pkg-config (&pkgconfig-version;) - <token>&pkgconfig-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&pkgconfig-home;"/></para>
+        <para>Download: <ulink url="&pkgconfig-url;"/></para>
+        <para>MD5 sum: <literal>&pkgconfig-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>Popt (&popt-version;) - <token>&popt-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&popt-home;"/></para>
+        <para>Download: <ulink url="&popt-url;"/></para>
+        <para>MD5 sum: <literal>&popt-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>Procps (&procps-version;) - <token>&procps-size;</token>:</term>
       <listitem>

+ 1 - 2
chapter05/binutils-pass1.xml

@@ -76,8 +76,7 @@ cd ../binutils-build</userinput></screen>
 
     <para>Now prepare Binutils for compilation:</para>
 
-<screen><userinput remap="configure">
-../binutils-&binutils-version;/configure     \
+<screen><userinput remap="configure">../binutils-&binutils-version;/configure     \
     --prefix=/tools            \
     --with-sysroot=$LFS        \
     --with-lib-path=/tools/lib \

+ 7 - 1
chapter05/perl.xml

@@ -48,13 +48,19 @@
 
 <screen><userinput remap="pre">patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
 
+    <para>The configuration script needs to be adjusted to run in the restricted
+    LFS environment:</para>
+
+<screen><userinput remap="pre">chmod -v 0775 Configure
+sed -i -e '/Restore computed paths/i libswanted=""' Configure</userinput></screen>
+
     <para>Prepare Perl for compilation:</para>
 
 <screen><userinput remap="configure">sh Configure -des -Dprefix=/tools</userinput></screen>
 
     <para>Build the package:</para>
 
-<screen><userinput remap="make">make</userinput></screen>
+<screen><userinput remap="make">make CLDFLAGS='-lm'</userinput></screen>
 
     <para>Although Perl comes with a test suite, it would be better to wait
     until it is insalled in the next chapter.</para>

+ 2 - 0
chapter06/chapter06.xml

@@ -46,6 +46,8 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gdbm.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inetutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="popt.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconfig.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="diffutils.xml"/>

+ 1 - 5
chapter06/kmod.xml

@@ -43,11 +43,7 @@
 
     <para>Prepare Kmod for compilation:</para>
 
-<screen><userinput remap="configure">liblzma_CFLAGS="-I/usr/include" \
-liblzma_LIBS="-L/lib -llzma"    \
-zlib_CFLAGS="-I/usr/include"    \
-zlib_LIBS="-L/lib -lz"          \
-./configure --prefix=/usr       \
+<screen><userinput remap="configure">./configure --prefix=/usr       \
             --bindir=/bin       \
             --libdir=/lib       \
             --sysconfdir=/etc   \

+ 3 - 5
chapter06/libpipeline.xml

@@ -43,10 +43,8 @@
 
     <para>Prepare Libpipeline for compilation:</para>
 
-<screen><userinput remap="configure">./configure CHECK_CFLAGS=-I/tools/include     \
-            CHECK_LIBS="-L/tools/lib -lcheck" \
-            --prefix=/usr</userinput></screen>
-
+<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+<!--
     <variablelist>
       <title>The meaning of the configure options:</title>
 
@@ -59,7 +57,7 @@
       </varlistentry>
 
     </variablelist>
-
+-->
     <para>Compile the package:</para>
 
 <screen><userinput remap="make">make</userinput></screen>

+ 1 - 4
chapter06/man-db.xml

@@ -43,10 +43,7 @@
 
     <para>Prepare Man-DB for compilation:</para>
 
-<screen><userinput remap="configure">PKG_CONFIG=/tools/bin/true                       \
-libpipeline_CFLAGS=''                            \
-libpipeline_LIBS='-lpipeline'                    \
-./configure --prefix=/usr                        \
+<screen><userinput remap="configure">./configure --prefix=/usr                        \
             --libexecdir=/usr/lib                \
             --docdir=/usr/share/doc/man-db-&man-db-version; \
             --sysconfdir=/etc                    \

+ 103 - 0
chapter06/pkgconfig.xml

@@ -0,0 +1,103 @@
+<?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-pkgconfig" role="wrap">
+  <?dbhtml filename="pkg-config.html"?>
+
+  <sect1info condition="script">
+    <productname>pkgconfig</productname>
+    <productnumber>&pkgconfig-version;</productnumber>
+    <address>&pkgconfig-url;</address>
+  </sect1info>
+
+  <title>Pkg-config-&pkgconfig-version;</title>
+
+  <indexterm zone="ch-system-pkgconfig">
+    <primary sortas="a-pkgconfig">pkgconfig</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para> The pkg-config package contains a tool for passing the include path
+    and/or library paths to build tools during the configure and make file
+    execution.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&pkgconfig-ch6-sbu;</seg>
+        <seg>&pkgconfig-ch6-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Pkg-config</title>
+
+    <para>Prepare Pkg-config for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr         \
+            --with-installed-popt \
+            --with-internal-glib  \
+            --docdir=/usr/share/doc/pkg-config-&pkgconfig-version; 
+
+</userinput></screen>
+
+    <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>
+
+  </sect2>
+
+
+  <sect2 id="contents-pkgconfig" role="content">
+    <title>Contents of Pkg-config</title>
+
+    <segmentedlist>
+      <segtitle>Installed program</segtitle>
+      <segtitle>Installed directory</segtitle>
+
+      <seglistitem>
+        <seg>pkg-config</seg>
+        <seg>/usr/share/doc/pkg-config-0.26</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="pkgconfig">
+         <!-- Don't remove the extra space, it prevents a FOP warning. -->
+        <term><command>pkg-config </command></term>
+        <listitem>
+          <para>returns meta information for the specified library or package.
+          </para>
+          <indexterm zone="ch-system-pkgconfig pkgconfig">
+            <primary sortas="b-pkgconfig">pkg-config</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 94 - 0
chapter06/popt.xml

@@ -0,0 +1,94 @@
+<?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-popt" role="wrap">
+  <?dbhtml filename="popt.html"?>
+
+  <sect1info condition="script">
+    <productname>popt</productname>
+    <productnumber>&popt-version;</productnumber>
+    <address>&popt-url;</address>
+  </sect1info>
+
+  <title>Popt-&popt-version;</title>
+
+  <indexterm zone="ch-system-popt">
+    <primary sortas="a-popt">popt</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <para>The Popt package contains a library used by some programs 
+    to parse command-line options.</para>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&popt-ch6-sbu;</seg>
+        <seg>&popt-ch6-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Popt</title>
+
+    <para>Prepare Popt4 for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+
+    <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>
+
+  </sect2>
+
+
+  <sect2 id="contents-popt" role="content">
+    <title>Contents of Popt</title>
+
+    <segmentedlist>
+      <segtitle>Installed libraries:</segtitle>
+
+      <seglistitem>
+        <seg>libpopt.{a,so}</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="libpopt">
+         <!-- Don't remove the extra space, it prevet a FOP warning. -->
+        <term><filename class="libraryfile">libpopt</filename></term>
+        <listitem>
+          <para>is used to parse command-line options.</para>
+          <indexterm zone="ch-system-popt libpopt">
+            <primary sortas="b-libpopt">libpopt</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 1 - 5
chapter06/udev.xml

@@ -54,11 +54,7 @@ mknod -m0666 /lib/udev/devices/null c 1 3</userinput></screen>
     <para>Prepare the package for compilation:</para>
 
 <!-- Note that "libdir=/usr/lib64" would be required for multilib. -->
-<screen><userinput remap="configure">BLKID_CFLAGS="-I/usr/include/blkid"  \
-BLKID_LIBS="-L/lib -lblkid"          \
-KMOD_CFLAGS="-I/usr/include"         \
-KMOD_LIBS="-L/lib -lkmod"            \
-./configure  --prefix=/usr           \
+<screen><userinput remap="configure">./configure  --prefix=/usr           \
              --with-rootprefix=''    \
              --bindir=/sbin          \
              --sysconfdir=/etc       \

+ 2 - 2
general.ent

@@ -1,5 +1,5 @@
-<!ENTITY version "SVN-20120530">
-<!ENTITY releasedate "May 30, 2012">
+<!ENTITY version "SVN-20120603">
+<!ENTITY releasedate "June 3, 2012">
 <!ENTITY copyrightdate "1999-2012"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "7.2">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->

+ 16 - 0
packages.ent

@@ -429,6 +429,22 @@
 <!ENTITY perl-ch6-du "235 MB">
 <!ENTITY perl-ch6-sbu "7.6 SBU">
 
+<!ENTITY popt-version "1.16">
+<!ENTITY popt-size "692 KB">
+<!ENTITY popt-url "http://rpm5.org/files/popt/popt-&popt-version;.tar.gz">
+<!ENTITY popt-md5 "3743beefa3dd6247a73f8f7a32c14c33">
+<!ENTITY popt-home "http://directory.fsf.org/wiki/Popt">
+<!ENTITY popt-ch6-du "8 MB">
+<!ENTITY popt-ch6-sbu "0.1 SBU">
+
+<!ENTITY pkgconfig-version "0.26">
+<!ENTITY pkgconfig-size "1900 KB">
+<!ENTITY pkgconfig-url "http://people.freedesktop.org/~dbn/pkg-config-&pkgconfig-version;-internal-glib.tar.gz">
+<!ENTITY pkgconfig-md5 "015af476352e25409ae562b9d465e500">
+<!ENTITY pkgconfig-home "http://www.freedesktop.org/wiki/Software/pkg-config">
+<!ENTITY pkgconfig-ch6-du "32 MB">
+<!ENTITY pkgconfig-ch6-sbu "0.4 SBU">
+
 <!ENTITY procps-version "3.2.8">
 <!ENTITY procps-size "279 KB">
 <!ENTITY procps-url "http://procps.sourceforge.net/procps-&procps-version;.tar.gz">

+ 14 - 0
prologue/why.xml

@@ -345,6 +345,20 @@
         packages.</para>
       </listitem>
 
+      <listitem>
+        <para>Pkg-config</para>
+
+        <para>This package provides a program to return meta-data about an 
+        installed library or package.</para>
+      </listitem>
+
+      <listitem>
+        <para>Popt</para>
+
+        <para>This package is a library used by some programs to parse
+        command line inputs.</para>
+      </listitem>
+
       <listitem>
         <para>Procps</para>