OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Thomas Lotterer
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-re                       Date:   19-Feb-2004 16:22:48
  Branch: HEAD                             Handle: 2004021915224701

  Modified files:
    openpkg-re              news.txt upgrade.txt

  Log:
    fix typos; move --db options from upgrade to news; reduce Debian
    issues to the minimum and reference full details through a link; add
    supported platforms and UUID documentation

  Summary:
    Revision    Changes     Path
    1.31        +304 -21    openpkg-re/news.txt
    1.25        +52 -113    openpkg-re/upgrade.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-re/news.txt
  ============================================================================
  $ cvs diff -u -r1.30 -r1.31 news.txt
  --- openpkg-re/news.txt       17 Feb 2004 22:55:35 -0000      1.30
  +++ openpkg-re/news.txt       19 Feb 2004 15:22:47 -0000      1.31
  @@ -2,7 +2,7 @@
     General Note
     ============
   
  -  o $Revision: 1.30 $. The most recent update of this file can be
  +  o $Revision: 1.31 $. The most recent update of this file can be
       downloaded from http://cvs.openpkg.org/openpkg-re/news.txt
   
     o This file news.txt file talks about new features and major
  @@ -17,11 +17,12 @@
     o OpenPKG 1.1: {s,m,r,n}{usr,grp}, sane build env., with_xxx options, proxy 
packages
     o OpenPKG 1.2: %option, OSSP fsl (I), Perl 5.8, openpkg-perl.sh+site_perl, 
openpkg-tool
     o OpenPKG 1.3: GCC 3.3, OSSP fsl (II), worked-off RC facility
  -  o OpenPKG 2.0: %track, Class:, RPM 4.2, shtool plaform, OSSP uuid, tags, 
openpkg-perl.pl+vendor_perl
  +  o OpenPKG 2.0: %track, Class:, RPM 4.2, shtool platform, OSSP uuid, tags, 
openpkg-perl.pl+vendor_perl
   
     Essentials about OpenPKG 2.0
     ============================
   
  +  o Major Release
     o Bootstrap Package ("openpkg"):
       - upgraded from RPM 4.0.4 to RPM 4.2.1
       - new RPM DB format (upgrade from Berkeley DB 3.2 to 4.1)
  @@ -32,30 +33,29 @@
       - more accurate removal of all temporary build files
       - new "rpm -bb --short-circuit"
       - "rpm -bs" no longer requires source dependencies
  -    - new "%track" section (containing the vcheck(1) configs) and "rpm --track"
  -    - new "%test" section (for forthcoming test suites) and "rpm --test"
  +    - new "%track" section replaces vc.* files
  +    - new "%test" section test [unused, reserved for future use] for quality 
assurance
       - new "Class:" header (for CORE,BASE,PLUS,EVAL,JUNK tagging)
       - new platform identification (via our GNU shtool 2.0's new 'platform' command)
       - platform and instance identification via UUID (via our new OSSP uuid toolkit)
  -    - new convinience CLI options "--with <name>" and "--without <name>"
  +    - new convenience CLI options "--with <name>" and "--without <name>"
       - RPM now internally uses transactions
       - RPM now is able to perform concurrently (allowing RPM to be called from RPM)
  -    - most of the CORE packages are OpenPKG "branded" now
  +    - many of the CORE packages are OpenPKG "branded" now
       - the RPM C API is installed and available via "rpm-config" utility
       - new --tar option eases extraction of shell archive ingredients aiding 
recovery activities
     o Upgraded to Perl 5.8.3 and completely worked off Perl module packaging 
(perl-openpkg)
     o Completely worked off Run-Command (RC) facility now also for PLUS and EVAL 
class packages.
     o All packages were upgraded to their latest vendor versions as of YX-Feb-2004.
  -  o Increased release class packages from 400 (in OpenPKG 1.3) to now 474 
  -  o Increased number of supported platforms to XX
  +  o Increased release class packages from 400 (in OpenPKG 1.3) to now 473 
     o Thousands of packaging bugfixes and vendor source code portations
   
     Major changes between OpenPKG 1.3 and OpenPKG 2.0
     =================================================
   
  -  o Major Version
  +  o Major Release
   
  -    OpenPKG version numbering is driven by technical enhancements and
  +    OpenPKG release numbering is driven by technical enhancements and
       release engineering requirements, not by marketing. The technical
       change is that we now have RPM 4.2.1 under the hood. The engineering
       changes are (for the time being) the discontinuation of a STABLE
  @@ -63,17 +63,281 @@
       will experience a flat learning curve when he starts working with
       the new 2.0 release.
   
  +  o Supported Platforms
  +
  +    OpenPKG 2.0 fully supports the following platforms and
  +    provides binaries of packages from the CORE+BASE classes.
  +
  +        ix86-freebsd4.9     FreeBSD 4.9
  +        ix86-freebsd5.2     FreeBSD 5.2
  +        ix86-debian3.0      Debian GNU/Linux 3.0
  +        ix86-debian3.1      Debian GNU/Linux 3.1
  +        ix86-fedora1        Red Hat Fedora Core 1
  +        ix86-rhel3          Red Hat Enterprise Linux 3
  +        ix86-suse9.0        SuSE Linux 9.0
  +        ix86-solaris9       Sun Solaris 9
  +        sparc64-solaris8    Sun Solaris 8
  +        sparc64-solaris9    Sun Solaris 9
  +        ix86-solaris10      Sun Solaris 10
  +
  +    OpenPKG 2.0 also supports the following platforms and
  +    provides binaries of packages from the CORE class.
  +
  +        ix86-debian2.2      Debian GNU/Linux 2.2
  +        ix86-rhl9           Red Hat Linux 9
  +        ix86-suse8.2        SuSE Linux 8.2
  +        ix86-gentoo1.4.3    Gentoo Linux 1.4
  +        sparc64-solaris2.6  Sun Solaris 2.6
  +
  +    OpenPKG 2.0 does not come with binaries for other platforms.
  +    No binaries are provided for PLUS packages.
  +    Updates are only available as source packages.
  +
  +    Packages with a class different from CORE, BASE, PLUS are not part
  +    of the release. They are only available as CURRENT source packages.
  +
  +  o new prefix for binary packages
  +
  +    OpenPKG 2.0 comes with binaries build for /openpkg prefix.
  +    Previously they were build for /cw prefix.
  +
  +  o new command line interface
  +
  +    The official command line user interface to rpm is the new
  +    %{l_prefix}/bin/openpkg command multiplexer with the "rpm"
  +    subcommand. The direct execution of %{l_prefix}/bin/rpm is
  +    deprecated. For more information see "%{l_prefix}/bin/rpm and
  +    %{l_prefix}/bin/rpm2cpio deprecated" in news.txt file.
  +
  +  o new RPM header
  +
  +    - Class: header to specify status, one of CORE,BASE,PLUS,EVAL,JUNK
  +      See http://cvs.openpkg.org/chngview?cn=14532
  +
  +  o new RPM sections
  +
  +    - %track contains version tracking information and replaces vc.*
  +      files previously stored in separate files in the release
  +      engineering area of the CVS repository.
  +      
  +      $ %{l_prefix}/bin/openpkg rpm --track
  +
  +    - %test [unused, reserved for future use] for quality assurance.
  +
  +      $ %{l_prefix}/bin/openpkg rpm --test
  +
  +  o new tag feature
  +
  +    In OpenPKG v1.x, binaries were named
  +    "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}-%{OS}-%{l_location}.rpm"
  +    where location was computed during installation of the bootstrap
  +    and hardcoded for all binaries being build with that bootstrap. The
  +    prefix of the hierarchy was the input for location id creation.
  +
  +    In OpenPKG v2.x, the location id was replaced by a user
  +    configurable tag. The tag can be specified during bootstrap
  +    using the new --tag=xxx option. It is then used as a default
  +    for every binary package being build. It can be overridden for
  +    every individual binary package by specifying the --tag=xxx
  +    option on a --rebuild or -bb or -ba command line. See
  +    http://cvs.openpkg.org/chngview?cn=14312
  +
  +    The tag is even more powerful as it is not a constant string but a
  +    macro that is expanded during the build process. This allows for
  +    creation of dynamic tags.
  +    
  +    More precisely from a users perspective the tag is actually a tag
  +    format (tagfmt). To enhance convenience for the user some predefined
  +    combinations or macros are provided which can be specified using
  +    their name in angle brackets. The default tagfmt is <compat> (FIXME
  +    reality currently is <loc>) which provides exactly the same output
  +    as OpenPKG v1.3 did.
  +
  +    Predefined tagfmt's (just omit the %l_tag_fmt_ prefix) are:
  +
  +    - %l_tag_fmt_compat location id (compatible to OpenPKG v1.x) FIXME
  +    - %l_tag_fmt_loc    location id (improved)
  +    - %l_tag_fmt_opt    UUID based on with_xxx options
  +    - %l_tag_fmt_uuid   UUID
  +    - %l_tag_fmt_time   date and time of build
  +    - %l_tag_fmt_user   user doing the build
  +    - %l_tag_fmt_host   host that run the build
  +
  +    The predefined tagfmt's are not limits, just examples. Use any
  +    combination of predefined tags, RPM macros and constants to create
  +    a tagfmt, i.e. "<user>binary<opt>at<time>on<host>". Note that the
  +    resulting tag can have any character valid for creating a filename
  +    but a dash. No error is created for dashes, they are silently
  +    removed.
  +
  +    Keep in mind the tag feature is a function of the bootstrap that is
  +    doing the build. An upgrade is run by the existing (old) bootstrap
  +    which means that the tag feature is not yet available. Unless you're
  +    hacking the rpmmacros file manually, the easiest way to get the tag
  +    option on upgrades is to upgrade twice. First to get the new code
  +    with the new feature but not using it as the build runs with the
  +    old code. Then once again building the new code, this time with the
  +    already new code itself, having the feature available.
  +    
  +    There is another reason why an intermediate step will be required
  +    during an upgrade, see "Class" header below.
  +
  +  o new UUID feature
  +
  +    OpenPKG 2.0 creates three universal unique identifiers (UUIDs) for
  +    every instance and stores them in the %{l_prefix}/etc/openpkg/uuid
  +    file using a very easy to parse key="value" format. The file can be
  +    sourced from a shell to set the three variables. Example:
  +    
  +        UUID_REGISTRY="0e046c16-6252-11d8-8277-000d9d9784cf"
  +        UUID_INSTANCE="db1733cb-b4f1-3d40-9b6b-0eb4dfec965b"
  +        UUID_PLATFORM="61a4580d-b45c-388f-a9b9-9887780a8b2d"
  +
  +    The three UUIDs can be used to uniqely and ultimately identify a
  +    OpenPKG instance. Currently OpenPKG does not use this information
  +    unless you explictly tell it to do so. It provides the information
  +    to enable additional services and functionality in the future. A
  +    typical application is to use the UUIDs as the key to identify an
  +    instance in a enterprise software inventory.
  +
  +    UUID_REGISTRY is based on time and node address. It is unique
  +    for every installation. A bootstrap (re)installed multiple times
  +    will never yield the same UUID. This ID is updated only during
  +    installation or after the ID was reset to zero. If you do not want
  +    to leak the node address information, reset and run the update
  +    process manually and enforce node address to be replaced by random
  +    multicast address, as descibed below.
  +
  +    UUID_INSTANCE is based on instance related information like prefix
  +    and user ids. All installations having exactly the same paramters
  +    will have the same UUID. This ID is updated during installation,
  +    on every system startup (rc.openpkg %start) and daily (rc.openpkg
  +    %daily). Can be used to detect if a 
  +
  +    UUID_PLATFORM is based on host name and network information. All
  +    installations having exactly the same paramters will have the same
  +    UUID. This ID is updated during installation, on every system
  +    startup (rc.openpkg %start) and daily (rc.openpkg %daily). Can be
  +    used to detect relocated instances or instances on mobile platforms.
  +
  +    We understand that the provisioning of UUIDs is not welcome by
  +    everybody. People tend to be afraid
  +    
  +    - which data is used to create the UUID
  +    - where it is send to
  +    - how much information can be recovered by the recipient
  +
  +    We provide a way for the user to reproduce how the UUIDs are
  +    generated. Full transparency here.
  +
  +    Currently OpenPKG does not send the data anywhere. It is not used
  +    by OpenPKG. We believe OpenPKG takes the open source concept to the
  +    extreme (i.e. we provide public access to our CVS which contains
  +    forthcoming press releases and all the code of our web site) and
  +    this ensures our work is transparent. It is easy to verify we do not
  +    include code to send the data anywhere.
  +
  +    A UUID can be made up of input data and/or randomness. We provide a
  +    way for the user to decode UUIDs. Full transparency here.
  +
  +    The UUID needs of OpenPKG triggered the creation of OSSP uuid which
  +    is included in the bootstrap. To reproduce how the UUIDs were
  +    generated and to see which information can be decoded. The user
  +    might run one of two alternatives:
  +
  +    $ %{l_prefix}/etc/rc openpkg info
  +    $ %{l_prefix}/bin/openpkg uuid info
  +
  +    OpenPKG Summary of Identification Information
  +    =============================================
  +
  +    OpenPKG Registry
  +        System Time:           2004-02-18 20:35:56.944079.0 UTC
  +        System Clock Sequence: 631 (usually random)
  +        System Node Address:   00:0d:9d:97:84:cf (global unicast)
  +        UUID_REGISTRY:         0e046c16-6252-11d8-8277-000d9d9784cf
  +
  +    OpenPKG Instance
  +        Release:               OpenPKG-2.0
  +        Prefix:                /openpkg
  +        Super Account:         root(0):wheel(0)
  +        Management Account:    openpkg(42000):openpkg(42000)
  +        Restricted Account:    openpkg-r(42001):openpkg-r(42001)
  +        Nonprivileged Account: openpkg-n(42002):openpkg-n(42002)
  +        UUID_INSTANCE:         db1733cb-b4f1-3d40-9b6b-0eb4dfec965b
  +
  +    OpenPKG Platform
  +        Platform Id:           ix86-freebsd4.9
  +        Host Name:             dv1.dev.de.cw.net
  +        Host IP Address #1     127.0.0.1
  +        Host IP Address #2     141.1.23.34
  +        Host IP Address #3     ::1
  +        Host IP Address #4     fe80::1%lo0
  +        Host IP Address #5     fe80::20d:9dff:fe97:84ce%bge1
  +        Host IP Address #6     fe80::20d:9dff:fe97:84cf%bge0
  +        UUID_PLATFORM:         61a4580d-b45c-388f-a9b9-9887780a8b2d
  +
  +    It should be pointed out that time based UUID Registry can never be
  +    reproduced completely. That's what UUIDs were invented for. However,
  +    you can manually reset to zero and update with multicast to hide the
  +    node address. This change is visible. The input based UUIDs Instance
  +    and Platform can be reproduced completely. However, the algorithm to
  +    create a UUID from input is a message digest (MD5) function which
  +    does not allow to extract the original information from the UUID. At
  +    best it can be used to compare with another UUID created with known
  +    input. More details can be learned by running the following UUID
  +    related commands with the --verbose option.
  +
  +    - reset UUID by zeroing out data. Useful before update or to prepare
  +      a machine before cloning the hard disk drive.
  +
  +        $ %{l_prefix}/bin/openpkg uuid reset
  +
  +    - update UUID. Same what rc.openpkg %start and %daily do. Alters
  +      Registry only when reset to zero. Writes file only when Registry,
  +      Instance or Platform changed, so time stamp can be monitored.
  +
  +        $ %{l_prefix}/bin/openpkg uuid update
  +        $ %{l_prefix}/bin/openpkg uuid -m update #multicast
  +
  +    - query UUID information. See "Summary of Identification
  +      Information" above.
  +
  +        $ %{l_prefix}/bin/openpkg uuid info
  +
     o Extensions to RPM 4.2.1:
   
  -    --db-{build,rebuild,cleanup,fixate}
  -    accurate removal of temporary files
  -    -bb --short-circuit
  -    [TODO] %track section (old vcheck files vc.*)
  -    [TODO] %test section (for forthcoming test suites)
  -    [TODO] Class: header (for CORE,BASE,PLUS,EVAL,JUNK)
  -    ...FIXME...
  +    - accurate removal of temporary files
  +
  +    - ability to short-circuit from -bi to -bb step
  +
  +      $ %{l_prefix}/bin/openpkg rpm -bb --short-circuit
  +
  +  o RPM DB administration
  +
  +    A new <prefix>/lib/openpkg/rpmdb utility is available for
  +    administrating the RPM database on the lower level.
   
  -  o Upgraded from RPM 4.0.2 to RPM 4.2.1.
  +    Build new RPM DB. This is a destructive operation. You have to know
  +    what you are doing.
  +
  +      $ %{l_prefix}/bin/openpkg rpm --db-build
  +
  +    Rebuild new from old database. Reasonable after upgrades or on DB
  +    corruption.
  +
  +      $ %{l_prefix}/bin/openpkg rpm --db-rebuild
  +
  +    Cleanup existing database. Reasonable after DB out-of-sync
  +    situations.
  +
  +      $ %{l_prefix}/bin/openpkg rpm --db-cleanup
  +
  +    Fixate existing database. Harmless operation. Fixating files only.
  +
  +      $ %{l_prefix}/bin/openpkg rpm --db-fixate
  +
  +  o Features inherited from RPM 4.0.2 to RPM 4.2.1 upgrade
   
       - Query Pattern Matching
       
  @@ -107,7 +371,7 @@
         RPM 4.2 now uses the BeeCrypt cryptography library for verification
         of signatures. Previously one needed an externally available GnuPG.
         GnuPG now is only needed for creating signatures. Additionally, RPM
  -      4.2 manages OpenPGP publuc keys in its RPM database similar to real
  +      4.2 manages OpenPGP public keys in its RPM database similar to real
         packages (they even can be seen as pseudo-packages "gpg-pubkey-XXXXX"
         under query operations). The OpenPKG bootstrap (and also the regular
         upgrade procedure) now especially imports the OpenPKG OpenPGP public
  @@ -140,7 +404,7 @@
       
         RPM 4.2 now uses an enhanced version of the POPT library, which
         especially allows special "argument eating" markers "!#:+" to be
  -      used in the rpmpopt file. This allowed us now to provide convinience
  +      used in the rpmpopt file. This allowed us now to provide convenience
         macros for %option handling on the command line:
       
         --with    foo          => --define 'with_foo yes' => %option with_foo yes
  @@ -227,6 +491,25 @@
   
       FIXME http://www.openpkg.org/cvs.png needs be fixed.
   
  +  o new ndbm behaviour
  +
  +    Vendors begin to remove ndbm from their distributions.
  +    Debian 3.1 (sarge) is known to be one of them. OpenPKG
  +    2.0 uses its ndbm compatiblity provided by gdbm. See
  +    http://cvs.openpkg.org/chngview?cn=14710
  +
  +  o Debian 3.1 (sarge) install-info causing info.dir trouble
  +
  +    The install-info that ships with Debian 3.1 (sarge) causes info.dir
  +    files to appear in multiple packages. These packages conflict with
  +    each other. See http://cvs.openpkg.org/chngview?cn=14711. The
  +    workaround to have OpenPKG v2.0 build binary RPMs on Debian v3.1
  +    is to have the Debian install-info either not installed at all or
  +    temporary replaced by /bin/true, i.e. using:
  +
  +      # mv /usr/sbin/install-info /usr/sbin/install-info.debian
  +      # ln -s /bin/true /usr/sbin/install-info
  +
     o New platform identification (%{l_platform})
   
       ...FIXME...
  @@ -452,7 +735,7 @@
   
       3. run "openpkg build -Ua | sh -" to actually update your instance.
   
  -    4. For convinience reasons you can pre-config options in
  +    4. For convenience reasons you can pre-config options in
          $HOME/.openpkg/build. My rc file on en1 for instance looks like:
   
          | -R /usr/opkg/bin/rpm
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-re/upgrade.txt
  ============================================================================
  $ cvs diff -u -r1.24 -r1.25 upgrade.txt
  --- openpkg-re/upgrade.txt    19 Feb 2004 09:56:00 -0000      1.24
  +++ openpkg-re/upgrade.txt    19 Feb 2004 15:22:48 -0000      1.25
  @@ -2,7 +2,7 @@
     General Notes
     =============
   
  -  o $Revision: 1.24 $. The most recent update of this file can be
  +  o $Revision: 1.25 $. The most recent update of this file can be
       downloaded from http://cvs.openpkg.org/openpkg-re/upgrade.txt
   
     o This file upgrade.txt file talks about tweaks and quirks when
  @@ -38,13 +38,17 @@
     Upgrade from OpenPKG 1.3 to OpenPKG 2.0
     =======================================
   
  -  o RPM 4.0.2 to 4.2.1:
  +  o one way ticket
   
  -    you can't go back and require a --db-rebuild afterwards!
  +    Upgrading the bootstrap from RPM 4.0.2 based OpenPKG 1.3 to RPM
  +    4.2.1 based OpenPKG 2.0 is irreversible. You can't go back!
  +    
  +  o database conversion
   
  -  o if RPM hangs during installation of a package or you get a
  -    "Resource temporarily unavailable", it's time for --db-rebuild
  +    After upgrading you must run --db-rebuild.
   
  +  o RPM hangs or reports "Resource temporarily unavailable"
  +  
       Be sure no rpm process is hanging around and locking the database.
   
       $ /cw/bin/rpm --db-rebuild
  @@ -56,30 +60,6 @@
       rpmdb: performing read/write operation on RPM database
       rpmdb: making sure RPM database files have consistent attributes
   
  -    More background information from openpkg.spec log (revision 1.219):
  -    Completely revamp the RPM database fiddling:
  -
  -    Introduce new <prefix>/lib/openpkg/rpmdb utility for administrating
  -    the RPM database on the lower level and hook it into the
  -    <prefix>/bin/rpm command line with four options:
  -
  -    --db-build    RPM database administration: build new
  -                  database (destructive operation; you have
  -                  to know what you are doing)
  -
  -    --db-rebuild  RPM database administration: rebuild new
  -                  from old database (upgrading operation;
  -                  reasonable after upgrades or on DB
  -                  corruption)
  -
  -    --db-cleanup  RPM database administration: cleanup
  -                  existing database (cleaning operation;
  -                  reasonable after DB out-of-sync situations)
  -
  -    --db-fixate   RPM database administration: fixate
  -                  existing database (harmless operation; for
  -                  fixating files only)
  -
     o the following options were renamed
   
       OpenPKG v1.3           OpenPKG 2.0
  @@ -96,115 +76,74 @@
       with_openssl           with_ssl          
       with_tls               with_ssl
   
  -  o ndbm
  +  o new ndbm behaviour
   
       Vendors begin to remove ndbm from their distributions. Debian 3.1
  -    (sarge) is known to be one of them. Go the OpenPKG independence
  -    way and use own ndbm compatiblity provided by gdbm. This might
  -    break existing installations due to gdbm_ndbm not being file format
  -    compatible to vendor ndbm. Existing ndbm files must be rebuild or
  -    applications must explicitly use vendor ndbm (if available) by being
  -    build with no gdbm_ndbm. See http://cvs.openpkg.org/chngview?cn=14523
  +    (sarge) is known to be one of them. OpenPKG 2.0 uses its ndbm
  +    compatiblity provided by gdbm.
  +
  +    However, installations mixing vendor and OpenPKG stuff and
  +    existing installations upgrading might run into trouble. The
  +    reason is that gdbm::with_ndbm supports a ndbm API, makes
  +    the build process of the application happy and allows them
  +    to install and run. But the gdbm::with_ndbm file format on
  +    disk is very likely different from that of the vendor's ndbm
  +    implementation. Upgrades from OpenPKG v1.3 will have used the
  +    vendor ndbm previously. Now they use gdbm::with_ndbm. Any
  +    damage can happen, from destroyed ndbm files to appliation
  +    crashes to application malfunction (i.e. apache mod_auth_xxx
  +    unable to read old ndbm and accidentally grant access). Both
  +    fresh installs and upgrades might run into trouble when they
  +    mix vendor and OpenPKG software, i.e. use a vendor password
  +    creation/maintenance tool which writes vendor ndbm files and use
  +    OpenPKG v2.0 application which reads gdbm::with_ndbm file format.
  +    See http://cvs.openpkg.org/chngview?cn=14523
  +
  +    Upgraders have two options:
  +
  +    1.) build gdbm with_ndbm=no and build apache with_gdbm_ndbm=no.
  +        This reverts to the old behaviour of using the vendor ndbm
  +        and, of course, only works on OS that provide one.
  +
  +    2.) convert/recreate your ndbm databases.
   
     o axed out the support for the obsoleted PHP3
     
       suPHP can be use on legacy setups.
   
  -  o new tag feature to replace location id
  -
  -    In OpenPKG v1.x, binaries were named
  -    "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}-%{OS}-%{l_location}.rpm"
  -    where location was computed during installation of the bootstrap
  -    and hardcoded for all binaries being build with that bootstrap. The
  -    prefix of the hierarchy was the input for location id creation.
  -
  -    In OpenPKG v2.x, the location id was replaced by a user
  -    configurable tag. The tag can be specified during bootstrap
  -    using the new --tag=xxx option. It is then used as a default
  -    for every binary package being build. It can be overridden for
  -    every individual binary package by specifying the --tag=xxx
  -    option on a --rebuild or -bb or -ba command line. See
  -    http://cvs.openpkg.org/chngview?cn=14312
  -
  -    The tag is even more powerful as it is not a constant string but a
  -    macro that is expanded during the build process. This allows for
  -    creation of dynamic tags.
  -    
  -    More precisely from a users perspective the tag is actually a tag
  -    format (tagfmt). To enhance convenience for the user some predefined
  -    combinations or macros are provided which can be specified using
  -    their name in angle brackets. The default tagfmt is <compat> (FIXME
  -    reality currently is <loc>) which provides exactly the same output
  -    as OpenPKG v1.3 did.
  -
  -    Predefined tagfmt's (just omit the %l_tag_fmt_ prefix) are:
  -
  -    - %l_tag_fmt_compat location id (compatible to OpenPKG v1.x) FIXME
  -    - %l_tag_fmt_loc    location id (improved)
  -    - %l_tag_fmt_opt    UUID based on with_xxx options
  -    - %l_tag_fmt_uuid   UUID
  -    - %l_tag_fmt_time   date and time of build
  -    - %l_tag_fmt_user   user doing the build
  -    - %l_tag_fmt_host   host that run the build
  -
  -    The predefined tagfmt's are not limits, just examples. Use any
  -    combination of predefined tags, RPM macros and constants to create
  -    a tagfmt, i.e. "<user>binary<opt>at<time>on<host>". Note that the
  -    resulting tag can have any character valid for creating a filename
  -    but a dash. No error is created for dashes, they are silently
  -    removed.
  -
  -    Keep in mind the tag feature is a function of the bootstrap that is
  -    doing the build. An upgrade is run by the existing (old) bootstrap
  -    which means that the tag feature is not yet available. Unless you're
  -    hacking the rpmmacros file manually, the easiest way to get the tag
  -    option on upgrades is to upgrade twice. First to get the new code
  -    with the new feature but not using it as the build runs with the
  -    old code. Then once again building the new code, this time with the
  -    already new code itself, having the feature available.
  -    
  -    There is another reason why an intermediate step will be required
  -    during an upgrade, see "Class" header below.
  -
  -  o new RPM functionality specific to OpenPKG
  -
  -    "%track" section which will become the new vcheck(1) source
  -    "%test" section which will allow run-time testing
  -    "Class" header which will become the new package class source 
  -    See http://cvs.openpkg.org/chngview?cn=14532
  -
     o upgrade procedure with intermediate step
   
       While RPM silently ignores unknown sections, the introduction of
  -    new headers like "Class" inhibits older RPMs from parsing the spec
  +    the new "Class:" header inhibits older RPMs from parsing the spec
       file. Thus an old RPM will refuse to accept packages leveraging
       such a feature. For all but one packages it means that the OpenPKG
       bootstrap package "openpkg" has to be upgraded first. The upgrade
       of the "openpkg" package itself is an exception that requires
       additional steps.
   
  -    FIXME [alternatives listed]
  -
  -    - we provide an intermediate 2.0.UPGRADE package which can be
  -      installed using a 1.x bootstrap. This 2.0.UPGRADE is only
  -      supported to fulfill one operation: upgrade to the real 2.0.0
  -      bootstrap.
  +    - we provide an intermediate openpkg-1.9.9-2.0.0.src.rpm (no src.sh)
  +      package which can be installed using a 1.x bootstrap. This
  +      intermediate package is only supported to fulfill one operation:
  +      upgrade to the real 2.0.0 bootstrap.
   
  -    - install 2.0.0 source RPM, filter the offending header out from the
  +    - install 2.0.0 source RPM, filter the offending "Class:" header out from the
         spec and build binary.
          
       - get ingredients from 2.0.0 source RPM using rpm2cpio, filter the
         offending header out from the spec and build binary.
   
  -    There is another reason why an intermediate step will be required
  -    during an upgrade, see "tag" feature above.
  +  o new tag feature to replace location id
  +
  +    Using an intermediate step during an upgrade allows the new tag
  +    feature to be engaged for the bootstrap. See "new tag feature" in
  +    news.txt file.
   
     o %{l_prefix}/bin/rpm and %{l_prefix}/bin/rpm2cpio deprecated
   
       Direct execution of %{l_prefix}/bin/rpm and %{l_prefix}/bin/rpm2cpio
  -    is deprecated. The binaries were relocated. Switch to using the new
  -    %{l_prefix}/bin/openpkg command multiplexer and use the appropriate
  -    subcommand, i.e.
  +    is deprecated. The executable binaries were relocated. Switch to
  +    using the new %{l_prefix}/bin/openpkg command multiplexer and use
  +    the appropriate subcommand, i.e.
   
           $ /13/bin/rpm -qi openpkg
           $ /20/bin/openpkg rpm -qi openpkg
  @@ -268,7 +207,7 @@
   
       - openpkg-tool is available as CURRENT package
   
  -  o package version numbering changes
  +  o package version numbering changed
   
       OpenPKG uses a package naming scheme that starts with
       <name>-<version>-<release>. Details can be reviewed at
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to