OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael Schloh
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-doc Date: 07-Nov-2002 12:15:34
Branch: HEAD Handle: 2002110711153300
Modified files:
openpkg-doc/handbook openpkg.xml
Log:
Corrected, reworded, and generally improved 'software requirements' subtopic
of 'bootstrapping'.
Summary:
Revision Changes Path
1.56 +54 -25 openpkg-doc/handbook/openpkg.xml
____________________________________________________________________________
Index: openpkg-doc/handbook/openpkg.xml
============================================================
$ cvs diff -u -r1.55 -r1.56 openpkg.xml
--- openpkg-doc/handbook/openpkg.xml 13 Aug 2002 11:46:33 -0000 1.55
+++ openpkg-doc/handbook/openpkg.xml 7 Nov 2002 11:15:33 -0000 1.56
@@ -33,7 +33,7 @@
</author>
</authorgroup>
- <pubdate>August 2002</pubdate>
+ <pubdate>November 2002</pubdate>
<abstract>
<para>
@@ -973,16 +973,23 @@
several existing open-source technologies. In particular, it uses the
vendor products Red Hat RPM, Berkeley-DB, ZLib, GNU Bzip2, GNU Gzip,
GNU Tar, GNU Patch, GNU Make, GNU Bash, and cURL. To circumvent
- potential dependency failures, OpenPKG includes these in every source
- or binary OpenPKG package. This means that a system not having these
+ potential dependency failures, OpenPKG wraps these into every source
+ or binary bootstrap package. This means that a system not having these
tools can bootstrap an OpenPKG instance just as easily as a complete
- system with the aforementioned toosl.
+ system that incidentally has the aforementioned toosl.
</para>
+ <sect2 id='bstrap-chicken'>
+ <title>A Classic Chicken and Egg Problem</title>
<para>
There are also tools which OpenPKG doesn't bundle but requires
- nevertheless. Missing any of these important tools will either
- cause an OpenPKG installation to fail abruptly, or maybe more subtly
- later on.
+ nevertheless. Missing any of these unbundled tools will result in a
+ failed bootstrap from either <emphasis>source</emphasis> or
+ <emphasis>binary</emphasis> OpenPKG packages. Once a source or binary
+ bootstrap is successfully carried out, these unbundled tools are not
+ needed to build and install more packages into the fresh new OpenPKG
+ instance. There exist OpenPKG packages such as sharutils and zlib to
+ replace the functionality offered by these unbundled tools, but cannot
+ be built before OpenPKG is itself installed!
<itemizedlist>
<listitem>
<simpara>
@@ -996,11 +1003,6 @@
</listitem>
<listitem>
<simpara>
- sharutils
- </simpara>
- </listitem>
- <listitem>
- <simpara>
compress
</simpara>
</listitem>
@@ -1009,6 +1011,16 @@
uncompress
</simpara>
</listitem>
+ </itemizedlist>
+ There is another set of unbundled tools which are not required for a
+ bootstrap from a OpenPKG <emphasis>binary</emphasis> package. Missing
+ any of these unbundled tools will lead to failure however, if
+ bootstrapping from a OpenPKG <emphasis>source</emphasis> package.
+ Solaris and HPUX users should pay special attention here, because
+ neither operating system distributes a ISO standard compiler. Also,
+ beware of the cc that is installed by default on Solaris systems. In
+ most cases, it is nothing more than a useless wrapper script.
+ <itemizedlist>
<listitem>
<simpara>
cc (compiler)
@@ -1035,27 +1047,44 @@
</simpara>
</listitem>
</itemizedlist>
- A frequent cause of error involves one or more of such failing
- dependencies. If the installing engineer is not very vigilent in
- reading the hundreds of lines of scrolling OpenPKG installation text,
- an error of this type can go undiscovered. In many such cases, the
- engineer is misled and wastes time looking for the trouble source in
- the wrong place. If such problems arise, redirect the shell output
- when installing OpenPKG. Later examine the captured text files for
- missing dependency failures.
+ These tools are also needed to build many other OpenPKG packages, in
+ which in most cases the <emphasis>BuildPreReq</emphasis> line of a
+ package specification file will disclose if a toolset such as a
+ compiler or binutils is needed. In other cases a requirement may not
+ be explicitly stated, however. Many packages implicitly require tools
+ like <command>ld</command>, <command>nm</command>, or
+ <command>ar</command>, for example. Some of these requirements can be
+ fulfulled by OpenPKG itself through use of the OpenPKG packages gcc
+ and binutils, but not before OpenPKG is installed!
</para>
+ </sect2>
+ <sect2 id='bstrap-subtlefail'>
+ <title>The Most Subtle Failures</title>
+ <para>
+ A frequent cause of error involves missing one or more of such
+ unpackaged dependencies. If an installing engineer is not very
+ vigilent in reading the hundreds of lines of scrolling OpenPKG
+ installation text, an error of this type can go undiscovered. This may
+ lead to the false belief that an incomplete OpenPKG instance was
+ correctly bootstrapped. In many such cases, an admin is misled by
+ subsequent package build failures and wastes time looking for the
+ source of problems in the wrong place. If such a scenario arises, one
+ solution involves redirecting the shell output when installing
+ OpenPKG, and later examine the captured text files for missing
+ dependencies. The command <command>script</command> is usefull for
+ capturing scrolling text, and searching for the word
+ <emphasis>error</emphasis> helps to find missing dependencies.
+ </para>
+ </sect2>
<sect2>
<title>Requirement Exceptions</title>
<para>
There exist some exceptions to these requirements. Installation of
OpenPKG on Debian Linux will fail unless GNU gettext and libpam0g-dev
- are installed. Also, to later build packages like jdk-sun, the library
- compat-libstdc++ must exist. Particular caution goes to Solaris users
- who may find a cc command on a freshly installed system to be nothing
- more than a useless wrapper script.
+ are installed. Also, to later build packages like j2se, the library
+ compat-libstdc++ must exist on FreeBSD.
</para>
</sect2>
-<!--FIXME: Describe Solaris 9 and FreeBSD exact requirements-->
</sect1>
<sect1 id='bstrap-multi'>
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]