[blfs-book] r10408 - in trunk/BOOK: introduction/important kde4/add kde4/core postlfs/filesystems postlfs/virtualization

rthomsen at linuxfromscratch.org rthomsen at linuxfromscratch.org
Tue Jul 10 10:58:26 PDT 2012


Author: rthomsen
Date: 2012-07-10 11:58:22 -0600 (Tue, 10 Jul 2012)
New Revision: 10408

Modified:
   trunk/BOOK/introduction/important/libraries.xml
   trunk/BOOK/kde4/add/kde4admin.xml
   trunk/BOOK/kde4/add/kde4plasmaaddons.xml
   trunk/BOOK/kde4/core/kde4workspace.xml
   trunk/BOOK/postlfs/filesystems/lvm2.xml
   trunk/BOOK/postlfs/virtualization/virtualization.xml
Log:
Libraries+LVM page corrections. KDE-workspace+admin dep.

Modified: trunk/BOOK/introduction/important/libraries.xml
===================================================================
--- trunk/BOOK/introduction/important/libraries.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/introduction/important/libraries.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -13,7 +13,7 @@
     <date>$Date$</date>
   </sect1info>
 
-  <title>Libraries: static or shared</title>
+  <title>Libraries: Static or shared?</title>
 
   <!-- section g : 'Others' in longindex.html -->
   <indexterm zone="libraries">
@@ -21,23 +21,24 @@
   </indexterm>
 
   <sect2 role="package">
-    <title>Libraries: static or shared</title>
+    <title>Libraries: Static or shared?</title>
 
-    <para>The original libraries were simply an archive of routines, from which
+    <para>The original libraries were simply an archive of routines from which
     the required routines were extracted and linked into the executable program.
     These are described as static libraries (libfoo.a).  On some old operating
     systems they are the only type available.</para>
 
-    <para>On almost all Linux platforms we also have shared libraries (libfoo.so)
-    - one copy of the library is loaded into vitual memory, and shared by all the
-    programs which call any of its functions. This is space efficient.</para>
+    <para>On almost all Linux platforms we also have shared libraries 
+    (libfoo.so) - one copy of the library is loaded into virtual memory, and 
+    shared by all the programs which call any of its functions. This is space 
+    efficient.</para>
 
     <para>In the past, essential programs such as a shell were often linked
     statically so that some form of minimal recovery system would exist even if
-    shared libraries, such as libc.so, became damaged (e,g, moved to
+    shared libraries, such as libc.so, became damaged (e.g. moved to
     <filename class="directory">lost+found</filename> after fsck following an
-    unclean shutdown). Nowadays, most people use an alternative system install,
-    or a Live CD, if they have to recover. Journalling filesystems also reduce
+    unclean shutdown). Nowadays, most people use an alternative system install
+    or a Live CD if they have to recover. Journaling filesystems also reduce
     the likelihood of this sort of problem.</para>
 
     <para>Developers, at least while they are developing, often prefer to use
@@ -52,64 +53,67 @@
     <para>If a package is linked to a dynamic library, updating to a newer
     library version is automatic once the newer library is installed and the
     program is (re)started (provided the library major version is unchanged,
-    e.g. going from from libfoo.so.2.0 to libfoo.so.2.1 : going to libfoo.so.3
-    will require recompilation - use <command>ldd</command> to find what uses
-    the old version). If a program is linked to a static library, the program
-    always has to be recompiled. If you know which programs linked to a
-    particular static library, this is merely an annoyance. But usually you will
-    <emphasis>not</emphasis> know which programs to recompile.</para>
+    e.g. going from libfoo.so.2.0 to libfoo.so.2.1. Going to libfoo.so.3
+    will require recompilation - <command>ldd</command> can be used to find 
+    which programs use the old version). If a program is linked to a static 
+    library, the program always has to be recompiled. If you know which 
+    programs are linked to a particular static library, this is merely an 
+    annoyance. But usually you will <emphasis>not</emphasis> know which 
+    programs to recompile.</para>
 
-    <para>Most libraries are shared, but if you do something unusual such as
-    moving a shared library to <filename class="directory">/lib</filename> and
-    accidentally break the <literal>.so</literal> symlink in
-    <filename class="directory">/usr/lib</filename> but keep the static library
-    there, the static library will be silently linked into the programs which
-    need it.</para>
+    <para>Most libraries are shared, but if you do something unusual, such as
+    moving a shared library to <filename class="directory">/lib</filename>
+    accidentally breaking the <literal>.so</literal> symlink in
+    <filename class="directory">/usr/lib</filename> while keeping the static 
+    library in <filename class="directory">/lib</filename>, the static library 
+    will be silently linked into the programs which need it.</para>
 
-    <para>One way to identify when a static library is used is to deal with it
+    <para>One way to identify when a static library is used, is to deal with it
     at the end of the installation of every package.  Write a script to find all
-    the static libraries in /usr/lib or wherever you are installing to, and
-    either move them to another directory so that they are no longer found by
-    the linker, or rename them so that libfoo.a becomes e.g. libfoo.a.hidden.
-    You can then temporarily restore a static library if it is ever needed, and
-    make a note which package needs it.  You may choose to exclude some of the
-    static libraries from glibc if you do this (<filename>libc_nonshared.a,
-    libg.a, libieee.a, libm.a, libpthread_nonshared.a, librpcsvc.a,
-    libsupc++.a</filename> to simplify compilation.</para>
+    the static libraries in <filename class="directory">/usr/lib</filename> or
+    wherever you are installing to, and either move them to another directory so 
+    that they are no longer found by the linker, or rename them so that libfoo.a 
+    becomes e.g. libfoo.a.hidden. The static library can then be temporarily 
+    restored if it is ever needed, and the package needing it can be 
+    identified. You may choose to exclude some of the static libraries from 
+    glibc if you do this (<filename>libc_nonshared.a, libg.a, libieee.a, libm.a,
+    libpthread_nonshared.a, librpcsvc.a, libsupc++.a</filename>) to simplify 
+    compilation.</para>
 
 <!-- versions hardcoded in this para, it's a comment on those versions  -->
-    <para>If you do that, you may discover that more packages than you were
-    expecting use a static library. That was the case with
-    <application>nettle-2.4</application> in its default static-only configuration:
-    required by <application>GnuTLS-3.0.19</application> but also linked into
-    package(s) which used that, such as
+    <para>If you use this approach, you may discover that more packages than 
+    you were expecting use a static library. That was the case with
+    <application>nettle-2.4</application> in its default static-only 
+    configuration: It was required by <application>GnuTLS-3.0.19</application>,
+    but also linked into package(s) which used 
+    <application>GnuTLS</application>, such as 
     <application>glib-networking-2.32.3</application>.</para>
 
     <para>Many packages put some of their common functions into a static
-    library which is only used by the programs within the package and
-    crucially is <emphasis>not</emphasis> installed as a standalone library.
-    These internal libraries are not a problem - if the package has to be
-    rebuilt to fix a bug or vulnerability, nothing else is linked to them.
-    </para>
+    library which is only used by the programs within the package and,
+    crucially, the library is <emphasis>not</emphasis> installed as a 
+    standalone library. These internal libraries are not a problem - if the 
+    package has to be rebuilt to fix a bug or vulnerability, nothing else is 
+    linked to them.</para>
 
-    <para>When we speak of System libraries, we mean the shared versions. Some
-    packages such as <xref linkend="firefox"/> and <xref linkend="gs"/> include
-    many other libraries. When they link to them, they link statically so this
-    also makes the programs bigger. The version they ship is often older than
-    the version used in the system, so it may contain bugs - sometimes
-    developers go to the trouble of fixing bugs in their included libraries,
-    other times they do not.</para>
+    <para>When BLFS mentions system libraries, it means shared versions of 
+    libraries. Some packages such as <xref linkend="firefox"/> and 
+    <xref linkend="gs"/> include many other libraries. When they link to them, 
+    they link statically so this also makes the programs bigger. The version 
+    they ship is often older than the version used in the system, so it may 
+    contain bugs - sometimes developers go to the trouble of fixing bugs in 
+    their included libraries, other times they do not.</para>
 
     <para>Sometimes, deciding to use system libraries is an easy decision. Other
     times it may require you to alter the system version (e.g. for
     <xref linkend="libpng"/> if used for <xref linkend="firefox"/>).
-    Occasionally a package has an old shipped library, can no longer link to the
-    current version, but can link to a less-old version : the book will usually
-    just use the shipped version. Sometimes the included library is no longer
-    developed separately, or its upstream is now the same as the package's
-    upstream and you have no other packages which will use it. In those cases,
-    you might decide to use the included static library even if you usually
-    prefer to use system libraries.</para>
+    Occasionally, a package ships an old library and can no longer link to
+    the current version, but can link to an older version. In this case, BLFS 
+    will usually just use the shipped version. Sometimes the included library 
+    is no longer developed separately, or its upstream is now the same as the 
+    package's upstream and you have no other packages which will use it. 
+    In those cases, you might decide to use the included static library even if
+    you usually prefer to use system libraries.</para>
 
     <para condition="html" role="usernotes">User Notes:
     <ulink url="&blfs-wiki;/libraries"/></para>

Modified: trunk/BOOK/kde4/add/kde4admin.xml
===================================================================
--- trunk/BOOK/kde4/add/kde4admin.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/kde4/add/kde4admin.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -79,10 +79,8 @@
     </para>
 
     <bridgehead renderas="sect4">Optional</bridgehead>
-    <para role="optional">
-    <xref linkend="python2"/>, 
-    <!--<xref linkend="pykde4"/>, -->
-    <ulink url="http://www.riverbankcomputing.co.uk/software/pyqt/intro">PyQt4</ulink>, 
+    <para role="optional"> 
+    <ulink url="&kde-download-http;&kde-version;/src/">PyKDE4</ulink>,
     <ulink url="http://cyberelk.net/tim/software/pycups/">PyCups</ulink> and 
     <ulink url="http://cyberelk.net/tim/software/system-config-printer/">system-config-printer</ulink>    
     </para>

Modified: trunk/BOOK/kde4/add/kde4plasmaaddons.xml
===================================================================
--- trunk/BOOK/kde4/add/kde4plasmaaddons.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/kde4/add/kde4plasmaaddons.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -79,7 +79,7 @@
 -->
     <bridgehead renderas="sect4">Optional</bridgehead>
     <para role="optional">
-    <xref linkend="libkexiv2"/>, 
+    <xref linkend="libkexiv2"/>,
     <ulink url="http://edu.kde.org/marble/">Marble</ulink> (for the desktop globe wallpaper) and
     <ulink url="http://eigen.tuxfamily.org/">Eigen</ulink> (for the Mandelbrot wallpaper plugin)
     </para>

Modified: trunk/BOOK/kde4/core/kde4workspace.xml
===================================================================
--- trunk/BOOK/kde4/core/kde4workspace.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/kde4/core/kde4workspace.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -89,7 +89,8 @@
     <xref linkend="linux-pam"/>, 
     <xref linkend="libusb"/>, 
     <xref linkend="NetworkManager"/>,
-    <xref linkend="lm_sensors"/>, 
+    <xref linkend="lm_sensors"/>,
+    <ulink url="&kde-download-http;&kde-version;/src/">PyKDE4</ulink>, 
     <ulink url="http://code.google.com/p/google-gadgets-for-linux/">GoogleGadgets</ulink>, 
     <ulink url="ftp://ftp.kde.org/pub/kde/stable/prison/1.0/src/">Prison</ulink>, 
     <ulink url="https://ieee1394.wiki.kernel.org/index.html">libraw1394</ulink>, 

Modified: trunk/BOOK/postlfs/filesystems/lvm2.xml
===================================================================
--- trunk/BOOK/postlfs/filesystems/lvm2.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/postlfs/filesystems/lvm2.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -135,8 +135,8 @@
       <segtitle>Installed Directories</segtitle>
 
       <seglistitem>
-        <seg>dmsetup, fsadm, lvm, lvmconf, lvndump, vgimportclone.  There
-        are also numerous symbolic links to lvm to impement specific 
+        <seg>dmsetup, fsadm, lvm, lvmconf, lvmdump, vgimportclone.  There
+        are also numerous symbolic links to lvm to implement specific 
         functionality.</seg>
         <seg>libdevmapper.so</seg>
         <seg>None</seg>
@@ -184,7 +184,7 @@
         <term><command>lvmconf</command></term>
         <listitem>
           <para>is a script that modifies the locking configuration in 
-          an lvm configuration file.</para>
+          a lvm configuration file.</para>
           <indexterm zone="lvm2 lvmconf">
             <primary sortas="b-lvmconf">lvmconf</primary>
           </indexterm>

Modified: trunk/BOOK/postlfs/virtualization/virtualization.xml
===================================================================
--- trunk/BOOK/postlfs/virtualization/virtualization.xml	2012-07-10 17:04:23 UTC (rev 10407)
+++ trunk/BOOK/postlfs/virtualization/virtualization.xml	2012-07-10 17:58:22 UTC (rev 10408)
@@ -16,7 +16,7 @@
   <title>Virtualization</title>
 
   <para>Virtualization allows running a complete operating system, or virtual
-  machine (VM) within another operting environment as a task.  There are
+  machine (VM), within another operating environment as a task.  There are
   several commercial and open source environments that either emulate another
   processor or utilize the hardware virtualization features of the host
   processor.</para>




More information about the blfs-book mailing list