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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   21-Feb-2004 20:11:35
  Branch: HEAD                             Handle: 2004022119113400

  Added files:
    openpkg-src/openpkg     uuid.8 uuid.pod
  Modified files:
    openpkg-src/openpkg     HISTORY lsync.8 man.sh openpkg.spec pod2man.sh
                            rc.8 rpm-config.8 rpmtool.8

  Log:
    - written manual page for "openpkg uuid"
    - implemented "openpkg man" command for reading tool chain command manual pages

  Summary:
    Revision    Changes     Path
    1.145       +2  -0      openpkg-src/openpkg/HISTORY
    1.5         +2  -2      openpkg-src/openpkg/lsync.8
    1.2         +111 -4     openpkg-src/openpkg/man.sh
    1.300       +6  -1      openpkg-src/openpkg/openpkg.spec
    1.4         +1  -0      openpkg-src/openpkg/pod2man.sh
    1.4         +1  -1      openpkg-src/openpkg/rc.8
    1.3         +1  -1      openpkg-src/openpkg/rpm-config.8
    1.9         +1  -1      openpkg-src/openpkg/rpmtool.8
    1.1         +252 -0     openpkg-src/openpkg/uuid.8
    1.1         +168 -0     openpkg-src/openpkg/uuid.pod
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.144 -r1.145 HISTORY
  --- openpkg-src/openpkg/HISTORY       20 Feb 2004 14:06:05 -0000      1.144
  +++ openpkg-src/openpkg/HISTORY       21 Feb 2004 19:11:34 -0000      1.145
  @@ -2,6 +2,8 @@
   2004
   ====
   
  +20040221 written manual page for "openpkg uuid"
  +20040221 implemented "openpkg man" command for reading tool chain command manual 
pages
   20040220 fix "openpkg rpm-config --version" output
   20040220 cleanup displayed messages and do not display error message on failed 
commands
   20040218 upgraded to GNU shtool 2.0b1
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/lsync.8
  ============================================================================
  $ cvs diff -u -r1.4 -r1.5 lsync.8
  --- openpkg-src/openpkg/lsync.8       21 Nov 2003 21:26:51 -0000      1.4
  +++ openpkg-src/openpkg/lsync.8       21 Feb 2004 19:11:34 -0000      1.5
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ -153,7 +153,7 @@
   \&\fIroot\fR/\fIpkgdir\fR/) by managing symbolic links in an access layer
   (located under \fIroot\fR/) corresponding to package installation
   files (found in \fIroot\fR/\fIpkgdir\fR/pkgname/subdir/) which need to be
  -collected in global directories (located under \fIroot\fR/subdir/). 
  +collected in global directories (located under \fIroot\fR/subdir/).
   .PP
   The purpose of this is that individual packages can be installed and
   deinstalled seperately without interfering with other packages while
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/man.sh
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 man.sh
  --- openpkg-src/openpkg/man.sh        16 Feb 2004 21:06:51 -0000      1.1
  +++ openpkg-src/openpkg/man.sh        21 Feb 2004 19:11:34 -0000      1.2
  @@ -1,9 +1,9 @@
   [EMAIL PROTECTED]@/lib/openpkg/bash
   ##
   ##  man -- OpenPKG Tool Chain "man" command
  -##  Copyright (c) 2004 The OpenPKG Project <http://www.openpkg.org/>
  -##  Copyright (c) 2004 Ralf S. Engelschall <[EMAIL PROTECTED]>
  -##  Copyright (c) 2004 Cable & Wireless <http://www.cw.com/>
  +##  Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2004 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
   ##
   ##  Permission to use, copy, modify, and distribute this software for
   ##  any purpose with or without fee is hereby granted, provided that
  @@ -24,5 +24,112 @@
   ##  SUCH DAMAGE.
   ##
   
  -echo "FIXME: STILL NOT IMPLEMENTED"
  +#   configuration
  +prefix="@l_prefix@"
  +
  +#   minimum command line parsing
  +opt_h=no
  +while [ 1 ]; do
  +    case "$1" in
  +        -h | --help ) opt_h=yes; shift ;;
  +        * ) break ;;
  +    esac
  +done
  +if [ ".$opt_h" = .yes ]; then
  +    echo "openpkg:man:USAGE: openpkg man [--help] [<section>] <command>"
  +    exit 0
  +fi
  +if [ $# -eq 1 ]; then
  +    man_sect=""
  +    man_page="$1"
  +elif [ $# -eq 2 ]; then
  +    man_sect="$1"
  +    man_page="$2"
  +else
  +    echo "openpkg:man:ERROR: invalid number of arguments" 1>&2
  +    exit 1
  +fi
  +
  +#   search for manual page in OpenPKG Tool Chain
  +man_file=""
  +man_type=""
  +OIFS="$IFS"; IFS=":"
  +for dir in ${OPENPKG_TOOLS_CMDPATH-"$prefix/libexec/openpkg"}; do
  +    IFS="$OIFS"
  +    for file in $dir/$man_page.${man_sect-"1"} $dir/$man_page.[1-9]; do
  +        if [ -f "$file" ]; then
  +            man_file="$file"
  +            man_type="roff"
  +            if [ ".$man_sect" = . ]; then
  +                man_sect=`echo "$man_file" |\
  +                    sed -e 's;^;X;' -e 's;^X.*\.\([1-9]\)$;\1;' -e 's;^X.*;;'`
  +            fi
  +            break
  +        fi
  +    done
  +    if [ ".$man_type" = . ]; then
  +        for file in $dir/$man_page.pod $dir/$man_page.pl $dir/$man_page.sh; do
  +            if [ -f "$file" ]; then
  +                if [ ".`grep '^=pod' $file`" != . ]; then
  +                    man_file="$file"
  +                    man_type="pod"
  +                    break
  +                fi
  +            fi
  +        done
  +    fi
  +    if [ ".$man_type" != . ]; then
  +        break
  +    fi
  +done
  +IFS="$OIFS"
  +if [ ".$man_type" != . ]; then
  +    #   determine POD to Roff converter
  +    pod2roff=""
  +    if [ ".$man_type" = .pod ]; then
  +        pod2roff=`$prefix/lib/openpkg/shtool path -p "$prefix/bin:$PATH" pod2man`
  +        if [ ".$pod2roff" = . ]; then
  +            echo "openpkg:man:ERROR: unable to find POD to Roff converter 
(pod2man)" 1>&2
  +            exit 1
  +        fi
  +        pod2roff="$pod2roff --section=${man_sect-1}"
  +        pod2roff="$pod2roff --release=\"$man_page(${man_sect-1})\""
  +        pod2roff="$pod2roff --center=OpenPKG --date=OpenPKG"
  +        pod2roff="$pod2roff --quotes=none"
  +    fi
  +
  +    #   determine Roff to ASCII converter
  +    roff2ascii=`$prefix/lib/openpkg/shtool path -p "$prefix/bin:$PATH" nroff groff`
  +    if [ ".$roff2ascii" = . ]; then
  +        echo "openpkg:man:ERROR: unable to find Roff to ASCII converter (nroff, 
groff)" 1>&2
  +        exit 1
  +    fi
  +    roff2ascii="$roff2ascii -man"
  +    case "$roff2ascii" in
  +        */groff ) roff2ascii="$roff2ascii -Tascii" ;;
  +    esac
  +
  +    #   determine pager
  +    pager="$PAGER"
  +    if [ ".$pager" = . ]; then
  +        pager=`$prefix/lib/openpkg/shtool path -p "$prefix/bin:$PATH" less more cat`
  +    fi
  +    if [ ".$pager" = . ]; then
  +        echo "openpkg:man:ERROR: unable to find text viewer ($PAGER, less, more, 
cat)" 1>&2
  +        exit 1
  +    fi
  +
  +    #   render the manual page to the TTY
  +    if [ ".$man_type" = .roff ]; then
  +        eval "$roff2ascii $man_file | $pager"
  +    elif [ ".$man_type" = .pod ]; then
  +        eval "$pod2roff $man_file | $roff2ascii | $pager"
  +    fi
  +    exit 0
  +fi
  +
  +#   fallback to the man(1) command
  +MANPATH="$prefix/man:$prefix/local/man:${MANPATH-/usr/man}:/usr/man:/usr/share/man"
  +export MANPATH
  +eval "exec man $man_sect $man_page"
   
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.299 -r1.300 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  20 Feb 2004 18:59:06 -0000      1.299
  +++ openpkg-src/openpkg/openpkg.spec  21 Feb 2004 19:11:34 -0000      1.300
  @@ -39,7 +39,7 @@
   #   o any cc(1)
   
   #   the package version/release
  -%define       V_openpkg  20040220
  +%define       V_openpkg  20040221
   
   #   the used software versions
   %define       V_rpm      4.2.1
  @@ -131,6 +131,8 @@
   Source60:     openpkg.1
   Source61:     install.sh
   Source62:     man.sh
  +Source63:     uuid.pod
  +Source64:     uuid.8
   
   #   build information
   Prefix:       %{l_prefix}
  @@ -935,6 +937,8 @@
           <`SOURCE uuid.sh` >$RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/uuid
       chmod a+x $RPM_BUILD_ROOT%{l_prefix}/libexec/openpkg/uuid
       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" \
           -e "s;@l_musr@;%{l_musr};g" \
           -e "s;@l_mgrp@;%{l_mgrp};g" \
           <`SOURCE rpmdb` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb
  @@ -1173,6 +1177,7 @@
       %dir %{l_prefix}/libexec
       %dir %{l_prefix}/libexec/openpkg
       %{l_prefix}/libexec/openpkg/uuid
  +    %{l_prefix}/libexec/openpkg/uuid.8
       %{l_prefix}/libexec/openpkg/man
       %{l_prefix}/libexec/openpkg/install
       %{l_prefix}/libexec/openpkg/lsync
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/pod2man.sh
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 pod2man.sh
  --- openpkg-src/openpkg/pod2man.sh    16 Feb 2004 21:06:51 -0000      1.3
  +++ openpkg-src/openpkg/pod2man.sh    21 Feb 2004 19:11:34 -0000      1.4
  @@ -4,3 +4,4 @@
   pod2man --section=8 --center="OpenPKG" --release="RPMTOOL(8)"    --date="OpenPKG" 
--quotes=none rpmtool.pod    >rpmtool.8
   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
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc.8
  ============================================================================
  $ cvs diff -u -r1.3 -r1.4 rc.8
  --- openpkg-src/openpkg/rc.8  21 Nov 2003 21:26:51 -0000      1.3
  +++ openpkg-src/openpkg/rc.8  21 Feb 2004 19:11:34 -0000      1.4
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rpm-config.8
  ============================================================================
  $ cvs diff -u -r1.2 -r1.3 rpm-config.8
  --- openpkg-src/openpkg/rpm-config.8  21 Nov 2003 21:26:51 -0000      1.2
  +++ openpkg-src/openpkg/rpm-config.8  21 Feb 2004 19:11:34 -0000      1.3
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rpmtool.8
  ============================================================================
  $ cvs diff -u -r1.8 -r1.9 rpmtool.8
  --- openpkg-src/openpkg/rpmtool.8     17 Feb 2004 21:53:41 -0000      1.8
  +++ openpkg-src/openpkg/rpmtool.8     21 Feb 2004 19:11:34 -0000      1.9
  @@ -1,4 +1,4 @@
  -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
   .\"
   .\" Standard preamble:
   .\" ========================================================================
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/uuid.8
  ============================================================================
  $ cvs diff -u -r0 -r1.1 uuid.8
  --- /dev/null 2004-02-21 20:11:35.000000000 +0100
  +++ uuid.8    2004-02-21 20:11:35.000000000 +0100
  @@ -0,0 +1,252 @@
  +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
  +.\"
  +.\" 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 "UUID 8"
  +.TH UUID 8 "OpenPKG" "UUID(8)" "OpenPKG"
  +.SH "NAME"
  +\&\fBopenpkg uuid\fR \- OpenPKG UUID Update Utility
  +.SH "SYNOPSIS"
  +.IX Header "SYNOPSIS"
  +\&\fBopenpkg uuid\fR [\fB\-\-verbose\fR] [\fB\-\-multicast\fR] 
\fBreset\fR|\fBupdate\fR|\fBinfo\fR
  +.SH "DESCRIPTION"
  +.IX Header "DESCRIPTION"
  +The \fBopenpkg uuid\fR command is the maintenance utility for the \s-1DCE\s0 1.1
  +and \s-1ISO/IEC\s0 11578:1996 compliant \fIUniversally Unique Identifiers\fR
  +(\s-1UUID\s0) of an \fBOpenPKG\fR instance. It is internally based on \fB\s-1OSSP\s0
  +uuid\fR.
  +.PP
  +UUIDs are 128 bit numbers which are intended to have a high likelihood
  +of uniqueness over space and time and are computationally difficult
  +to guess. They are globally unique identifiers which can be locally
  +generated without contacting a global registration authority. UUIDs are
  +intended as unique identifiers for both mass tagging objects with an
  +extremely short lifetime and to reliably identifying very persistent
  +objects across a network. The three classical \s-1UUID\s0 variants are \s-1DCE\s0 
1.1
  +UUIDs of version 1 (time and node based), version 3 (name based) and
  +version 4 (random number based).
  +.PP
  +For an \fBOpenPKG\fR instance, three different UUIDs are used:
  +.ie n .IP "1. \fBOpenPKG Registry\fR (\*(C`UUID_REGISTRY\*(C')" 3
  +.el .IP "1. \fBOpenPKG Registry\fR (\f(CW\*(C`UUID_REGISTRY\*(C'\fR)" 3
  +.IX Item "1. OpenPKG Registry (UUID_REGISTRY)"
  +This is a version 1 \s-1UUID\s0 which uniquely identifiers the \fBOpenPKG\fR
  +instance for global registration purposes. It is generated just once in
  +the lifetime of the \fBOpenPKG\fR instance. The value of this \s-1UUID\s0 cannot
  +be recalculated deterministically.
  +.ie n .IP "2. \fBOpenPKG Instance\fR (\*(C`UUID_INSTANCE\*(C')" 3
  +.el .IP "2. \fBOpenPKG Instance\fR (\f(CW\*(C`UUID_INSTANCE\*(C'\fR)" 3
  +.IX Item "2. OpenPKG Instance (UUID_INSTANCE)"
  +This is a version 3 \s-1UUID\s0 which summarizes the \fBOpenPKG\fR
  +instance parameters. Currently the values of the following
  +particular OpenPKG \s-1RPM\s0 macros are uses as input:
  +.Sp
  +.Vb 5
  +\& %{l_openpkg_release} %{l_prefix}
  +\& %{l_susr} %{l_suid} %{l_sgrp} %{l_sgid}
  +\& %{l_musr} %{l_muid} %{l_mgrp} %{l_mgid}
  +\& %{l_rusr} %{l_ruid} %{l_rgrp} %{l_rgid}
  +\& %{l_nusr} %{l_nuid} %{l_ngrp} %{l_ngid}
  +.Ve
  +.Sp
  +The value of this \s-1UUID\s0 can be recalculated deterministically and will
  +not chance as long as none of the values of the above macro do not
  +change. This \s-1UUID\s0 can be used for detecting OpenPKG release upgrades,
  +accidentally changed UIDs or GIDs, etc. Notice that version 3 UUIDs are
  +message digests (actually \s-1MD5\s0 based) and so are one-way functions which do
  +not allow one to recalculate the input values from the \s-1UUID\s0.
  +.ie n .IP "3. \fBOpenPKG Platform\fR (\*(C`UUID_PLATFORM\*(C')" 3
  +.el .IP "3. \fBOpenPKG Platform\fR (\f(CW\*(C`UUID_PLATFORM\*(C'\fR)" 3
  +.IX Item "3. OpenPKG Platform (UUID_PLATFORM)"
  +This is a version 3 \s-1UUID\s0 which summarizes the \fBOpenPKG\fR platform
  +parameters. Currently the OpenPKG \s-1RPM\s0 platform id plus the \s-1FQDN\s0 and 
\s-1IP\s0
  +address of the underlying host are used as input. This \s-1UUID\s0 can be used
  +for detecting operating system and host changes. Notice that version
  +3 UUIDs are message digests (actually \s-1MD5\s0 based) and so are one-way
  +functions which do not allow one to recalculate the input values from
  +the \s-1UUID\s0.
  +.SH "OPTIONS"
  +.IX Header "OPTIONS"
  +.IP "\fB\-\-verbose\fR" 4
  +.IX Item "--verbose"
  +Print verbose messages during operation.
  +.IP "\fB\-\-multicast\fR" 4
  +.IX Item "--multicast"
  +Generate a random multicast \s-1MAC\s0 address instead of using the real \s-1IEEE\s0
  +802 \s-1MAC\s0 address of the underlying host when generating the version 1
  +\&\s-1UUID\s0 \f(CW\*(C`UUID_REGISTRY\*(C'\fR.
  +.SH "COMMANDS"
  +.IX Header "COMMANDS"
  +.IP "\fBreset\fR" 4
  +.IX Item "reset"
  +This resets the three UUIDs \f(CW\*(C`UUID_REGISTRY\*(C'\fR, 
\f(CW\*(C`UUID_INSTANCE\*(C'\fR and
  +\&\f(CW\*(C`UUID_PLATFORM\*(C'\fR to the \*(L"Nil \s-1UUID\s0\*(R". They are then 
automatically
  +regenerated within one day if already done explicitly afterward with
  +"\f(CW\*(C`openpkg uuid update\*(C'\fR".
  +.IP "\fBupdate\fR" 4
  +.IX Item "update"
  +This updates the three UUIDs \f(CW\*(C`UUID_REGISTRY\*(C'\fR, 
\f(CW\*(C`UUID_INSTANCE\*(C'\fR and
  +\&\f(CW\*(C`UUID_PLATFORM\*(C'\fR to the \*(L"Nil \s-1UUID\s0\*(R". 
\f(CW\*(C`UUID_REGISTRY\*(C'\fR is kept unless it
  +is the \*(L"Nil \s-1UUID\s0\*(R" (see "\f(CW\*(C`openpkg uuid reset\*(C'\fR" 
command above). The UUIDs
  +\&\f(CW\*(C`UUID_INSTANCE\*(C'\fR and \f(CW\*(C`UUID_PLATFORM\*(C'\fR are updated 
only if their input
  +values (and this way the resulting UUIDs) have changed. This operation
  +is performed daily automatically.
  +.IP "\fBinfo\fR" 4
  +.IX Item "info"
  +This print summary page of identification information, including all
  +UUIDs and all of their calculation inputs.
  +.SH "FILES"
  +.IX Header "FILES"
  +The three UUIDs of the \fBOpenPKG\fR instance are stored in the file
  +\&\f(CW\*([EMAIL PROTECTED]@/etc/openpkg/uuid\*(C'\fR in Bourne-Shell syntax. An 
example
  +content is:
  +.PP
  +.Vb 3
  +\& UUID_REGISTRY="81eca44e-4d18-11d8-a837-0090272ff725"
  +\& UUID_INSTANCE="c55a8d2d-31bb-3ae0-9edb-68337af61acc"
  +\& UUID_PLATFORM="05ec2532-9e3f-37dc-a7ed-b291c2c463ed"
  +.Ve
  +.SH "CAVEATS"
  +.IX Header "CAVEATS"
  +By default and in full compliance with \s-1DCE\s0 1.1 and \s-1ISO/IEC\s0 11578:1996,
  +the OpenPKG Registry \s-1UUID\s0 (\f(CW\*(C`UUID_REGISTRY\*(C'\fR) contains the 
\s-1IEEE\s0 802 \s-1MAC\s0
  +address of the underlying host. If this is not acceptable by local
  +security policies you can easily at any time generate a new OpenPKG
  +Registry \s-1UUID\s0 with a random multicast \s-1MAC\s0 address instead by running:
  +.PP
  +.Vb 2
  +\& $ openpkg uuid reset
  +\& $ openpkg uuid --multicast update
  +.Ve
  +.SH "SEE ALSO"
  +.IX Header "SEE ALSO"
  +\&\fB\s-1OSSP\s0 uuid\fR <http://www.ossp.org/pkg/lib/uuid/>.
  +.SH "HISTORY"
  +.IX Header "HISTORY"
  +The \fBopenpkg uuid\fR command first appeared in \fBOpenPKG 2.0\fR.
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/uuid.pod
  ============================================================================
  $ cvs diff -u -r0 -r1.1 uuid.pod
  --- /dev/null 2004-02-21 20:11:35.000000000 +0100
  +++ uuid.pod  2004-02-21 20:11:35.000000000 +0100
  @@ -0,0 +1,168 @@
  +##
  +##  uuid -- OpenPKG UUID Update Utility
  +##  Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2004 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.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 uuid> - OpenPKG UUID Update Utility
  +
  +=head1 SYNOPSIS
  +
  +B<openpkg uuid> [B<--verbose>] [B<--multicast>] B<reset>|B<update>|B<info>
  +
  +=head1 DESCRIPTION
  +
  +The B<openpkg uuid> command is the maintenance utility for the DCE 1.1
  +and ISO/IEC 11578:1996 compliant I<Universally Unique Identifiers>
  +(UUID) of an B<OpenPKG> instance. It is internally based on B<OSSP
  +uuid>.
  +
  +UUIDs are 128 bit numbers which are intended to have a high likelihood
  +of uniqueness over space and time and are computationally difficult
  +to guess. They are globally unique identifiers which can be locally
  +generated without contacting a global registration authority. UUIDs are
  +intended as unique identifiers for both mass tagging objects with an
  +extremely short lifetime and to reliably identifying very persistent
  +objects across a network. The three classical UUID variants are DCE 1.1
  +UUIDs of version 1 (time and node based), version 3 (name based) and
  +version 4 (random number based).
  +
  +For an B<OpenPKG> instance, three different UUIDs are used:
  +
  +=over 3
  +
  +=item 1. B<OpenPKG Registry> (C<UUID_REGISTRY>)
  +
  +This is a version 1 UUID which uniquely identifiers the B<OpenPKG>
  +instance for global registration purposes. It is generated just once in
  +the lifetime of the B<OpenPKG> instance. The value of this UUID cannot
  +be recalculated deterministically.
  +
  +=item 2. B<OpenPKG Instance> (C<UUID_INSTANCE>)
  +
  +This is a version 3 UUID which summarizes the B<OpenPKG>
  +instance parameters. Currently the values of the following
  +particular OpenPKG RPM macros are uses as input:
  +
  + %{l_openpkg_release} %{l_prefix}
  + %{l_susr} %{l_suid} %{l_sgrp} %{l_sgid}
  + %{l_musr} %{l_muid} %{l_mgrp} %{l_mgid}
  + %{l_rusr} %{l_ruid} %{l_rgrp} %{l_rgid}
  + %{l_nusr} %{l_nuid} %{l_ngrp} %{l_ngid}
  +
  +The value of this UUID can be recalculated deterministically and will
  +not chance as long as none of the values of the above macro do not
  +change. This UUID can be used for detecting OpenPKG release upgrades,
  +accidentally changed UIDs or GIDs, etc. Notice that version 3 UUIDs are
  +message digests (actually MD5 based) and so are one-way functions which do
  +not allow one to recalculate the input values from the UUID.
  +
  +=item 3. B<OpenPKG Platform> (C<UUID_PLATFORM>)
  +
  +This is a version 3 UUID which summarizes the B<OpenPKG> platform
  +parameters. Currently the OpenPKG RPM platform id plus the FQDN and IP
  +address of the underlying host are used as input. This UUID can be used
  +for detecting operating system and host changes. Notice that version
  +3 UUIDs are message digests (actually MD5 based) and so are one-way
  +functions which do not allow one to recalculate the input values from
  +the UUID.
  +
  +=back
  +
  +=head1 OPTIONS
  +
  +=over 4
  +
  +=item B<--verbose>
  +
  +Print verbose messages during operation.
  +
  +=item B<--multicast>
  +
  +Generate a random multicast MAC address instead of using the real IEEE
  +802 MAC address of the underlying host when generating the version 1
  +UUID C<UUID_REGISTRY>.
  +
  +=back
  +
  +=head1 COMMANDS
  +
  +=over 4
  +
  +=item B<reset>
  +
  +This resets the three UUIDs C<UUID_REGISTRY>, C<UUID_INSTANCE> and
  +C<UUID_PLATFORM> to the "Nil UUID". They are then automatically
  +regenerated within one day if already done explicitly afterward with
  +"C<openpkg uuid update>".
  +
  +=item B<update>
  +
  +This updates the three UUIDs C<UUID_REGISTRY>, C<UUID_INSTANCE> and
  +C<UUID_PLATFORM> to the "Nil UUID". C<UUID_REGISTRY> is kept unless it
  +is the "Nil UUID" (see "C<openpkg uuid reset>" command above). The UUIDs
  +C<UUID_INSTANCE> and C<UUID_PLATFORM> are updated only if their input
  +values (and this way the resulting UUIDs) have changed. This operation
  +is performed daily automatically.
  +
  +=item B<info>
  +
  +This print summary page of identification information, including all
  +UUIDs and all of their calculation inputs.
  +
  +=back
  +
  +=head1 FILES
  +
  +The three UUIDs of the B<OpenPKG> instance are stored in the file
  +C<@l_prefix@/etc/openpkg/uuid> in Bourne-Shell syntax. An example
  +content is:
  +
  + UUID_REGISTRY="81eca44e-4d18-11d8-a837-0090272ff725"
  + UUID_INSTANCE="c55a8d2d-31bb-3ae0-9edb-68337af61acc"
  + UUID_PLATFORM="05ec2532-9e3f-37dc-a7ed-b291c2c463ed"
  +
  +=head1 CAVEATS
  +
  +By default and in full compliance with DCE 1.1 and ISO/IEC 11578:1996,
  +the OpenPKG Registry UUID (C<UUID_REGISTRY>) contains the IEEE 802 MAC
  +address of the underlying host. If this is not acceptable by local
  +security policies you can easily at any time generate a new OpenPKG
  +Registry UUID with a random multicast MAC address instead by running:
  +
  + $ openpkg uuid reset
  + $ openpkg uuid --multicast update
  +
  +=head1 SEE ALSO
  +
  +B<OSSP uuid> E<lt>http://www.ossp.org/pkg/lib/uuid/E<gt>.
  +
  +=head1 HISTORY
  +
  +The B<openpkg uuid> command first appeared in B<OpenPKG 2.0>.
  +
  +=cut
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to