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