aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/pkgmgt.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/pkgmgt.xml')
-rw-r--r--chapter06/pkgmgt.xml60
1 files changed, 33 insertions, 27 deletions
diff --git a/chapter06/pkgmgt.xml b/chapter06/pkgmgt.xml
index e6d9bae3f..76ea123e2 100644
--- a/chapter06/pkgmgt.xml
+++ b/chapter06/pkgmgt.xml
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
- "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-pkgmgt">
- <title>Package Management</title>
<?dbhtml filename="pkgmgt.html"?>
+ <title>Package Management</title>
+
<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
@@ -18,7 +19,8 @@
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>
+ <para>Some reasons why no package manager is mentioned in LFS or BLFS
+ include:</para>
<itemizedlist>
<listitem>
@@ -37,11 +39,13 @@
the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them
fits your need.</para>
- <note><para>As no particular package management technique is mentioned in LFS,
- the commands in the remainder of this book must be performed while logged in
- as user <emphasis>root</emphasis> and no longer as user
- <emphasis>lfs</emphasis>. Also, double check that <envar>$LFS</envar> is set.
- </para></note>
+ <note>
+ <para>As no particular package management technique is mentioned in LFS,
+ the commands in the remainder of this book must be performed while logged in
+ as user <systemitem class="username">root</systemitem> and no longer as user
+ <systemitem class="username">lfs</systemitem>. Also, double check that
+ <envar>$LFS</envar> is set.</para>
+ </note>
<sect2>
<title>Upgrade Issues</title>
@@ -53,16 +57,14 @@
<itemizedlist>
<listitem>
- <para>If one of the toolchain packages
- (<application>Glibc</application>, <application>GCC</application> or
- <application>Binutils</application>) needs to be upgraded to a newer
- minor version, it is safer to rebuild LFS. Though you
- <emphasis>may</emphasis> be able to get by rebuilding all the packages
- in their dependency order, we do not recommend it. For example, if
- glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer to rebuild.
- For micro version updates, a simple reinstallation usually works, but
- is not guaranteed. For example, upgrading from glibc-2.3.4 to
- glibc-2.3.5 will not usually cause any problems.</para>
+ <para>If one of the toolchain packages (Glibc, GCC or Binutils) needs
+ to be upgraded to a newer minor version, it is safer to rebuild LFS.
+ Though you <emphasis>may</emphasis> be able to get by rebuilding all
+ the packages in their dependency order, we do not recommend it. For
+ example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer
+ to rebuild. For micro version updates, a simple reinstallation usually
+ works, but is not guaranteed. For example, upgrading from glibc-2.3.4
+ to glibc-2.3.5 will not usually cause any problems.</para>
</listitem>
<listitem>
@@ -109,6 +111,7 @@
and know what files are installed by each package. Some users also do not
need any package management because they plan on rebuilding the entire
system when a package is changed.</para>
+
</sect3>
<sect3>
@@ -129,6 +132,7 @@
<envar>INFOPATH</envar> and <envar>CPPFLAGS</envar> need to be expanded to
include <filename>/usr/pkg/foo</filename>. For more than a few packages,
this scheme becomes unmanageable.</para>
+
</sect3>
<sect3>
@@ -168,11 +172,11 @@ make install</userinput></screen>
make
make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
- <para>Most packages support this approach, but there are some which do
- not. For the non-compliant packages, you may either need to manually
- install the package, or you may find that it is easier to install some
- problematic packages into <filename class='directory'>/opt</filename>.
- </para>
+ <para>Most packages support this approach, but there are some which do not.
+ For the non-compliant packages, you may either need to manually install the
+ package, or you may find that it is easier to install some problematic
+ packages into <filename class='directory'>/opt</filename>.</para>
+
</sect3>
<sect3>
@@ -190,6 +194,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
the package manager. Also, this scheme can only be used when one package
is installed at a time. The logs are not reliable if two packages are
being installed on two different consoles.</para>
+
</sect3>
<sect3>
@@ -205,6 +210,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
installation. Therefore, it is advised that one performs some tests to
ensure that the package manager does not break anything and logs all the
appropriate files.</para>
+
</sect3>
<sect3>
@@ -214,8 +220,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
tree as described in the Symlink style package management. After the
installation, a package archive is created using the installed files.
This archive is then used to install the package either on the local
- machine or can even be used to install the package on other machines.
- </para>
+ machine or can even be used to install the package on other machines.</para>
<para>This approach is used by most of the package managers found in the
commercial distributions. Examples of package managers that follow this
@@ -225,6 +230,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
Gentoo's Portage system. A hint describing how to adopt this style of
package management for LFS systems is located at <ulink
url="&hints-root;/fakeroot.txt"/>.</para>
+
</sect3>
<sect3>
@@ -236,8 +242,8 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
standard locations. Files belonging to a package are easily identified by
checking the user ID. The features and shortcomings of this approach are
too complex to describe in this section. For the details please see the
- hint at <ulink
- url="&hints-root;/more_control_and_pkg_man.txt"/>.</para>
+ hint at <ulink url="&hints-root;/more_control_and_pkg_man.txt"/>.</para>
+
</sect3>
</sect2>