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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-doc                      Date:   02-Oct-2003 13:36:38
  Branch: HEAD                             Handle: 2003100212363800

  Added files:
    openpkg-doc/quickref    openpkg-dev.txt

  Log:
    start collecting my developer quick reference stuff here

  Summary:
    Revision    Changes     Path
    1.1         +171 -0     openpkg-doc/quickref/openpkg-dev.txt
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-doc/quickref/openpkg-dev.txt
  ============================================================================
  $ cvs diff -u -r0 -r1.1 openpkg-dev.txt
  --- /dev/null 2003-10-02 13:36:38.000000000 +0200
  +++ openpkg-dev.txt   2003-10-02 13:36:38.000000000 +0200
  @@ -0,0 +1,171 @@
  +
  +  OpenPKG Quick Reference (DEVELOPMENT)
  +  =====================================
  +
  +  Unpacking And Patching Sources
  +  ==============================
  +
  +  Synopsis
  +  --------
  +
  +  %setup[<x>] [options] 
  +  -q        # quiet unpacking operation
  +  -n <dir>  # set name of directory
  +  -c        # create directory (and change to it) before unpacking
  +  -D        # do not delete directory before unpacking sources
  +  -T        # do not perform default archive unpacking of %{SOURCE<x>}
  +  -b <n>    # also unpack %{SOURCE<n>} before changing to directory
  +              (usually combined with -T, -D)
  +  -a <n>    # also unpack %{SOURCE<n>} after  changing to directory
  +              (usually combined with -T, -D, -c)
  +
  +  %patch[<x>] [options] [<x> ...]
  +  -P        # do not perform default apply of %{PATCH<x>}
  +  -p <#>    # strip <#> leading slashes and directories from patch filenames
  +  -b <ext>  # set the backup file extension to <ext> instead of ".orig"
  +  -E        # remove empty output files
  +  -R        # apply patch as it would be reversed
  +  <x>       # also apply %{PATCH<x>}
  +
  +  Visualization
  +  -------------
  +
  +  Input:
  +    %setup[<x>]                      # default for <x> is 0
  +
  +  Output:
  +    rm -rf <name>-<version>          # changed by -n <dir>, omitted by -D
  +    mkdir <name>-<version>           # changed by -n <dir>, added by -c (else 
omitted)
  +    cd <name>-<version>              # changed by -n <dir>, added by -c (else 
omitted)
  +    gunzip <%{SOURCE<x>} | tar xvf - # omitted by -T,   "xvf" replaced with "xf" by 
-q
  +    gunzip <%{SOURCE<n>} | tar xvf - # added by -b <n>, "xvf" replaced with "xf" by 
-q
  +    cd <name>-<version>              # changed by -n <dir>
  +    gunzip <%{SOURCE<n>} | tar xvf - # added by -a <n>, "xvf" replaced with "xf" by 
-q
  +
  +
  +  Platform Identification
  +  =======================
  +
  +                                       FreeBSD         Linux          Solaris
  +  platform class      %{l_platform -c} ix86-4.4bsd     ix86-lsb1.2    sparc-svr4
  +  platform product    %{l_platform -p} ix86-freebsd4.8 ix86-redhat9   
sparc64-solaris9
  +  platform technology %{l_platform -t} i686-freebsd4.8 i585-linux2.4  sun4u-sunos5.9
  +
  +  Sections And Commands
  +  =====================
  +
  +  --rebuild => -Uvh, -bb, --clean, --rmsource (undocumented), --rmspec 
(undocumented)
  +
  +  %description
  +  %prep
  +  %build
  +  %install
  +  %check   (for rpmlint things)
  +  %files
  +  %clean
  +  %pre
  +  %post
  +  %preun
  +  %postun
  +  %trigger
  +  %triggerin
  +  %triggerun
  +  %triggerpostun
  +  %verifyscript (for custom -V checks)
  +  %package      (not allowed in OpenPKG)
  +  %changelog    (not allowed in OpenPKG)
  +
  +  action                   only this action     up to this action
  +  ------------------------ -------------------- -----------------
  +  execute %prep            -bp --short-circuit  -bp
  +  execute %build           -bc --short-circuit  -bc
  +  execute %install         -bi --short-circuit  -bi
  +  execute %check           N.A.                 N.A.
  +  execute %files           -bl                  N.A.
  +  roll binary RPM package  -bb --short-circuit  N.A.
  +  execute %clean           N.A.                 -bb
  +  roll source RPM package  -bs                  -ba
  +
  +  Script Execution
  +  ----------------
  +
  +  section install erase   upgrade reinstall
  +  ------- ------- ------- ------- ---------
  +  %pre    1       -       2       2
  +  %post   1       -       2       2
  +  %preun  -       0       1       -
  +  %postun -       0       1       -
  +
  +  ("reinstall" is the case where one uses the --force option to rpm (-i or
  +  -U) to install the same version of the package that already is in the
  +  system. "-" means that the scriptlet will not be run in this phase)
  +
  +  The order in which scripts are executed on a single package install:
  +  new-%pre    $1=1 for new version of package being installed
  +  ...              (all new files are installed and override old versions)
  +  new-%post   $1=1 for new version of package being installed
  +
  +  The order in which scripts are executed on a single package upgrade:
  +  new-%pre    $1=2 for new version of package being installed
  +  ...              (all new files are installed and override old versions)
  +  new-%post   $1=2 for new version of package being installed
  +  old-%preun  $1=1 for old version of package being removed
  +  ...              (all old files are removed which are not part of the new package)
  +  old-%postun $1=1 for old version of package being removed
  +
  +  The order in which scripts are executed on a single package erase:
  +  old-%preun  $1=0 for old version of package being removed
  +  ...              (all old files are removed which are not part of the new package)
  +  old-%postun $1=0 for old version of package being removed
  +
  +  Package Variants
  +  ----------------
  +
  +  o Naming Convention
  +    - primary/intended package is named "foo"
  +    - secondary/alternative/compatibility/etc packages are named "fooN"
  +      where "N" is the compressed version string not longer than 2 or 3 digits.
  +    - examples: perl/perl56, gcc/gcc2/gcc33, mysql/mysql4, tomcat/tomcat4
  +
  +  o Alternative Packages
  +    - for using automatically handled package alternatives
  +    - packages conflict by default, because are true alternatives
  +    - intention is that packages are fully equal and compatible, any can be used, 
any is chosen
  +    - multiple existing packages is final solution and will remain in near future
  +    - multiple packages are of different products (only)
  +
  +    Original Package:
  +    | Name:         foo
  +    | Provides:     FOO
  +    
  +    Alternative Packages:
  +    | Name:         fooN
  +    | Provides:     FOO
  +    | %install
  +    |     ln -s $RPM_BUILD_ROOT%{l_prefix}/bin/fooN 
$RPM_BUILD_ROOT%{l_prefix}/bin/foo
  +
  +    Examples: MTA, JDK, JRE, MOTIF, KSH, X11
  +
  +  o Faked Packages
  +    - for using manually enforced package alternatives
  +    - packages do not conflict by default, but on enforcement
  +    - intention is that packages are not fully compatible, only one particular 
should be used, others can be enfored
  +    - multiple existing packages is temporary solution and will certainly change in 
near future
  +    - multiple packages are of different versions of same product (only)
  +
  +    Original Package:
  +    | Name:         foo
  +    
  +    Faked Packages:
  +    | Name:         fooN
  +    | %options      with_foo  no
  +    | %if "%{with_foo}" == "yes"
  +    | Provides:     foo = %{version}-%{release}
  +    | %endif
  +    | %install
  +    | %if "%{with_foo}" == "yes"
  +    |     ln -s $RPM_BUILD_ROOT%{l_prefix}/bin/fooN 
$RPM_BUILD_ROOT%{l_prefix}/bin/foo
  +    | %endif
  +
  +    Examples: perl, gcc, mysql, gd, tomcat
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to