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]

Reply via email to