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 [email protected]