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]