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:   20-Mar-2007 13:50:59
  Branch: HEAD                             Handle: 2007032012505800

  Modified files:
    openpkg-src/openpkg     HISTORY uuid.sh

  Log:
    improve generation of UUID_PLATFORM by using a better (no longer IP
    based) "discriminator" value

  Summary:
    Revision    Changes     Path
    1.439       +1  -0      openpkg-src/openpkg/HISTORY
    1.11        +11 -33     openpkg-src/openpkg/uuid.sh
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/HISTORY
  ============================================================================
  $ cvs diff -u -r1.438 -r1.439 HISTORY
  --- openpkg-src/openpkg/HISTORY       20 Mar 2007 11:29:50 -0000      1.438
  +++ openpkg-src/openpkg/HISTORY       20 Mar 2007 12:50:58 -0000      1.439
  @@ -2,6 +2,7 @@
   2007
   ====
   
  +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
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg/uuid.sh
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 uuid.sh
  --- openpkg-src/openpkg/uuid.sh       1 Jan 2007 17:40:20 -0000       1.10
  +++ openpkg-src/openpkg/uuid.sh       20 Mar 2007 12:50:58 -0000      1.11
  @@ -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