aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2008-01-19 15:25:26 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2008-01-19 15:25:26 +0000
commitd327d74c877a611230b2878ad71295a7057d2606 (patch)
tree54e75430e137e9f706b8ff7525c87ea98b3bdbed
parent9750afcb5894f5574db726aed218f5a4e47f1828 (diff)
Add a few more details to the package management section, and correct the URL for the LSB specs. Fixes #2073 and #2130.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8452 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--chapter01/changelog.xml13
-rw-r--r--chapter06/pkgmgt.xml27
-rw-r--r--general.ent4
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&mdash;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&mdash;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}]" -->