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

  Server: cvs.openpkg.org                  Name:   Thomas Lotterer
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   23-Mar-2007 00:02:34
  Branch: OPENPKG_2_STABLE                 Handle: 2007032223023102

  Modified files:           (Branch: OPENPKG_2_STABLE)
    openpkg-src/openpkg     HISTORY openpkg.spec rc rc.func rc.openpkg uuid.sh

  Log:
    MFC: latest registry fine tuning, rc fixes and compatibility removal

  Summary:
    Revision    Changes     Path
    1.337.2.22  +10 -0      openpkg-src/openpkg/HISTORY
    1.490.2.22  +15 -15     openpkg-src/openpkg/openpkg.spec
    1.62.2.3    +1  -7      openpkg-src/openpkg/rc
    1.15.2.2    +1  -37     openpkg-src/openpkg/rc.func
    1.19.12.3   +12 -6      openpkg-src/openpkg/rc.openpkg
    1.8.2.3     +11 -33     openpkg-src/openpkg/uuid.sh
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.337.2.21 -r1.337.2.22 HISTORY
  --- openpkg-src/openpkg/HISTORY       18 Mar 2007 23:31:59 -0000      
1.337.2.21
  +++ openpkg-src/openpkg/HISTORY       22 Mar 2007 23:02:31 -0000      
1.337.2.22
  @@ -2,6 +2,16 @@
   2007
   ====
   
  +20070322 **** RELEASE AS PART OF OPENPKG 2.20070322 ****
  +20070322 cosmetic: align code variable name with documentation
  +20070321 upgrade to openpkg-registry 1.1.2 replace HOSTNAME with FQDN when 
creating OPENPKG_DESC default
  +20070320 automatic (re-)registration if previous registration, community 
series or release set to openpkg URLs
  +20070320 improve generation of UUID_PLATFORM by using a better (no longer IP 
based) "discriminator" value
  +20070320 remove old support for never finished rcng
  +20070320 remove old backward compatibility from rc.func for OpenPKG 1.2's 
opXXX functions
  +20070319 change "rc" to not check permissions for --print operations
  +20070319 fix eval "rc" in rc.func which relies on PATH and conflicts with 
Plan 9 shell
  +
   20070319 **** RELEASE AS PART OF OPENPKG 2.20070319 ****
   20070305 invalidate passwd and group tables from Name Service Cache Daemon 
after pwconv
   20070305 upgrade to rpmtool 1.1.0 remove dormant code for system user/group 
addition/removal
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/openpkg.spec
  ============================================================================
  $ cvs diff -u -r1.490.2.21 -r1.490.2.22 openpkg.spec
  --- openpkg-src/openpkg/openpkg.spec  18 Mar 2007 23:32:00 -0000      
1.490.2.21
  +++ openpkg-src/openpkg/openpkg.spec  22 Mar 2007 23:02:31 -0000      
1.490.2.22
  @@ -39,7 +39,7 @@
   #   o any cc(1)
   
   #   the package version/release
  -%define       V_openpkg  2.20070319
  +%define       V_openpkg  2.20070322
   
   #   the used software versions
   %define       V_rpm      4.2.1
  @@ -55,7 +55,7 @@
   %define       V_bash     3.2
   %define       V_uuid     1.5.1
   %define       V_config   20060923
  -%define       V_registry 1.1.1
  +%define       V_registry 1.1.2
   %define       V_perl     5.8.8
   %define       V_openssl  0.9.8e
   %define       V_tools    1.4.4
  @@ -1628,12 +1628,12 @@
       [ ".$prefix" = . ] && prefix="%{l_prefix}"
       prefix=`echo "$prefix" | sed -e 's;//*;/;g' -e 's;/$;;'`
   
  -    #   register the OpenPKG instance in /etc/openpkg
  -    registry="/etc/openpkg"
  -    exists=`cat $registry 2>/dev/null | egrep "^ *${prefix} *\$"`
  +    #   register instance in presence file
  +    presence="/etc/openpkg"
  +    exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"`
       if [ ".$exists" = . ]; then
           ( umask 022
  -          echo "${prefix}" >>$registry
  +          echo "${prefix}" >>$presence
           ) 2>/dev/null || true
       fi
   
  @@ -2488,19 +2488,19 @@
       r=`(uname -r) 2>/dev/null` || r='0.0'
       plid="${s}/${r}"
   
  -    #   unregister the OpenPKG instance in /etc/openpkg
  -    registry="/etc/openpkg"
  -    exists=`cat $registry 2>/dev/null | egrep "^ *${prefix} *\$"`
  +    #   unregister instance in presence file
  +    presence="/etc/openpkg"
  +    exists=`cat $presence 2>/dev/null | egrep "^ *${prefix} *\$"`
       if [ ".$exists" != . ]; then
           if [ ".$cusr" != ".root" ]; then
  -            echo "openpkg:WARNING: skipping unregistering of $prefix in 
$registry" 1>&2
  +            echo "openpkg:WARNING: skipping unregistering of $prefix in 
$presence" 1>&2
               echo "openpkg:WARNING: (would require root-privileges)" 1>&2
           else
  -            cp $registry $registry.bak && \
  -            egrep -v "^ *${prefix} *\$" $registry.bak >$registry
  -            rm -f $registry.bak >/dev/null 2>&1
  -            if [ ".`cat $registry`" = . ]; then
  -                rm -f $registry >/dev/null 2>&1
  +            cp $presence $presence.bak && \
  +            egrep -v "^ *${prefix} *\$" $presence.bak >$presence
  +            rm -f $presence.bak >/dev/null 2>&1
  +            if [ ".`cat $presence`" = . ]; then
  +                rm -f $presence >/dev/null 2>&1
               fi
           fi
       fi
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc
  ============================================================================
  $ cvs diff -u -r1.62.2.2 -r1.62.2.3 rc
  --- openpkg-src/openpkg/rc    5 Jan 2007 20:34:36 -0000       1.62.2.2
  +++ openpkg-src/openpkg/rc    22 Mar 2007 23:02:32 -0000      1.62.2.3
  @@ -48,12 +48,6 @@
   NL="
   "
   
  -#   provide hook for "openpkg-rc" package which contains the
  -#   new OSSP rc implementation as a replacement for this script.
  -if [ -f "$prefix/lib/openpkg/rcng" ]; then
  -    exec "$prefix/lib/openpkg/rcng" ${1+"$@"}
  -fi
  -
   ##
   ##  command line option parsing
   ##
  @@ -341,7 +335,7 @@
               done
   
               #   sanity check: is operation supported by current environment?
  -            if [ ".$s_user" != ".$user" -a ".$user" != ".root" ]; then
  +            if [ ".$s_user" != ".$user" -a ".$user" != ".root" -a ".$print" 
= .0 ]; then
                   echo "openpkg:rc:ERROR: $s_name:%$cmd: require root 
privileges to run as user \"$s_user\"" 1>&2
                   exit 1
               fi
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc.func
  ============================================================================
  $ cvs diff -u -r1.15.2.1 -r1.15.2.2 rc.func
  --- openpkg-src/openpkg/rc.func       5 Jan 2007 20:34:36 -0000       1.15.2.1
  +++ openpkg-src/openpkg/rc.func       22 Mar 2007 23:02:33 -0000      1.15.2.2
  @@ -176,7 +176,7 @@
       local chk="${3}"
       eval "local val=\$${var}"
       if [ ".${val}" = . ]; then
  -        eval `rc ${1} status`
  +        eval [EMAIL PROTECTED]@/bin/openpkg rc 2>/dev/null --silent ${1} 
status || true`
           eval "local val=\$${var}"
       fi
       if [ ".${val}" = ".${chk}" ]; then
  @@ -208,39 +208,3 @@
       esac
   }
   
  -#
  -#   BACKWARD COMPATIBILITY FOR OPENPKG 1.2 ONLY:
  -#   Mapping between old opXXX and new rcXXX functions.
  -#
  -
  -opWarn () {
  -    rcMsg -w "$*"
  -}
  -opErr () {
  -    rcMsg -e "$*"
  -}
  -opPathAdd () {
  -    rcPath -a "$@"
  -}
  -opPathDel () {
  -    rcPath -r "$@"
  -}
  -opServiceEnabled () {
  -    rcService ${1} enable yes
  -}
  -opService () {
  -    rcService "$@"
  -}
  -opTmpDirGen () {
  -    rcTmp -i -p ${1}
  -}
  -opTmpDirFile () {
  -    eval "${3}=\$(rcTmp -f -n ${2})"
  -}
  -opTmpDirDel () {
  -    rcTmp -k
  -}
  -opVarIsYes () {
  -    rcVarIsYes "$@"
  -}
  -
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/rc.openpkg
  ============================================================================
  $ cvs diff -u -r1.19.12.2 -r1.19.12.3 rc.openpkg
  --- openpkg-src/openpkg/rc.openpkg    21 Feb 2007 17:22:11 -0000      
1.19.12.2
  +++ openpkg-src/openpkg/rc.openpkg    22 Mar 2007 23:02:33 -0000      
1.19.12.3
  @@ -28,12 +28,18 @@
   
   %hourly -u @l_musr@
       rcService openpkg enable yes || exit 0
  -    reregister=0; @l_prefix@/bin/openpkg register --printstatus >/dev/null 
2>&1 && reregister=1
  -    #   check for "openpkg" executable from the OpenPKG Community series
  -    #   if OSS, register with openpkg.org
  -    [EMAIL PROTECTED]@/bin/openpkg --license 2>/dev/null | \
  -        sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C'`
  -    if [ ".$community_version" != . -o $reregister -eq 1 ]; then
  +    #   automatic (re-)registration
  +    reregister=0
  +    #   re-register if previously registered
  +    @l_prefix@/bin/openpkg register --printstatus >/dev/null 2>&1 && 
reregister=1
  +    #   re-register if "openpkg" executable from community series
  +    [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg --license 2>/dev/null \
  +    | sed -e 'q' | egrep '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-C' 
>/dev/null && reregister=1
  +    #   re-register if "openpkg release" configured to pull packages 
directly from openpkg.(org|com|net)
  +    [ $reregister -eq 0 ] && @l_prefix@/bin/openpkg release --fmt='%u' \
  +    | egrep '^[^:]*://(([^:]*:)?([EMAIL 
PROTECTED]@)?)?([^/]*\.)?openpkg\.(com|org|net)/' >/dev/null && reregister=1
  +    #   perform (re-)registration
  +    if [ $reregister -eq 1 ]; then
           [ $openpkg_reghour -lt 00 -o $openpkg_reghour -gt 23 ] && 
openpkg_reghour="3"
           now=`date '+%H'`
           [ $openpkg_reghour -eq $now ] || exit 0
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/uuid.sh
  ============================================================================
  $ cvs diff -u -r1.8.2.2 -r1.8.2.3 uuid.sh
  --- openpkg-src/openpkg/uuid.sh       5 Jan 2007 20:34:38 -0000       1.8.2.2
  +++ openpkg-src/openpkg/uuid.sh       22 Mar 2007 23:02:33 -0000      1.8.2.3
  @@ -29,6 +29,7 @@
   mgrp="@l_mgrp@"
   prog_rpm="$prefix/libexec/openpkg/rpm"
   prog_shtool="$prefix/lib/openpkg/shtool"
  +prog_miniperl="$prefix/lib/openpkg/miniperl"
   prog_uuid="$prefix/lib/openpkg/uuid"
   file_uuid="$prefix/etc/openpkg/uuid"
   
  @@ -62,34 +63,17 @@
       eval `$prog_rpm --eval "$query" 2>/dev/null`
   
       #   query OS information
  -    Q_platform=`$prog_shtool platform --type=binary 2>/dev/null`
  +    Q_platform=`$prog_shtool platform --type=binary 2>/dev/null |\
  +        sed -e 's;^\([^-][^-]*-[^.-][^.-]*\)\..*$;\1;'`
       if [ ".$Q_platform" = . ]; then
           Q_platform="unknown"
       fi
  -    Q_hostname=`$prog_shtool echo -e '%h%d' 2>/dev/null`
  -    if [ ".$Q_hostname" = . ]; then
  -        Q_hostname="unknown"
  -    fi
  -    Q_ipaddr=""
  -    ifconfig=`$prog_shtool path -p "/sbin:/usr/sbin:/bin:/usr/bin:$PATH" 
ifconfig`
  -    if [ ".$ifconfig" != . ]; then
  -        ips=`$ifconfig -a 2>&1 | grep 'inet' | \
  -             sed -e 's;inet6;inet;g' \
  -                 -e 's;inet addr:;inet ;' \
  -                 -e 's;^;X;' \
  -                 -e 's;^X.*inet  *\([^ ][^ ]*\).*$;\1;' \
  -                 -e 's;^X.*;;' | \
  -                 sort`
  -        for ip in $ips; do
  -            if [ ".$Q_ipaddr" = . ]; then
  -                Q_ipaddr="$ip"
  -            else
  -                Q_ipaddr="$Q_ipaddr,$ip"
  -            fi
  -        done
  -    fi
  -    if [ ".$Q_ipaddr" = . ]; then
  -        Q_ipaddr="unknown"
  +    Q_discriminator=`$prog_uuid -v1 | $prog_uuid -d -- - | awk 
'/node:.*global unicast/ { printf("mac:%s", $2); }'`
  +    if [ ".$Q_discriminator" = . ]; then
  +        Q_discriminator=`$prog_miniperl -e 'if (-f "/etc/openpkg") { 
printf("inode:%s", (stat("/etc/openpkg"))[1]); }' 2>/dev/null`
  +        if [ ".$Q_discriminator" = . ]; then
  +            Q_discriminator=`$prog_shtool echo -e 'fqdn:%h%d' 2>/dev/null`
  +        fi
       fi
   }
   
  @@ -221,8 +205,7 @@
   
       #   update platform UUID
       name="${Q_platform}"
  -    name="$name:${Q_hostname}"
  -    name="$name:${Q_ipaddr}"
  +    name="$name:${Q_discriminator}"
       if [ ".$opt_v" = .yes ]; then
           echo "uuid: querying OpenPKG Platform OID"
           echo "uuid: << $prog_rpm --eval '%{l_openpkg_oid_platform}'"
  @@ -282,12 +265,7 @@
       echo ""
       echo "OpenPKG Platform"
       echo "    Platform Id:           $Q_platform"
  -    echo "    Host Name:             $Q_hostname"
  -    n=1
  -    for ip in `echo "$Q_ipaddr" | sed -e 's;,; ;g'`; do
  -        echo . | awk '{ printf("    Host IP Address %-6s %s\n", num, ip); }' 
num="#$n" ip="$ip"
  -        n=`expr $n + 1`
  -    done
  +    echo "    Discriminator:         $Q_discriminator"
       echo "    UUID_PLATFORM:         $UUID_PLATFORM"
       echo ""
       echo "(run \"$0 --verbose update\" to reproduce the UUID generation)"
  @@ .
______________________________________________________________________
OpenPKG                                             http://openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to