diff options
-rw-r--r-- | chapter01/changelog.xml | 13 | ||||
-rw-r--r-- | chapter06/pkgmgt.xml | 27 | ||||
-rw-r--r-- | general.ent | 4 |
3 files changed, 33 insertions, 11 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b97b943fc..296ee9f38 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -37,6 +37,19 @@ --> <listitem> + <para>2008-01-19</para> + <itemizedlist> + <listitem> + <para>[matthew] - Mention <command>strace</command> as another means + of logging installed files, and correct the URL of the Linux Standard + Base specifications. Fixes + <ulink url="&lfs-ticket-root;2073">#2073</ulink> and + <ulink url="&lfs-ticket-root;2130">#2130</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> <para>2008-01-04</para> <itemizedlist> <listitem> diff --git a/chapter06/pkgmgt.xml b/chapter06/pkgmgt.xml index 7c82ca8b3..3b8d1aa95 100644 --- a/chapter06/pkgmgt.xml +++ b/chapter06/pkgmgt.xml @@ -12,12 +12,14 @@ <para>Package Management is an often requested addition to the LFS Book. A Package Manager allows tracking the installation of files making it easy to - remove and upgrade packages. Before you begin to wonder, NO—this section - will not talk about nor recommend any particular package manager. What it - provides is a roundup of the more popular techniques and how they work. The - perfect package manager for you may be among these techniques or may be a - combination of two or more of these techniques. This section briefly mentions - issues that may arise when upgrading packages.</para> + remove and upgrade packages. As well as the binary and library files, a + package manager will handle the installation of configuration files. Before + you begin to wonder, NO—this section will not talk about nor recommend + any particular package manager. What it provides is a roundup of the more + popular techniques and how they work. The perfect package manager for you may + be among these techniques or may be a combination of two or more of these + techniques. This section briefly mentions issues that may arise when upgrading + packages.</para> <para>Some reasons why no package manager is mentioned in LFS or BLFS include:</para> @@ -182,9 +184,13 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> </sect3> <sect3> - <title>LD_PRELOAD Based</title> + <title>Tracing Installation Scripts</title> - <para>In this approach, a library is preloaded before installation. During + <para>In this approach, the commands that the installation scripts perform + are recorded. There are two techniques that one can use:</para> + + <para>The <envar>LD_PRELOAD</envar> environment variable can be set to + point to a library to be preloaded before installation. During installation, this library tracks the packages that are being installed by attaching itself to various executables such as <command>cp</command>, <command>install</command>, <command>mv</command> and tracking the system @@ -195,6 +201,9 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> ensure that the package manager does not break anything and logs all the appropriate files.</para> + <para>The second technique is to use <command>strace</command>, which + logs all system calls made during the execution of the installation + scripts.</para> </sect3> <sect3> @@ -209,7 +218,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> <para>This approach is used by most of the package managers found in the commercial distributions. Examples of package managers that follow this approach are RPM (which, incidentally, is required by the <ulink - url="http://lsbbook.gforge.freestandards.org/package.html#RPM">Linux + url="http://www.linux-foundation.org/en/Specifications">Linux Standard Base Specification</ulink>), pkg-utils, Debian's apt, and Gentoo's Portage system. A hint describing how to adopt this style of package management for LFS systems is located at <ulink diff --git a/general.ent b/general.ent index ecaa1fb58..7c0323f44 100644 --- a/general.ent +++ b/general.ent @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!ENTITY version "SVN-2008-0104"> -<!ENTITY releasedate "January 4, 2007"> +<!ENTITY version "SVN-20080119"> +<!ENTITY releasedate "January 19, 2007"> <!ENTITY milestone "7.0"> <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> |