OpenPKG CVS Repository
  http://www.openpkg.org/cvsweb/cvsweb.cgi
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Michael Schloh
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-doc                      Date:   12-Jul-2002 13:54:52
  Branch: HEAD                             Handle: 2002071212545200

  Modified files:
    openpkg-doc/handbook    openpkg.xml

  Log:
    Added section on multipackages.

  Summary:
    Revision    Changes     Path
    1.49        +69 -3      openpkg-doc/handbook/openpkg.xml
  ____________________________________________________________________________

  Index: openpkg-doc/handbook/openpkg.xml
  ============================================================
  $ cvs diff -u -r1.48 -r1.49 openpkg.xml
  --- openpkg-doc/handbook/openpkg.xml  12 Jul 2002 10:41:38 -0000      1.48
  +++ openpkg-doc/handbook/openpkg.xml  12 Jul 2002 11:54:52 -0000      1.49
  @@ -443,7 +443,9 @@
             Namely, the package is configured for a particular platform and
             subsequently built. The vendor sources are typically compiled
             according a <filename>Makefile</filename> of some sort, and the
  -          resulting file structure is ready for installation.
  +          resulting file structure is ready for installation. Command line
  +          options can be used to manipulate the options a package offers, as
  +          explained in <xref linkend='install-custom'/>.
           </para>
   <screen>
   <prompt>$</prompt> <userinput>rpm -bc --short-circuit foo.spec</userinput></screen>
  @@ -458,7 +460,9 @@
             the distributed package, this stage of installation must use its own
             directory and not $opkg_root as is usually the case. The developer
             therefore redirects the package to a fake installation hierarchy,
  -          and installs the vendor objects.
  +          and installs the vendor objects. Command line options can be used to
  +          manipulate the options a package offers, as explained in <xref
  +          linkend='install-custom'/>.
           </para>
   <screen>
   <prompt>$</prompt> <userinput>rpm -bi --short-circuit foo.spec</userinput></screen>
  @@ -471,7 +475,9 @@
             package, the contents of the vendor object installation are rolled
             (bundled) into a single binary file. A wise developer will first
             inspect the installation hierarchy to ensure that no temporary or
  -          residual files are included in the package.
  +          residual files are included in the package. Command line options can
  +          be used to manipulate the options a package offers, as explained in
  +          <xref linkend='install-custom'/>.
           </para>
   <screen>
   <prompt>$</prompt> <userinput>rpm -bs foo.spec</userinput>
  @@ -1458,6 +1464,66 @@
             configuration variables. Search a .spec file for 'with_' to find out
             if the package offers such customization. This is also useful in
             learning which configuration options a package allows.
  +        </para>
  +      </sect2>
  +
  +      <sect2 id='install-multipak'>
  +        <title>Multipackages</title>
  +        <para>
  +          Even with the flexibility offered by semi-custom package building,
  +          there are cases of additional functionality that can't be collected
  +          in a single package. The most typical example of this is if two
  +          different versions of an application must be packaged. Needless to
  +          say, the strategy of building multipackages to satisfy diverse needs
  +          is a rather complicated and somewhat dangerous one. Problems such as
  +          redundancy in package specifications, visual inconsistencies of
  +          comparable normal packages, and conflicting installation files can
  +          arise to the detriment of both the packaging and installing
  +          engineer. Because of these drawbacks, multipackages were long
  +          discouraged and didn't even exist in the package repository.
  +          Starting with OpenPKG release 1.1 they do exist, and the installing
  +          engineer can remain calm due to the following considerations made by
  +          each packager when dealing with multipackages.
  +        <orderedlist>
  +          <listitem>
  +            <simpara>
  +              Multipackages are made only when absolutely necessary, and when
  +              so, a minimum number of versions will be used! This should keep
  +              down the number of multipackages in the OpenPKG package
  +              repository to just a few, or at least less than ten.
  +            </simpara>
  +          </listitem>
  +          <listitem>
  +            <simpara>
  +              Multipackages are considered only for software with major
  +              differences in vendor versions. Issues regarding minor
  +              differences or dificult upgrade paths are to be resolved without
  +              multipackaging the software.
  +            </simpara>
  +          </listitem>
  +          <listitem>
  +            <simpara>
  +              If possible, multipackages should be installable in parallel
  +              within the same OpenPKG instance. No files or paths should
  +              conflict. However, if they must conflict, the packager must
  +              provide a reasonable Conflicts: header in the RPM .spec file.
  +            </simpara>
  +          </listitem>
  +          <listitem>
  +            <simpara>
  +              If multiple versions of package 'foo' exist as multipackages,
  +              they are named 'foo' and 'fooX' where 'foo' must be the latest
  +              stable vendor version (both conditions!) Package 'fooX' can be
  +              either an older version or a newer one that is known to be
  +              unstable. The 'X' in 'fooX' is taken from the first one or two
  +              numbers of the vendor version with all punctuation stripped off.
  +              For example, some multipackages residing in the OpenPKG package
  +              repository to date are gcc2-2.95.4 and gcc-3.1, db3-3.3.11 and
  +              db-4.0.x, apache-1.3.32 and apache2-2.0.32, mysql-3.x.x and
  +              mysql4-4.0.x, and freetype1-1.3.1 and freetype-2.0.x.
  +            </simpara>
  +          </listitem>
  +        </orderedlist>
           </para>
         </sect2>
   
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to