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:   22-Jun-2006 09:36:35
  Branch: OPENPKG_2_STABLE                 Handle: 2006062208363102

  Added files:              (Branch: OPENPKG_2_STABLE)
    openpkg-src/openpkg     release.8 release.pod release.sh
  Modified files:           (Branch: OPENPKG_2_STABLE)
    openpkg-src/openpkg     HISTORY build.sh install.sh lsync.8 openpkg.1
                            openpkg.spec pod2man.sh rc rc.8 rpm-config.8
                            rpmmacros rpmtool.8 uuid.8

  Log:
    MFC: all changes from CURRENT up to 20060622

  Summary:
    Revision    Changes     Path
    1.337.2.1   +5  -0      openpkg-src/openpkg/HISTORY
    1.2.2.1     +20 -23     openpkg-src/openpkg/build.sh
    1.9.2.1     +12 -17     openpkg-src/openpkg/install.sh
    1.6.12.1    +6  -6      openpkg-src/openpkg/lsync.8
    1.2.10.1    +1  -1      openpkg-src/openpkg/openpkg.1
    1.490.2.2   +11 -1      openpkg-src/openpkg/openpkg.spec
    1.4.12.1    +1  -0      openpkg-src/openpkg/pod2man.sh
    1.62.2.1    +1  -1      openpkg-src/openpkg/rc
    1.6.10.1    +1  -1      openpkg-src/openpkg/rc.8
    1.1.2.2     +219 -0     openpkg-src/openpkg/release.8
    1.1.2.2     +122 -0     openpkg-src/openpkg/release.pod
    1.1.2.2     +139 -0     openpkg-src/openpkg/release.sh
    1.3.12.1    +1  -1      openpkg-src/openpkg/rpm-config.8
    1.74.2.1    +5  -5      openpkg-src/openpkg/rpmmacros
    1.9.12.1    +1  -1      openpkg-src/openpkg/rpmtool.8
    1.1.14.1    +1  -1      openpkg-src/openpkg/uuid.8
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.337 -r1.337.2.1 HISTORY
  --- openpkg-src/openpkg/HISTORY       19 Jun 2006 09:54:00 -0000      1.337
  +++ openpkg-src/openpkg/HISTORY       22 Jun 2006 07:36:31 -0000      
1.337.2.1
  @@ -2,6 +2,11 @@
   2006
   ====
   
  +20060622 do not rely on RPM's smartness to not expand "%x" when we actually 
meant "%%x"
  +20060621 use new "openpkg release" for "openpkg install" and "openpkg build" 
commands
  +20060621 use new "openpkg release" for %{l_openpkg_release} macro
  +20060621 added "openpkg release" command for more precise OpenPKG 
distribution tag and URL determination
  +20060621 complain also about .rpmsave/.rpmnew files if it is a symbolic link 
(usually created manually)
   20060619 downgrade to cURL 7.15.3 til a suitable solution for long 
line-capable 'grep -e' is found
   20060619 backout SMF and revert to classic System V init style on Solaris 10 
due to complete brokenness
   20060618 support bootstrap "Release:" tags for N-STABLE branches 
("N.YYYMMDD")
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/build.sh
  ============================================================================
  $ cvs diff -u -r1.2 -r1.2.2.1 build.sh
  --- openpkg-src/openpkg/build.sh      17 May 2006 07:35:30 -0000      1.2
  +++ openpkg-src/openpkg/build.sh      22 Jun 2006 07:36:31 -0000      1.2.2.1
  @@ -28,33 +28,27 @@
   ##  in order to bootstrap the installation of the OpenPKG Tool Chain.
   ##
   
  -#   determine OpenPKG release and download URLs
  -release=`$OPENPKG_PREFIX/bin/openpkg rpm --eval '%{l_openpkg_release -F 
"%s"}'`
  -case "$release" in
  -    CURRENT )
  -        url_src="ftp://ftp.openpkg.org/current/SRC";
  -        url_upd=""
  -        ;;
  -    [0-9].[0-9] )
  -        url_src="ftp://ftp.openpkg.org/release/$release/SRC";
  -        url_upd="ftp://ftp.openpkg.org/release/$release/UPD";
  -        ;;
  -    * )
  -        echo "openpkg:ERROR: invalid OpenPKG release \"$release\"" 1>&2
  -        exit 1
  -        ;;
  -esac
  +#   determine OpenPKG distribution URLs (part 1)
  +url_raw=`$OPENPKG_PREFIX/bin/openpkg release --fmt="%u"`
  +url_src=""
  +url_upd=""
   
  -#   mimimum command line option parsing
  +#   minimum command line option parsing
   while [ $# -gt 0 ]; do
       case "$1" in
  -        -r  ) shift; url_src="$1"; url_upd=""; shift ;;
  -        -r* ) url_src="${1/-r/}"; url_upd="" shift ;;
  +        -r  ) shift; url_raw="$1"; shift ;;
  +        -r* ) url_raw="${1/-r/}";  shift ;;
           *   ) break ;;
       esac
   done
  -case "$url_src" in
  -    /* ) url_src="file://$url_src" ;;
  +case "$url_raw" in
  +    /* ) url_raw="file://$url_raw" ;;
  +esac
  +
  +#   determine OpenPKG distribution URLs (part 2)
  +case "$url_raw" in
  +    */SRC ) ;;
  +    * ) url_src="$url_raw/SRC"; url_upd="$url_raw/UPD" ;;
   esac
   
   #   sanity check usage
  @@ -78,7 +72,7 @@
       #   determine latest package version and URL
       pkg_srpm=""
       pkg_name=""
  -    for url in $url_upd $url_src; do
  +    for url in $url_upd $url_src $url_raw; do
           if [ ".$url" = . ]; then
               continue
           fi
  @@ -101,7 +95,10 @@
           if [ ".$url_upd" != . ]; then
               echo "openpkg:ERROR: $url_upd" 1>&2
           fi
  -        echo "openpkg:ERROR: $url_src" 1>&2
  +        if [ ".$url_src" != . ]; then
  +            echo "openpkg:ERROR: $url_src" 1>&2
  +        fi
  +        echo "openpkg:ERROR: $url_raw" 1>&2
           exit 1
       fi
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/install.sh
  ============================================================================
  $ cvs diff -u -r1.9 -r1.9.2.1 install.sh
  --- openpkg-src/openpkg/install.sh    12 May 2006 09:22:24 -0000      1.9
  +++ openpkg-src/openpkg/install.sh    22 Jun 2006 07:36:31 -0000      1.9.2.1
  @@ -40,21 +40,13 @@
       exit 1
   fi
   
  -#   determine OpenPKG release and download URLs
  -release=`$OPENPKG_PREFIX/bin/openpkg rpm --eval '%{l_openpkg_release -F 
"%s"}'`
  -case "$release" in
  -    CURRENT )
  -        url_src="ftp://ftp.openpkg.org/current/SRC";
  -        url_upd=""
  -        ;;
  -    [0-9].[0-9] )
  -        url_src="ftp://ftp.openpkg.org/release/$release/SRC";
  -        url_upd="ftp://ftp.openpkg.org/release/$release/UPD";
  -        ;;
  -    * )
  -        echo "openpkg:ERROR: invalid OpenPKG release \"$release\"" 1>&2
  -        exit 1
  -        ;;
  +#   determine OpenPKG distribution URLs
  +url_raw=`$OPENPKG_PREFIX/bin/openpkg release --fmt="%u"`
  +url_src=""
  +url_upd=""
  +case "$url_raw" in
  +    */SRC ) ;;
  +    * ) url_src="$url_raw/SRC"; url_upd="$url_raw/UPD" ;;
   esac
   
   #   determine path to binary RPMs
  @@ -66,7 +58,7 @@
       #   determine latest package version and URL
       pkg_srpm=""
       pkg_name=""
  -    for url in $url_upd $url_src; do
  +    for url in $url_upd $url_src $url_raw; do
           if [ ".$url" = . ]; then
               continue
           fi
  @@ -89,7 +81,10 @@
           if [ ".$url_upd" != . ]; then
               echo "openpkg:ERROR: $url_upd" 1>&2
           fi
  -        echo "openpkg:ERROR: $url_src" 1>&2
  +        if [ ".$url_src" != . ]; then
  +            echo "openpkg:ERROR: $url_src" 1>&2
  +        fi
  +        echo "openpkg:ERROR: $url_raw" 1>&2
           exit 1
       fi
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/lsync.8
  ============================================================================
  $ cvs diff -u -r1.6 -r1.6.12.1 lsync.8
  --- openpkg-src/openpkg/lsync.8       18 Apr 2004 11:28:24 -0000      1.6
  +++ openpkg-src/openpkg/lsync.8       22 Jun 2006 07:36:31 -0000      1.6.12.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ -326,11 +326,11 @@
   released and so only used at sd&m and on all machines which were under
   control of Ralf S. Engelschall.
   .PP
  -For Cable & Wireless Deutschland GmbH, Munich, the old \fBGenOPT\fR
  -principle was again needed to manage the \f(CW\*(C`/cw/local\*(C'\fR area on 
their
  -servers. For this in November 2000 the functionality of \fBGenOPT\fR was
  -revised, heavily stripped down and finally implemented from scratch. The
  -result is the current \fBopenpkg lsync\fR.
  +For Cable & Wireless, Munich, the old \fBGenOPT\fR principle was again
  +needed to manage the \f(CW\*(C`/cw/local\*(C'\fR area on their servers. For 
this in
  +November 2000 the functionality of \fBGenOPT\fR was revised, heavily
  +stripped down and finally implemented from scratch. The result is the
  +current \fBopenpkg lsync\fR.
   .SH "AUTHOR"
   .IX Header "AUTHOR"
   .Vb 3
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.1
  ============================================================================
  $ cvs diff -u -r1.2 -r1.2.10.1 openpkg.1
  --- openpkg-src/openpkg/openpkg.1     21 Jul 2004 14:30:30 -0000      1.2
  +++ openpkg-src/openpkg/openpkg.1     22 Jun 2006 07:36:31 -0000      1.2.10.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.490.2.1 -r1.490.2.2 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  20 Jun 2006 15:22:23 -0000      
1.490.2.1
  +++ openpkg-src/openpkg/openpkg.spec  22 Jun 2006 07:36:31 -0000      
1.490.2.2
  @@ -140,6 +140,9 @@
   Source66:     ftp://ftp.openssl.org/source/openssl-%{V_openssl}.tar.gz
   Source67:     perl.patch
   Source68:     openssl.patch
  +Source69:     release.sh
  +Source70:     release.pod
  +Source71:     release.8
   
   #   build information
   Prefix:       %{l_prefix}
  @@ -147,7 +150,7 @@
   AutoReq:      no
   AutoReqProv:  no
   Provides:     OpenPKG
  -Provides:     openpkg = 20060619-20060619
  +Provides:     openpkg = 20060622-20060622
   
   %description
       This is the bootstrap package for the RPM-based Unix Software
  @@ -1165,6 +1168,11 @@
       sed -e "s;@l_prefix@;%{l_prefix};g" \
           <`SOURCE uuid.8` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/uuid.8
       sed -e "s;@l_prefix@;%{l_prefix};g" \
  +        <`SOURCE release.sh` 
>$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/release
  +    chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/release
  +    sed -e "s;@l_prefix@;%{l_prefix};g" \
  +        <`SOURCE release.8` 
>$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/release.8
  +    sed -e "s;@l_prefix@;%{l_prefix};g" \
           -e "s;@l_musr@;%{l_musr};g" \
           -e "s;@l_mgrp@;%{l_mgrp};g" \
           <`SOURCE rpmdb` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb
  @@ -1427,6 +1435,8 @@
       %{l_prefix}/libexec/openpkg/rpm
       %{l_prefix}/libexec/openpkg/rpm.8
       %{l_prefix}/libexec/openpkg/register
  +    %{l_prefix}/libexec/openpkg/release
  +    %{l_prefix}/libexec/openpkg/release.8
       %dir %{l_prefix}/man
       %dir %{l_prefix}/man/man1
       %dir %{l_prefix}/man/man2
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/pod2man.sh
  ============================================================================
  $ cvs diff -u -r1.4 -r1.4.12.1 pod2man.sh
  --- openpkg-src/openpkg/pod2man.sh    21 Feb 2004 19:11:34 -0000      1.4
  +++ openpkg-src/openpkg/pod2man.sh    22 Jun 2006 07:36:31 -0000      1.4.12.1
  @@ -5,3 +5,4 @@
   pod2man --section=8 --center="OpenPKG" --release="LSYNC(8)"      
--date="OpenPKG" --quotes=none lsync.pod      >lsync.8
   pod2man --section=8 --center="OpenPKG" --release="RPM-CONFIG(8)" 
--date="OpenPKG" --quotes=none rpm-config.pod >rpm-config.8
   pod2man --section=8 --center="OpenPKG" --release="UUID(8)"       
--date="OpenPKG" --quotes=none uuid.pod       >uuid.8
  +pod2man --section=8 --center="OpenPKG" --release="RELEASE(8)"    
--date="OpenPKG" --quotes=none release.pod    >release.8
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc
  ============================================================================
  $ cvs diff -u -r1.62 -r1.62.2.1 rc
  --- openpkg-src/openpkg/rc    1 Jan 2006 13:17:51 -0000       1.62
  +++ openpkg-src/openpkg/rc    22 Jun 2006 07:36:31 -0000      1.62.2.1
  @@ -293,7 +293,7 @@
   
           #   check for upgraded package with unresolved configuration file 
conflicts
           if [ -d "$prefix/etc/$s_name" -a ".$eval" != .1 ]; then
  -            if [ ".`find $prefix/etc/$s_name -type f -print 2>/dev/null | 
egrep -v '.*/\.(snap|snapshot)/.*' | egrep '.*\.rpm(new|orig|save)$'`" != . ]; 
then
  +            if [ ".`(find $prefix/etc/$s_name -type f -print; find 
$prefix/etc/$s_name -type l -print) 2>/dev/null | egrep -v 
'.*/\.(snap|snapshot)/.*' | egrep '.*\.rpm(new|orig|save)$'`" != . ]; then
                   case "$cmd" in
                       start|restart ) type="ERROR"   ;;
                       * )             type="WARNING" ;;
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc.8
  ============================================================================
  $ cvs diff -u -r1.6 -r1.6.10.1 rc.8
  --- openpkg-src/openpkg/rc.8  25 Jul 2004 10:48:16 -0000      1.6
  +++ openpkg-src/openpkg/rc.8  22 Jun 2006 07:36:32 -0000      1.6.10.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/release.8
  ============================================================================
  $ cvs diff -u -r0 -r1.1.2.2 release.8
  --- /dev/null 2006-06-22 09:35:47 +0200
  +++ release.8 2006-06-22 09:36:34 +0200
  @@ -0,0 +1,219 @@
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
  +.\"
  +.\" Standard preamble:
  +.\" ========================================================================
  +.de Sh \" Subsection heading
  +.br
  +.if t .Sp
  +.ne 5
  +.PP
  +\fB\\$1\fR
  +.PP
  +..
  +.de Sp \" Vertical space (when we can't use .PP)
  +.if t .sp .5v
  +.if n .sp
  +..
  +.de Vb \" Begin verbatim text
  +.ft CW
  +.nf
  +.ne \\$1
  +..
  +.de Ve \" End verbatim text
  +.ft R
  +.fi
  +..
  +.\" Set up some character translations and predefined strings.  \*(-- will
  +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  +.\" double quote, and \*(R" will give a right double quote.  | will give a
  +.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used 
to
  +.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
  +.\" expand to `' in nroff, nothing in troff, for use with C<>.
  +.tr \(*W-|\(bv\*(Tr
  +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  +.ie n \{\
  +.    ds -- \(*W-
  +.    ds PI pi
  +.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 
pitch
  +.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 
pitch
  +.    ds L" ""
  +.    ds R" ""
  +.    ds C` 
  +.    ds C' 
  +'br\}
  +.el\{\
  +.    ds -- \|\(em\|
  +.    ds PI \(*p
  +.    ds L" ``
  +.    ds R" ''
  +'br\}
  +.\"
  +.\" If the F register is turned on, we'll generate index entries on stderr 
for
  +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
  +.\" entries marked with X<> in POD.  Of course, you'll have to process the
  +.\" output yourself in some meaningful fashion.
  +.if \nF \{\
  +.    de IX
  +.    tm Index:\\$1\t\\n%\t"\\$2"
  +..
  +.    nr % 0
  +.    rr F
  +.\}
  +.\"
  +.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  +.\" way too many mistakes in technical documents.
  +.hy 0
  +.if n .na
  +.\"
  +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  +.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
  +.    \" fudge factors for nroff and troff
  +.if n \{\
  +.    ds #H 0
  +.    ds #V .8m
  +.    ds #F .3m
  +.    ds #[ \f1
  +.    ds #] \fP
  +.\}
  +.if t \{\
  +.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  +.    ds #V .6m
  +.    ds #F 0
  +.    ds #[ \&
  +.    ds #] \&
  +.\}
  +.    \" simple accents for nroff and troff
  +.if n \{\
  +.    ds ' \&
  +.    ds ` \&
  +.    ds ^ \&
  +.    ds , \&
  +.    ds ~ ~
  +.    ds /
  +.\}
  +.if t \{\
  +.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  +.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  +.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  +.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  +.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  +.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  +.\}
  +.    \" troff and (daisy-wheel) nroff accents
  +.ds : 
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  +.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  +.ds o 
\\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  +.ds ae a\h'-(\w'a'u*4/10)'e
  +.ds Ae A\h'-(\w'A'u*4/10)'E
  +.    \" corrections for vroff
  +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  +.    \" for low resolution devices (crt and lpr)
  +.if \n(.H>23 .if \n(.V>19 \
  +\{\
  +.    ds : e
  +.    ds 8 ss
  +.    ds o a
  +.    ds d- d\h'-1'\(ga
  +.    ds D- D\h'-1'\(hy
  +.    ds th \o'bp'
  +.    ds Th \o'LP'
  +.    ds ae ae
  +.    ds Ae AE
  +.\}
  +.rm #[ #] #H #V #F C
  +.\" ========================================================================
  +.\"
  +.IX Title "RELEASE 8"
  +.TH RELEASE 8 "OpenPKG" "RELEASE(8)" "OpenPKG"
  +.SH "NAME"
  +\&\fBopenpkg release\fR \- OpenPKG Release Utility
  +.SH "SYNOPSIS"
  +.IX Header "SYNOPSIS"
  +\&\fBopenpkg release\fR [\fB\-F\fR|\fB\-\-fmt\fR \fIformat\fR]
  +.SH "DESCRIPTION"
  +.IX Header "DESCRIPTION"
  +The \fBopenpkg release\fR command displays the OpenPKG release tag and
  +distribution \s-1URL\s0. The release tag uniquely identifies an OpenPKG
  +distribution and the distribution \s-1URL\s0 is the location where the
  +distribution packages and indices are stored.
  +.SH "OPTIONS"
  +.IX Header "OPTIONS"
  +.IP "\fB\-F\fR, \fB\-\-fmt\fR \fIformat\fR" 4
  +.IX Item "-F, --fmt format"
  +The output format specification. The argument \fIformat\fR is an arbitrary
  +string which can contain the special expansion constructs "\f(CW%t\fR\*(L" 
for
  +expanding the release tag, \*(R"\f(CW%u\fR\*(L" for expanding the 
distribution \s-1URL\s0
  +and \*(R"\f(CW\*(C`\en\*(C'\fR" for expanding an embedded newline character. 
The default
  +\&\fIformat\fR is "\f(CW\*(C`OpenPKG\-%t %u\*(C'\fR".
  +.IP "\fB\-r\fR, \fB\-\-release\fR \fIrelease\fR" 4
  +.IX Item "-r, --release release"
  +The package "\f(CW\*(C`Release\*(C'\fR" header value to use for deriving the 
release
  +tag. The values in the [EMAIL PROTECTED]@/etc/openpkg/release\fR file and the
  +"\f(CW\*(C`Release\*(C'\fR" header of the bootstrap package \fBopenpkg\fR 
are ignored if
  +this option is used.
  +.SH "FILES"
  +.IX Header "FILES"
  +.IP "[EMAIL PROTECTED]@/etc/openpkg/release\fR" 4
  +.IX Item "@l_prefix@/etc/openpkg/release"
  +This optional configuration file can be used to explicitly set values
  +for the OpenPKG release tag and distribution URLs. It consists of lines
  +with variable name/value pairs. The following configuration variables
  +are recognized:
  +.RS 4
  +.IP "\fBTAG=\fR\fItag\fR" 4
  +.IX Item "TAG=tag"
  +The default \fItag\fR is automatically derived from the 
"\f(CW\*(C`Version\*(C'\fR" header
  +of the OpenPKG bootstrap package \fBopenpkg\fR. One usually only sets this
  +explicitly to a value if a bootstrap package is used from a foreign
  +distribution version.
  +.IP "\fBURL=\fR\fIurl\fR" 4
  +.IX Item "URL=url"
  +The fully-qualified distribution \s-1URL\s0 based on either the 
"\f(CW\*(C`ftp\*(C'\fR\*(L",
  +\&\*(R"\f(CW\*(C`http\*(C'\fR\*(L" or \*(R"\f(CW\*(C`file\*(C'\fR" 
\s-1URL\s0 schemes. If \fIurl\fR contains a trailing
  +"\f(CW\*(C`/*\*(C'\fR", this is expanded according to the \fItag\fR value of 
the \fB\s-1TAG\s0\fR
  +variable and the corresponding filesystem layout on 
\f(CW\*(C`ftp.openpkg.org\*(C'\fR.
  +The default \fIurl\fR is "\f(CW\*(C`ftp://ftp.openpkg.org/*\*(C'\fR".
  +.RS 4
  +.RE
  +.RS 4
  +.SH "EXAMPLE"
  +.IX Header "EXAMPLE"
  +.Vb 2
  +\& $ openpkg release
  +\& OpenPKG-CURRENT ftp://ftp.openpkg.org/current/SRC/
  +.Ve
  +.Sp
  +.Vb 2
  +\& $ openpkg release --fmt=%t
  +\& CURRENT
  +.Ve
  +.Sp
  +.Vb 2
  +\& $ openpkg release --fmt=%u
  +\& ftp://ftp.openpkg.org/current/SRC/
  +.Ve
  +.Sp
  +.Vb 3
  +\& $ openpkg release --fmt="OpenPKG %t is located at:\e\en%u"
  +\& OpenPKG CURRENT is located at:
  +\& ftp://ftp.openpkg.org/current/SRC/
  +.Ve
  +.Sp
  +.Vb 2
  +\& $ openpkg release --release=2.5.4 --fmt=%t
  +\& 2.5-RELEASE
  +.Ve
  +.Sp
  +.Vb 3
  +\& $ cat /openpkg/etc/openpkg/release
  +\& TAG=2-STABLE-20060622
  +\& URL=ftp://ftp.example.com/mirror/openpkg.org/*
  +.Ve
  +.SH "HISTORY"
  +.IX Header "HISTORY"
  +The \fBopenpkg release\fR command first appeared in \fBOpenPKG 
2\-STABLE\-20060622\fR.
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/release.pod
  ============================================================================
  $ cvs diff -u -r0 -r1.1.2.2 release.pod
  --- /dev/null 2006-06-22 09:35:47 +0200
  +++ release.pod       2006-06-22 09:36:34 +0200
  @@ -0,0 +1,122 @@
  +##
  +##  release -- OpenPKG Release Utility
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +=pod
  +
  +=head1 NAME
  +
  +B<openpkg release> - OpenPKG Release Utility
  +
  +=head1 SYNOPSIS
  +
  +B<openpkg release> [B<-F>|B<--fmt> I<format>]
  +
  +=head1 DESCRIPTION
  +
  +The B<openpkg release> command displays the OpenPKG release tag and
  +distribution URL. The release tag uniquely identifies an OpenPKG
  +distribution and the distribution URL is the location where the
  +distribution packages and indices are stored.
  +
  +=head1 OPTIONS
  +
  +=over 4
  +
  +=item B<-F>, B<--fmt> I<format>
  +
  +The output format specification. The argument I<format> is an arbitrary
  +string which can contain the special expansion constructs "C<%t>" for
  +expanding the release tag, "C<%u>" for expanding the distribution URL
  +and "C<\n>" for expanding an embedded newline character. The default
  +I<format> is "C<OpenPKG-%t %u>".
  +
  +=item B<-r>, B<--release> I<release>
  +
  +The package "C<Release>" header value to use for deriving the release
  +tag. The values in the F<@l_prefix@/etc/openpkg/release> file and the
  +"C<Release>" header of the bootstrap package B<openpkg> are ignored if
  +this option is used.
  +
  +=back
  +
  +=head1 FILES
  +
  +=over 4
  +
  +=item F<@l_prefix@/etc/openpkg/release>
  +
  +This optional configuration file can be used to explicitly set values
  +for the OpenPKG release tag and distribution URLs. It consists of lines
  +with variable name/value pairs. The following configuration variables
  +are recognized:
  +
  +=over 4
  +
  +=item B<TAG=>I<tag>
  +
  +The default I<tag> is automatically derived from the "C<Version>" header
  +of the OpenPKG bootstrap package B<openpkg>. One usually only sets this
  +explicitly to a value if a bootstrap package is used from a foreign
  +distribution version.
  +
  +=item B<URL=>I<url>
  +
  +The fully-qualified distribution URL based on either the "C<ftp>",
  +"C<http>" or "C<file>" URL schemes. If I<url> contains a trailing
  +"C</*>", this is expanded according to the I<tag> value of the B<TAG>
  +variable and the corresponding filesystem layout on C<ftp.openpkg.org>.
  +The default I<url> is "C<ftp://ftp.openpkg.org/*>".
  +
  +=over
  +
  +=back
  +
  +=head1 EXAMPLE
  +
  + $ openpkg release
  + OpenPKG-CURRENT ftp://ftp.openpkg.org/current/SRC/
  +
  + $ openpkg release --fmt=%t
  + CURRENT
  +
  + $ openpkg release --fmt=%u
  + ftp://ftp.openpkg.org/current/SRC/
  +
  + $ openpkg release --fmt="OpenPKG %t is located at:\\n%u"
  + OpenPKG CURRENT is located at:
  + ftp://ftp.openpkg.org/current/SRC/
  +
  + $ openpkg release --release=2.5.4 --fmt=%t
  + 2.5-RELEASE
  +
  + $ cat /openpkg/etc/openpkg/release
  + TAG=2-STABLE-20060622
  + URL=ftp://ftp.example.com/mirror/openpkg.org/*
  +
  +=head1 HISTORY
  +
  +The B<openpkg release> command first appeared in B<OpenPKG 
2-STABLE-20060622>.
  +
  +=cut
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/release.sh
  ============================================================================
  $ cvs diff -u -r0 -r1.1.2.2 release.sh
  --- /dev/null 2006-06-22 09:35:47 +0200
  +++ release.sh        2006-06-22 09:36:35 +0200
  @@ -0,0 +1,139 @@
  [EMAIL PROTECTED]@/lib/openpkg/bash
  +##
  +##  release -- OpenPKG Release Determination Utility
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   configuration
  +prefix="@l_prefix@"
  +
  +#   minimum command line parsing
  +opt_F="OpenPKG-%t %u"
  +opt_r=""
  +while [ $# -gt 0 ]; do
  +    case "$1" in
  +        -F          ) opt_F="$2"; shift;                      shift ;;
  +        --fmt       ) opt_F="$2"; shift;                      shift ;;
  +        -F*         ) opt_F="`expr ".$1" : '.-F\(.*\)'`";     shift ;;
  +        --fmt=*     ) opt_F="`expr ".$1" : '.--fmt=\(.*\)'`"; shift ;;
  +        -r          ) opt_r="$2"; shift;                      shift ;;
  +        --release   ) opt_r="$2"; shift;                      shift ;;
  +        -r*         ) opt_r="`expr ".$1" : '.-r\(.*\)'`";     shift ;;
  +        --release=* ) opt_r="`expr ".$1" : '.--release=\(.*\)'`"; shift ;;
  +        *       ) break ;;
  +    esac
  +done
  +
  +#   translate a release number to a release tag
  +number_to_tag () {
  +    sed -e 's;^;X;' \
  +        -e 
's;^X\([^.-][^.-]*\.[^.-][^.-]*\)\.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].*$;\1-SOLID;'
 \
  +        -e 's;^X\([^.-][^.-]*\.[^.-][^.-]*\)\.[^.-][^.-]*.*$;\1-RELEASE;' \
  +        -e 's;^X\([^.-][^.-]*\)\.[^.-][^.-]*.*$;\1-STABLE;' \
  +        -e 's;^X[^.-][^.-]*.*$;CURRENT;' \
  +        -e 's;^X.*$;UNKNOWN;'
  +}
  +
  +#   sanity check a release tag
  +tag_sanity () {
  +    sed -e 's;^;X;' \
  +        -e 's;^X[^.-][^.-]*\.[^.-][^.-]*-RELEASE$;OK;' \
  +        -e 
's;^X[^.-][^.-]*\.[^.-][^.-]*-SOLID-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$;OK;'
 \
  +        -e 's;^X[^.-][^.-]*\.[^.-][^.-]*-SOLID$;OK;' \
  +        -e 
's;^X[^.-][^.-]*-STABLE-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$;OK;' \
  +        -e 's;^X[^.-][^.-]*-STABLE$;OK;' \
  +        -e 's;^XCURRENT-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$;OK;' \
  +        -e 's;^XCURRENT$;OK;' \
  +        -e 's;^X.*$;ERROR;'
  +}
  +
  +#   determine release
  +tag=""
  +if [ ".$opt_r" != . ]; then
  +    tag=`echo ".$opt_r" | sed -e 's;^\.;;' | number_to_tag`
  +elif [ -f "$prefix/etc/openpkg/release" ]; then
  +    tag=`sed <$prefix/etc/openpkg/release \
  +        -e 's;^;X;' \
  +        -e 's;^X *TAG *= *\([^ ][^ ]*\).*;\1;' \
  +        -e '/^X/d'`
  +else
  +    tag=`$prefix/bin/openpkg rpm \
  +        -q --qf '%{VERSION}' openpkg | number_to_tag`
  +fi
  +if [ .`echo ".$tag" | sed -e 's;^\.;;' | tag_sanity` = .ERROR ]; then
  +    echo "openpkg:release: WARNING: unable to determine OpenPKG release tag" 
1>&2
  +    tag="UNKNOWN"
  +fi
  +
  +#   determine distribution URL
  +url=""
  +if [ -f "$prefix/etc/openpkg/release" ]; then
  +    url=`sed <$prefix/etc/openpkg/release \
  +        -e 's;^;X;' \
  +        -e 's;^X *URL *= *\([^ ][^ ]*\).*;\1;' \
  +        -e '/^X/d'`
  +fi
  +if [ ".$url" = . ]; then
  +    url="ftp://ftp.openpkg.org/*";
  +fi
  +case ".$url" in
  +    */\* )
  +        url=`echo ".$url" | sed -e 's;^\.;;' -e 's;/\*$;;'`
  +        case "$tag" in
  +            CURRENT )
  +                url="$url/current/SRC/"
  +                ;;
  +            CURRENT-* )
  +                version=`echo "$tag" | sed -e 's;^CURRENT-;;'`
  +                url="$url/current/$version/"
  +                ;;
  +            *-STABLE )
  +                version=`echo "$tag" | sed -e 's;^\(.*\)-STABLE$;\1;'`
  +                url="$url/stable/$version/"
  +                ;;
  +            *-STABLE-* )
  +                version=`echo "$tag" | sed -e 
's;^\(.*\)-STABLE-\(.*\)$;\1.\2;'`
  +                url="$url/stable/$version/"
  +                ;;
  +            *-SOLID )
  +                version=`echo "$tag" | sed -e 's;^\(.*\)-SOLID$;\1;'`
  +                url="$url/solid/$version/"
  +                ;;
  +            *-SOLID-* )
  +                version=`echo "$tag" | sed -e 
's;^\(.*\)-SOLID-\(.*\)$;\1.\2;'`
  +                url="$url/solid/$version/"
  +                ;;
  +            *-RELEASE )
  +                version=`echo "$tag" | sed -e 's;^\(.*\)-RELEASE$;\1;'`
  +                url="$url/release/$version/"
  +                ;;
  +        esac
  +        ;;
  +esac
  +
  +#   generate output
  +echo "X$opt_F" |\
  +sed -e 's/^X//' \
  +    -e "s;%t;${tag};g" \
  +    -e "s;%u;${url};g" \
  +    -e 's/\\n/^/g' | tr '^' '\012'
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rpm-config.8
  ============================================================================
  $ cvs diff -u -r1.3 -r1.3.12.1 rpm-config.8
  --- openpkg-src/openpkg/rpm-config.8  21 Feb 2004 19:11:34 -0000      1.3
  +++ openpkg-src/openpkg/rpm-config.8  22 Jun 2006 07:36:32 -0000      1.3.12.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rpmmacros
  ============================================================================
  $ cvs diff -u -r1.74 -r1.74.2.1 rpmmacros
  --- openpkg-src/openpkg/rpmmacros     18 Jun 2006 20:06:23 -0000      1.74
  +++ openpkg-src/openpkg/rpmmacros     22 Jun 2006 07:36:32 -0000      1.74.2.1
  @@ -26,7 +26,7 @@
   ##
   
   #   the OpenPKG release identification (for the current package or as a 
fallback for the bootstrap package)
  -%l_openpkg_release(F:)   %(echo "%{?release}%{!?release:%(%{l_rpm} -q --qf 
'%{release}' openpkg)}" | sed -e 's;^;X;' -e 
's;^X\\([0-9][0-9]*\\.[0-9][0-9]*\\).*$;\\1;' -e 
's;^X\\([0-9][0-9]*\\.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\\).*$;STABLE;' 
-e 's;^X\\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\\).*$;CURRENT;' -e 
's;^X.*$;UNKNOWN;' | awk '{ printf(%{?-F:%{-F*}}%{!?-F:"OpenPKG-%s"}, $0); }')
  +%l_openpkg_release(F:)   %(%{l_prefix}/libexec/openpkg/release 
--release="%{?release}%{!?release:%(%{l_rpm} -q --qf '%{release}' openpkg)}" 
%{?-F:-F "%(echo "%{-F*}" | sed -e 's/%%s/%%t/g')"}%{!?-F:-F "OpenPKG-%%t"})
   
   #   the OpenPKG OIDs (root is officially registered at IANA)
   %l_openpkg_oid           1.3.6.1.4.1.18749
  @@ -42,8 +42,8 @@
   %l_tag_fmt_opt           %(uuid_ns="`%{l_uuid} -v3 ns:OID 
%{l_openpkg_oid_tagfmtopt}`"; %{l_uuid} -v3 $uuid_ns '%{?_options}')
   %l_tag_fmt_uuid          %(%{l_uuid} -v1)
   %l_tag_fmt_time          %(date '+%%Y%%m%%d%%H%%M%%S')
  -%l_tag_fmt_user          %(%{l_shtool} echo -e '%u')
  -%l_tag_fmt_host          %(%{l_shtool} echo -e '%h%d')
  +%l_tag_fmt_user          %(%{l_shtool} echo -e '%%u')
  +%l_tag_fmt_host          %(%{l_shtool} echo -e '%%h%%d')
   %l_tag_gen               %{expand:%(echo '%{l_tag_fmt}' | sed -e 
's/<\\([a-zA-Z][_a-zA-Z0-9]*\\)>/%%{l_tag_fmt_\\1}/g')}
   %l_tag                   %(echo "%{l_tag_gen}" | sed -e 's;-;;g')
   
  @@ -281,9 +281,9 @@
   %l_whoami                %((id -un) 2>/dev/null || (whoami) 2>/dev/null || 
(who am i | cut "-d " -f1) 2>/dev/null || echo $LOGNAME)
   
   #   macros for dynamically generating a %files list
  -%l_files_defattr         '%defattr(-,%{l_musr},%{l_mgrp})'
  +%l_files_defattr         '%%defattr(-,%{l_musr},%{l_mgrp})'
   %l_files_all             '%{l_prefix}'
  -%l_files_noshared        '%not %dir 
{%{l_prefix},%{l_prefix}/*,%{l_prefix}/etc/rc.d,%{l_prefix}/man/*}'
  +%l_files_noshared        '%%not %%dir 
{%{l_prefix},%{l_prefix}/*,%{l_prefix}/etc/rc.d,%{l_prefix}/man/*}'
   %l_files_std()           %l_files_defattr %l_files_all %l_files_noshared
   
   #   path to local build root
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rpmtool.8
  ============================================================================
  $ cvs diff -u -r1.9 -r1.9.12.1 rpmtool.8
  --- openpkg-src/openpkg/rpmtool.8     21 Feb 2004 19:11:34 -0000      1.9
  +++ openpkg-src/openpkg/rpmtool.8     22 Jun 2006 07:36:32 -0000      1.9.12.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/uuid.8
  ============================================================================
  $ cvs diff -u -r1.1 -r1.1.14.1 uuid.8
  --- openpkg-src/openpkg/uuid.8        21 Feb 2004 19:11:34 -0000      1.1
  +++ openpkg-src/openpkg/uuid.8        22 Jun 2006 07:36:33 -0000      1.1.14.1
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to