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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   25-Aug-2006 10:31:59
  Branch: HEAD                             Handle: 2006082509315401

  Modified files:
    openpkg-src/openpkg     HISTORY README openpkg.spec

  Log:
    cleanup and bring up-to-date the source tree documentation

  Summary:
    Revision    Changes     Path
    1.365       +2  -0      openpkg-src/openpkg/HISTORY
    1.24        +116 -118   openpkg-src/openpkg/README
    1.517       +10 -9      openpkg-src/openpkg/openpkg.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.364 -r1.365 HISTORY
  --- openpkg-src/openpkg/HISTORY       24 Aug 2006 14:27:19 -0000      1.364
  +++ openpkg-src/openpkg/HISTORY       25 Aug 2006 08:31:54 -0000      1.365
  @@ -2,6 +2,8 @@
   2006
   ====
   
  +20060825 cleanup and bring up-to-date the source tree documentation
  +
   20060824 **** RELEASE AS PART OF OPENPKG 2.20060824 ***
   20060823 upgrade to openpkg-tools 0.8.70
   20060823 create fallback/override directories with owner/group musr/mgrp
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/README
  ============================================================================
  $ cvs diff -u -r1.23 -r1.24 README
  --- openpkg-src/openpkg/README        7 May 2004 14:13:19 -0000       1.23
  +++ openpkg-src/openpkg/README        25 Aug 2006 08:31:55 -0000      1.24
  @@ -9,26 +9,36 @@
     The Files
     ---------
   
  -  README .................. this file ;)
  +  README .................. this file ;-)
  +  HISTORY ................. change history tracking of this package
   
  -  openpkg.boot ............ the bootstrapping procedure
     openpkg.spec ............ the regular build procedure
  +  openpkg.boot ............ the bootstrapping procedure
   
  -  gzip-1.3.5.tar .......... untouched distribution tarball of the GNU gzip 
tool
  -  make-3.80.tar.gz ........ untouched distribution tarball of the GNU make 
tool
  -  patch-2.5.9.tar.gz ...... untouched distribution tarball of the GNU patch 
tool
  -  bash-2.05b.tar.gz ....... untouched distribution tarball of the GNU bash 
tool
  -  tar-1.13.94.tar.gz ...... untouched distribution tarball of the GNU tar 
tool
  -  uuid-1.0.0.tar.gz ....... untouched distribution tarball of the OSSP uuid 
tool
  -  curl-7.11.2.tar.gz ...... untouched distribution tarball of the cURL tool
  -  bzip2-1.0.2.tar.gz ...... untouched distribution tarball of the BZIP2 
library
  -  zlib-1.2.1.tar.gz ....... untouched distribution tarball of the ZLIB 
library
  -  beecrypt-3.1.0.tar.gz ... untouched distribution tarball of the BeeCrypt 
library
  -  rpm-4.2.1.tar.gz ........ untouched distribution tarball of the RPM tool
  +  gzip-*.tar .............. untouched distribution tarball of the GNU gzip 
tool
  +  make-*.tar.gz ........... untouched distribution tarball of the GNU make 
tool
  +  patch-*.tar.gz .......... untouched distribution tarball of the GNU patch 
tool
  +  bash-*.tar.gz ........... untouched distribution tarball of the GNU bash 
tool
  +  tar-*.tar.gz ............ untouched distribution tarball of the GNU tar 
tool
  +  uuid-*.tar.gz ........... untouched distribution tarball of the OSSP uuid 
tool
  +  curl-*.tar.gz ........... untouched distribution tarball of the cURL tool
  +  bzip2-*.tar.gz .......... untouched distribution tarball of the BZIP2 
library
  +  zlib-*.tar.gz ........... untouched distribution tarball of the ZLIB 
library
  +  beecrypt-*.tar.gz ....... untouched distribution tarball of the BeeCrypt 
library
  +  rpm-*.tar.gz ............ untouched distribution tarball of the RPM tool
  +  config-*.tar.gz ......... untouched distribution tarball of the GNU config 
scripts
  +  openpkg-registry-*.tar.gz untouched distribution tarball of the OpenPKG 
Registry
  +  openpkg-tools-*.tar.gz .. untouched distribution tarball of the OpenPKG 
Tool Chain
  +  openssl-*.tar.gz ........ untouched distribution tarball of the OpenSSL 
toolkit
  +  perl-*-mini.tar.gz ...... stripped down distribution tarball of the Perl 
tool
   
     make.patch .............. patch for GNU make
     bash.patch .............. patch for GNU bash
  +  tar.patch ............... patch for GNU tar
     beecrypt.patch .......... patch for BeeCrypt
  +  openssl.patch ........... patch for OpenSSL
  +  perl.patch .............. patch for Perl
  +  gzip.c .................. replacement file for GNU gzip
     rpm.patch.bugfix ........ patch for RPM (bugfixing parts)
     rpm.patch.feature ....... patch for RPM (new features parts)
     rpm.patch.porting ....... patch for RPM (portability enhancement parts)
  @@ -44,14 +54,36 @@
     dot.bash_login .......... the source for installed <prefix>/.bash_login
     dot.lsyncrc ............. the source for installed <prefix>/local/.lsyncrc
   
  +  openpkg.c ............... the OpenPKG frontend (set-uid wrapper)
  +  openpkg.sh .............. the OpenPKG frontend (main script)
  +  openpkg.pod ............. the OpenPKG frontend manual page (source)
  +  openpkg.1 ............... the OpenPKG frontend manual page (pre-generated 
output)
  +
     rc ...................... the OpenPKG run-command handling script
     rc.func ................. the OpenPKG run-command function definitions
     rc.conf ................. the OpenPKG run-command configuration template
     rc.openpkg .............. the OpenPKG run-command script for the bootstrap 
package
  +  rc.pod .................. the OpenPKG run-command script manual page 
(source)
  +  rc.8 .................... the OpenPKG run-command script manual page 
(pre-generated output)
  +
  +  release.sh .............. the OpenPKG release information utility script
  +  release.pod ............. the OpenPKG release information utility manual 
page (source)
  +  release.8 ............... the OpenPKG release information utility manual 
page (pre-generated output)
  +
  +  uuid.sh ................. the OpenPKG UUID management utility script
  +  uuid.pod ................ the OpenPKG UUID management utility manual page 
(source)
  +  uuid.8 .................. the OpenPKG UUID management utility manual page 
(pre-generated output)
  +
  +  rpmdb ................... the OpenPKG RPM database management utility
   
     rpmtool ................. the rpmtool tool (program source)
     rpmtool.8 ............... the rpmtool tool (manual page)
     rpmtool.pod ............. the rpmtool tool (manual page source)
  +  shtool .................. the portable shell tool (GNU shtool)
  +
  +  rpm-config.sh ........... the RPM C API helper script
  +  rpm-config.pod .......... the RPM C API helper manual page (source)
  +  rpm-config.8 ............ the RPM C API helper manual page (pre-generated 
output)
   
     lsync ................... the lsync tool (program source)
     lsync.8 ................. the lsync tool (manual page)
  @@ -62,26 +94,23 @@
     aux.wrapsrc.sh .......... wrapper script for generating openpkg-V-R.src.sh
     aux.wrapbin.sh .......... wrapper script for generating openpkg-V-R.P-L.sh
   
  -  shtool .................. the portable shell tool (GNU shtool)
  -  platform ................ the platform identification script (OSSP 
platform)
  -
  -  rpmx.sh ................. RPM eXtension (Shell wrapper)
  -  rpmx.pl ................. RPM eXtension (Perl program)
  -  mkproxyrpm.pl ........... RPM eXtension (Perl program, --makeproxy part)
  +  pod2man.sh .............. helper script for pre-generating manual page 
outputs
  +  man.sh .................. helper script for "openpkg man" command
  +  install.sh .............. helper script for "openpkg install" command
   
     openpkg.pgp ............. the OpenPGP public key of "The OpenPKG Project"
   
     The Bootstrapping Procedure
     ---------------------------
   
  -  The complexity of this OpenPKG RPM package results from the fact
  -  that we force us to treat this bootstrapping package equal to every
  -  other regular package. This implies first that the packaging tool
  -  RPM is packaged with itself as an OpenPKG RPM package (means: its
  +  The complexity of this OpenPKG RPM package results from the fact that
  +  we force us to treat this bootstrapping package equal to every other
  +  regular OpenPKG RPM package. First, this implies that the packaging
  +  tool RPM is packaged with itself as an OpenPKG RPM package (means: its
     build procedure is a real RPM .spec file and it can be installed and
  -  upgraded through a binary or source RPM), second that RPM is installed
  -  into the same filesystem hierarchy as all other packages and third
  -  that RPM manages its own files. The reason for this should be obvious:
  +  upgraded through a binary or source RPM). Second, RPM is installed
  +  into the same filesystem hierarchy as all other packages. Third, RPM
  +  manages its own files. The reason for this approach should be obvious:
     100% consistency for the whole OpenPKG software packaging facility!
   
     The drawback is that this package requires a very tricky bootstrapping
  @@ -89,101 +118,70 @@
     you ever wanted to know the gory details, here they are...
   
     The first step was that we wrote the regular openpkg.spec file for
  -  building the bootstrap package with RPM under the assumption that RPM
  -  is already available. This way we can provide RPM as an RPM package.
  -  Just remains the problem how we actually bootstrap in the case where
  -  RPM is still not available, i.e., when we reach a new platform and
  -  have to build the package from scratch. Here the openpkg.boot script
  -  comes into play. It executes the openpkg.spec build procedure very
  -  similar to the way RPM would do ("rpm -bb"). That is, openpkg.boot
  -  partly emulates RPM -- just enough that openpkg.spec works. As a
  -  result, openpkg.spec cannot use any fancy RPM features or other things
  -  before openpkg.boot is able to emulate it, of course.
  -
  -  After openpkg.boot executed the %prep, %build and %install scripts
  -  of openpkg.spec, there is a fresh version of the target filesystem
  -  hierarchy staying under a temporary build root. The openpkg.boot
  -  script then creates a very special temporary "rpm" command which
  -  allows the installed "rpm" command inside the build root to work
  -  (although it is built for the final target filesystem path). Then
  -  the $RPM_BOOT variable is set and the package is again "built" via
  -  openpkg.spec -- but this time with the real RPM tool. To avoid
  -  unneccessary re-compilation, the openpkg.spec skips %prep, %build
  -  and %install if $RPM_BOOT is defined, so on this second build phase,
  -  only %files is executed, i.e., a binary RPM openpkg-V-R.P-L.rpm is
  -  rolled from the files in the build root. Additionally, a source RPM
  -  openpkg-V-R.src.rpm is rolled for consistency reasons.
  -
  -  Finally we override the installation in the build root again by
  -  installing the now rolled binary RPM openpkg-V-R.P-L.rpm again by
  -  using the real RPM tool. This way we achieve that RPM is remembered
  -  as an RPM package in its own database. We just have to make sure the
  -  package is still relocated to the build root while installing. For
  -  this we could use --prefix=$RPM_BUILD_ROOT%{l_prefix}, but this would
  +  building the bootstrap package with OpenPKG RPM under the assumption
  +  that OpenPKG RPM is already available. This way we can provide OpenPKG
  +  RPM as an RPM package. Just remains the problem how we actually
  +  bootstrap in case where OpenPKG RPM is still not available, i.e.,
  +  when we reach a new platform and have to build the package from
  +  scratch. Here the "openpkg.boot" script comes into play. It executes
  +  the "openpkg.spec" build procedure very similar to the way the real
  +  OpenPKG RPM would do ("openpkg rpm -bb"). That is, "openpkg.boot"
  +  partly emulates OpenPKG RPM -- just enough that "openpkg.spec" works.
  +  As a result, "openpkg.spec" cannot use any fancy OpenPKG RPM features
  +  or other things before "openpkg.boot" is able to emulate it, of
  +  course.
  +
  +  After "openpkg.boot" executed the "%prep", "%build" and "%install"
  +  scripts of "openpkg.spec", there is a fresh version of the target
  +  filesystem hierarchy staying under a temporary "build root". The
  +  "openpkg.boot" script then creates a very special temporary "openpkg
  +  rpm" command which allows the installed "openpkg rpm" command inside
  +  the "build root" to work (although it is built for the final target
  +  filesystem path). Then the $RPM_BOOT variable is set and the package
  +  is _again_ build via "openpkg.spec" -- but this time with the real
  +  OpenPKG RPM. To avoid unneccessary re-compilation, the "openpkg.spec"
  +  skips "%prep", "%build" and "%install" sections if $RPM_BOOT is
  +  defined. So, on this second build phase, only the "%files" section is
  +  executed, i.e., a binary OpenPKG RPM package "openpkg-V-R.P-T.rpm"
  +  is rolled from the files in the "build root". Additionally, a source
  +  OpenPKG RPM package "openpkg-V-R.src.rpm" is rolled for consistency
  +  reasons.
  +
  +  Finally, we override the installation in the "build root"
  +  again by installing the now rolled binary OpenPKG RPM package
  +  "openpkg-V-R.P-T.rpm" by using the real OpenPKG RPM. This way
  +  we achieve that OpenPKG RPM is remembered as a real OpenPKG RPM
  +  package in the RPM database. We just have to make sure the package
  +  is still relocated to the "build root" while installing. For this
  +  we could use "--prefix=$RPM_BUILD_ROOT%{l_prefix}", but this would
     create an incorrect file list for the package "openpkg" in the RPM
  -  database. Instead we use the tricky --justdb option for "rpm" which
  -  means "rpm" behaves as it would install into the real location, but
  -  does not actually install anything. But as a side-effect, the database
  -  inside the build root is now correct.
  -
  -  After this procedure, the build root contains the target filesystem
  -  hierarchy with RPM installed with itself. What is now remaining is
  -  to roll a bootstrap package with this stuff for initial installation
  -  without RPM. For this the build root is packed into a tarball,
  -  compressed, again wrapped into another tarball together with the
  -  uncompression tools, and finally wrapped into a self-extracting
  -  shell script by appending aux.wrapbin.sh (padded to 64KB for easier
  -  unpacking of the attached tarball) to its front.
  +  database. Instead we use the tricky "--justdb" option for "openpkg
  +  rpm" which means "openpkg rpm" behaves as it would install into the
  +  real location, but does not actually install anything. But as a
  +  side-effect, the database inside the "build root" is now correct.
  +
  +  After this procedure, the "build root" contains the target filesystem
  +  hierarchy with OpenPKG RPM installed with itself. What is now just
  +  remaining is to roll a bootstrap package "openpkg" with this stuff for
  +  initial installation without OpenPKG RPM. For this the "build root"
  +  is packed into a "tarball", compressed, again wrapped into another
  +  tarball together with the uncompression tools ("bzip2" and "tar"),
  +  and finally wrapped into a self-extracting shell script by appending
  +  "aux.wrapbin.sh" (padded to 64KB for easier unpacking of the attached
  +  tarball) to its front.
   
  -  The result is the binary bootstrap script openpkg-V-R.P-L.sh which
  +  The result is the binary bootstrap script "openpkg-V-R.P-T.sh" which
     can be used to install the target hierarchy from scratch without any
  -  pre-installed RPM. Nevetheless the installed target hierarchy looks
  -  _exactly_ as it would have been installed with RPM. If one later wants
  -  to upgrade this hierarchy one can just use the generated or a newer
  -  openpkg-V-R.P-L.rpm.
  +  pre-installed OpenPKG RPM. Nevetheless, the installed target hierarchy
  +  looks _exactly_ as it would have been installed with OpenPKG RPM.
  +  If one later wants to upgrade this hierarchy one can just use the
  +  generated (or a newer) "openpkg-V-R.P-T.rpm".
   
     To allow one to easily repeat this from-source bootstrapping procedure
  -  on other machines, one can run "./openpkg.boot -s" which rolls a
  -  openpkg-V-R.src.sh script which is a self-extracting script containing
  -  an attached tarball of the sources of this directory. This script
  -  contains the same contents like openpkg-V-R.src.rpm, but is intended
  -  for running the described bootstrapping procedure from scratch without
  -  any RPM.
  -
  -  Platforms and Level of Support
  -  ------------------------------
  -
  -  Current this boostrapping package officially supports the following
  -  platforms (older versions are often still working, but no longer
  -  supported):
  -
  -    ix86-freebsd4.9
  -    ix86-freebsd5.1
  -    alpha-freebsd5.1
  -    ix86-debian2.2
  -    ix86-debian3.0
  -    ix86-gentoo1.4
  -    ix86-suse8.2
  -    ix86-redhat9
  -    sparc64-solaris2.6
  -    sparc64-solaris8
  -    sparc64-solaris9
  -    ix86-solaris9
  -    ix86-solaris10
  -    ix86-unixware7.1.3
  -    ix86-darwin6.6.2
  -
  -  The following platforms were supported by older versions of
  -  this package, but their support status is currently not known:
  -
  -    ix86-netbsd1.6
  -    hppa-hpux11.20
  -
  -  For following platforms until now are not supported, but support for
  -  them is planned:
  -
  -    ix86-openbsd2.4
  -    alpha-tru645.X
  -    mips-irix5.X.X
  -    ppc-aix4.X.X
  +  on other machines, one can run "./openpkg.boot -s" which rolls
  +  a "openpkg-V-R.src.sh" script which is a self-extracting script
  +  containing an attached tarball of the sources of this directory. This
  +  script contains the same contents like "openpkg-V-R.src.rpm", but
  +  is intended for running the described bootstrapping procedure from
  +  scratch without any OpenPKG RPM.
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.516 -r1.517 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  24 Aug 2006 14:27:19 -0000      1.516
  +++ openpkg-src/openpkg/openpkg.spec  25 Aug 2006 08:31:55 -0000      1.517
  @@ -22,14 +22,15 @@
   ##  SUCH DAMAGE.
   ##
   
  -#   NOTICE: This RPM specification is _very_ special, because it is
  -#   used both for bootstrapping OpenPKG with its RPM and for regular
  -#   builds of RPM in order to upgrade an existing installation. For this
  -#   it has to interact correctly with the "openpkg.boot" script. See
  -#   this companion script for details, but do not touch anything here
  -#   until you are 100% sure about what you are doing. In short: This
  -#   script is allowed to use only a very restricted subset of the RPM
  -#   functionality!
  +#   NOTICE: This OpenPKG RPM specification is _very_ special, because
  +#   it is used both for bootstrapping OpenPKG with its OpenPKG RPM and
  +#   for regular builds of OpenPKG RPM in order to upgrade an existing
  +#   installation. For this it has to interact correctly with the
  +#   "openpkg.boot" script. See the documentation in the file "README"
  +#   and the source of the companion script "openpkg.boot" for details,
  +#   but do not touch anything here until you are 100% sure about what
  +#   you are doing. In short: This script is allowed to use only a very
  +#   restricted subset of the OpenPKG RPM functionality!
   
   #   BUILD REQUIREMENTS:
   #   o any sh(1)
  @@ -38,7 +39,7 @@
   #   o any cc(1)
   
   #   the package version/release
  -%define       V_openpkg  20060824
  +%define       V_openpkg  20060825
   
   #   the used software versions
   %define       V_rpm      4.2.1
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to