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 openpkg-web Date: 20-Jan-2004 17:56:13
Branch: HEAD Handle: 2004012016560804
Added files:
openpkg-src/openpkg uuid.sh
Modified files:
openpkg-src/openpkg HISTORY README aux.wrapbin.sh openpkg.boot
openpkg.spec rc.openpkg
openpkg-web news.txt
Log:
- add OSSP uuid and companion uuid.sh frontend to provide new
<prefix>/etc/openpkg/uuid
- embed %post section from openpkg.spec into bootstrap script *.src.sh
Summary:
Revision Changes Path
1.108 +2 -0 openpkg-src/openpkg/HISTORY
1.21 +1 -0 openpkg-src/openpkg/README
1.14 +16 -0 openpkg-src/openpkg/aux.wrapbin.sh
1.41 +15 -5 openpkg-src/openpkg/openpkg.boot
1.267 +36 -2 openpkg-src/openpkg/openpkg.spec
1.17 +11 -0 openpkg-src/openpkg/rc.openpkg
1.1 +286 -0 openpkg-src/openpkg/uuid.sh
1.8149 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/HISTORY
============================================================================
$ cvs diff -u -r1.107 -r1.108 HISTORY
--- openpkg-src/openpkg/HISTORY 20 Jan 2004 15:17:11 -0000 1.107
+++ openpkg-src/openpkg/HISTORY 20 Jan 2004 16:56:12 -0000 1.108
@@ -2,6 +2,8 @@
2004
====
+20040120 add OSSP uuid and companion uuid.sh frontend to provide new
<prefix>/etc/openpkg/uuid
+20040120 embed %post section from openpkg.spec into bootstrap script *.src.sh
20040120 adjust widths in "rpm -qplv" output to allow longer owner/group
20040120 regenerate rpm.patch.* files with latest CVS 1.12.x
20040113 add %status to rc.openpkg; this prevents warnings when no package provides
a status
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/README
============================================================================
$ cvs diff -u -r1.20 -r1.21 README
--- openpkg-src/openpkg/README 20 Jan 2004 14:52:02 -0000 1.20
+++ openpkg-src/openpkg/README 20 Jan 2004 16:56:12 -0000 1.21
@@ -19,6 +19,7 @@
patch-2.5.9.tar.gz ...... untouched distribution tarball of the GNU patch tool
bash-2.05b.tar.gz ....... untouched distribution tarball of the GNU bash tool
tar-1.13.25.tar.gz ...... untouched distribution tarball of the GNU tar tool
+ uuid-0.9.4.tar.gz ....... untouched distribution tarball of the OSSP uuid tool
curl-7.10.8.tar.gz ...... untouched distribution tarball of the cURL tool
bzip2-1.0.2.tar.gz ...... untouched distribution tarball of the BZIP2 library
zlib-1.2.1.tar.gz ....... untouched distribution tarball of the ZLIB library
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/aux.wrapbin.sh
============================================================================
$ cvs diff -u -r1.13 -r1.14 aux.wrapbin.sh
--- openpkg-src/openpkg/aux.wrapbin.sh 7 Nov 2003 11:48:38 -0000 1.13
+++ openpkg-src/openpkg/aux.wrapbin.sh 20 Jan 2004 16:56:12 -0000 1.14
@@ -168,6 +168,22 @@
grep -v '(none)' | sed 's/^fixate .../fixate /' | sed -e "s;
::\\(.\\)@l_prefix@; \\1$l_prefix;"
) | sh 2>/dev/null || true
+# running the embedded %post script
+echo "++ post-processing OpenPKG bootstrap installation"
+prefix="$l_prefix"
+susr='@SUSR@'; sgrp='@SGRP@'
+musr='@MUSR@'; mgrp='@MGRP@'
+rusr='@RUSR@'; rgrp='@RGRP@'
+nusr='@NUSR@'; ngrp='@NGRP@'
+suid='@SUID@'; sgid='@SGID@'
+muid='@MUID@'; mgid='@MGID@'
+ruid='@RUID@'; rgid='@RGID@'
+nuid='@NUID@'; ngid='@NGID@'
+set -- 1 # emulate RPM's $1 when executing scripts
+# ---- BEGIN EMBEDDED %post SCRIPT ----
[EMAIL PROTECTED]@
+# ---- END EMBEDDED %post SCRIPT ----
+
# display final information
( echo "Congratulations!"
echo ""
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/openpkg.boot
============================================================================
$ cvs diff -u -r1.40 -r1.41 openpkg.boot
--- openpkg-src/openpkg/openpkg.boot 29 Nov 2003 15:44:23 -0000 1.40
+++ openpkg-src/openpkg/openpkg.boot 20 Jan 2004 16:56:12 -0000 1.41
@@ -538,7 +538,7 @@
files=`cat $spec |\
sed -e '1,/%files/d' -e '/%clean/,$d' |\
grep -v '^ *$' | grep -v '%defattr' |\
- sed -e 's;%config(noreplace) *;;' -e 's;%config *;;' \
+ sed -e 's;%config(noreplace) *;;' -e 's;%config *;;' -e 's;%ghost *;;' \
-e 's;%dir *;;' -e 's;%{l_prefix}/;;' -e 's;^ *;;' -e
"s;%{V_rpm};${V_rpm};"`
db_files=""
for db_file in \
@@ -580,8 +580,17 @@
-e 's;%{![?]l_\([^:}]*\):\([^}]*\)};${\1-\2};g' \
-e 's;%{[?]l_\([^:}]*\)};${\1+""};g' \
-e 's;%{![?]l_\([^:}]*\)};${\1-""};g' \
- -e 's;%{l_\([^}]*\)};${\1};g' >>$script \
+ -e 's;%{l_\([^}]*\)};${\1};g' \
>$tmpdir/rpm.pre
+cat $spec |\
+ sed -e "/^%post$/,/^%/ p" -e 'd' |\
+ sed -e '/^%/d' -e 's/^ //' |\
+ sed -e 's;%{[?]l_\([^:}]*\):\([^}]*\)};${\1+\2};g' \
+ -e 's;%{![?]l_\([^:}]*\):\([^}]*\)};${\1-\2};g' \
+ -e 's;%{[?]l_\([^:}]*\)};${\1+""};g' \
+ -e 's;%{![?]l_\([^:}]*\)};${\1-""};g' \
+ -e 's;%{l_\([^}]*\)};${\1};g' \
+ >$tmpdir/rpm.post
sed <`SOURCE aux.wrapbin.sh` \
-e "s;@SUSR@;$susr;" -e "s;@SGRP@;$sgrp;" \
-e "s;@MUSR@;$musr;" -e "s;@MGRP@;$mgrp;" \
@@ -595,8 +604,9 @@
-e "s;@l_platform@;$l_platform;" \
-e "s;@l_release@;$l_release;" \
-e "s;@l_version@;$l_version;" \
- -e "/[EMAIL PROTECTED]@/r $tmpdir/rpm.pre" |\
- sed -e '/[EMAIL PROTECTED]@/d' >$tmpdir/openpkg.boot.tmp
+ -e "/[EMAIL PROTECTED]@/r $tmpdir/rpm.pre" \
+ -e "/[EMAIL PROTECTED]@/r $tmpdir/rpm.post" |\
+ sed -e '/[EMAIL PROTECTED]@/d' -e '/[EMAIL PROTECTED]@/d'
>$tmpdir/openpkg.boot.tmp
echo . | awk '{
for (i = 0; i < 8192; i++) {
printf(" ");
@@ -616,7 +626,7 @@
cp `SOURCE rpmtool` $tmpdir/rpmtool
rm -rf $RPM_BUILD_ROOT
rm -rf $tmpdir/$name-$version
-rm -f $tmpdir/rpm $tmpdir/rpm.[123] $tmpdir/.popt $tmpdir/rpm.pre
+rm -f $tmpdir/rpm $tmpdir/rpm.[123] $tmpdir/.popt $tmpdir/rpm.pre $tmpdir/rpm.post
rm -f $prolog
# final hint about results
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/openpkg.spec
============================================================================
$ cvs diff -u -r1.266 -r1.267 openpkg.spec
--- openpkg-src/openpkg/openpkg.spec 20 Jan 2004 15:17:11 -0000 1.266
+++ openpkg-src/openpkg/openpkg.spec 20 Jan 2004 16:56:12 -0000 1.267
@@ -52,6 +52,7 @@
%define V_patch 2.5.9
%define V_tar 1.13.25
%define V_bash 2.05b
+%define V_uuid 0.9.4
# package information
Name: openpkg
@@ -122,6 +123,8 @@
Source53: rpm-config.pod
Source54: rpm-config.8
Source55: rpmdb
+Source56: ftp://ftp.ossp.org/pkg/lib/uuid/uuid-%{V_uuid}.tar.gz
+Source57: uuid.sh
# build information
Prefix: %{l_prefix}
@@ -148,7 +151,7 @@
RedHat RPM %{V_rpm}, ZLib %{V_zlib}, GNU Bzip2 %{V_bzip2},
GNU Gzip %{V_gzip}, GNU Tar %{V_tar}, GNU Patch %{V_patch},
GNU Make %{V_make}, GNU Bash %{V_bash}, cURL %{V_curl},
- BeeCrypt %{V_beecrypt}
+ OSSP uuid %{V_uuid}, BeeCrypt %{V_beecrypt}
%prep
# skip in bootstrap phase 2 (see openpkg.boot)
@@ -374,6 +377,7 @@
${l_gzip} -dc `SOURCE patch-%{V_patch}.tar.gz` | ${l_tar} xf -
2>/dev/null || true
${l_gzip} -dc `SOURCE tar-%{V_tar}.tar.gz` | ${l_tar} xf -
2>/dev/null || true
${l_gzip} -dc `SOURCE bash-%{V_bash}.tar.gz` | ${l_tar} xf -
2>/dev/null || true
+ ${l_gzip} -dc `SOURCE uuid-%{V_uuid}.tar.gz` | ${l_tar} xf -
2>/dev/null || true
${l_gzip} -dc `SOURCE beecrypt-%{V_beecrypt}.tar.gz` | ${l_tar} xf -
2>/dev/null || true
# update config.guess/config.sub
@@ -520,6 +524,17 @@
# display verbosity header
set +x; VERBOSE "BUILD: Build cURL (URL Fetching Tool)"
+ # build OSSP uuid tool
+ ( cd uuid-%{V_uuid}
+ CC="${l_cc}" \
+ CFLAGS="-O" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --disable-shared
+ ${l_make} || exit $?
+ ( mv uuid ..; ${l_make} clean || true; mv ../uuid . ) || exit $?
+ ) || exit $?
+
# build cURL tool
( cd curl-%{V_curl}
( echo 'ac_cv_header_openssl_engine_h=no'
@@ -810,6 +825,15 @@
cp bash $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bash
strip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/bash
) || exit $?
+ ( cd uuid-%{V_uuid}
+ cp uuid $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
+ strip $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid
+ ) || exit $?
+ sed -e "s;@l_prefix@;%{l_prefix};g" \
+ -e "s;@l_musr@;%{l_musr};g" \
+ -e "s;@l_mgrp@;%{l_mgrp};g" \
+ <`SOURCE uuid.sh` >$RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid.sh
+ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/uuid.sh
sed -e "s;@l_prefix@;%{l_prefix};g" \
-e "s;@l_musr@;%{l_musr};g" \
-e "s;@l_mgrp@;%{l_mgrp};g" \
@@ -892,6 +916,10 @@
>$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/platform
chmod 644 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/platform
+ # install UUID configuration file (ghost)
+ touch $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/uuid
+ chmod 644 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/uuid
+
# install overriding RPM configuration files
sed -e "s:@l_prefix@:%{l_prefix}:g" \
<`SOURCE rpmpopt` \
@@ -943,6 +971,7 @@
%dir %{l_prefix}/etc/rc.d
%{l_prefix}/etc/rc.d/rc.openpkg
%dir %{l_prefix}/etc/openpkg
+ %ghost %{l_prefix}/etc/openpkg/uuid
%config %{l_prefix}/etc/openpkg/platform
%config %{l_prefix}/etc/openpkg/rpmmacros
%config %{l_prefix}/etc/openpkg/rpmrc
@@ -991,6 +1020,8 @@
%{l_prefix}/lib/openpkg/bzip2
%{l_prefix}/lib/openpkg/config.guess
%{l_prefix}/lib/openpkg/config.sub
+ %{l_prefix}/lib/openpkg/uuid
+ %{l_prefix}/lib/openpkg/uuid.sh
%{l_prefix}/lib/openpkg/curl
%{l_prefix}/lib/openpkg/file
%{l_prefix}/lib/openpkg/gzip
@@ -1678,6 +1709,9 @@
fi
%post
+ # update or initially create OpenPKG UUID configuration
+ %{l_prefix}/lib/openpkg/uuid.sh update >/dev/null 2>&1 || true
+
# determine new and old OpenPKG RPM version
V_rpm_new="%{V_rpm}"
if [ -f %{l_prefix}/RPM/DB/.version ]; then
@@ -1693,7 +1727,7 @@
%{l_prefix}/lib/openpkg/rpmdb --quiet --fixate
# check RPM database for upgrade requirements
- if [ ".$V_rpm_old" != ".$V_rpm_new" ]; then
+ if [ ".$1" = .2 -a ".$V_rpm_old" != ".$V_rpm_new" ]; then
# RPM 4.0/4.1 does not allow concurrent database access, so we
# cannot upgrade the database immediately from here (because
# we are still running within the execution context of the
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/rc.openpkg
============================================================================
$ cvs diff -u -r1.16 -r1.17 rc.openpkg
--- openpkg-src/openpkg/rc.openpkg 13 Jan 2004 16:17:33 -0000 1.16
+++ openpkg-src/openpkg/rc.openpkg 20 Jan 2004 16:56:12 -0000 1.17
@@ -16,6 +16,17 @@
echo "openpkg_usable=\"$openpkg_usable\""
echo "openpkg_active=\"$openpkg_active\""
+%info -o
+ @l_prefix@/lib/openpkg/uuid.sh info
+
+%start
+ rcService openpkg enable yes || exit 0
+ @l_prefix@/lib/openpkg/uuid.sh update >/dev/null 2>&1 || true
+
+%daily
+ rcService openpkg enable yes || exit 0
+ @l_prefix@/lib/openpkg/uuid.sh update >/dev/null 2>&1 || true
+
%env -p0
rcService openpkg enable yes || exit 0
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/uuid.sh
============================================================================
$ cvs diff -u -r0 -r1.1 uuid.sh
--- /dev/null 2004-01-20 17:56:12.000000000 +0100
+++ uuid.sh 2004-01-20 17:56:12.000000000 +0100
@@ -0,0 +1,286 @@
[EMAIL PROTECTED]@/lib/openpkg/bash
+##
+## uuid -- OpenPKG UUID Update Utility
+## 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/>
+##
+## 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.
+##
+
+# configuration
+prefix="@l_prefix@"
+musr="@l_musr@"
+mgrp="@l_mgrp@"
+prog_rpm="$prefix/bin/rpm"
+prog_shtool="$prefix/lib/openpkg/shtool"
+prog_uuid="$prefix/lib/openpkg/uuid"
+file_uuid="$prefix/etc/openpkg/uuid"
+
+# minimum command line parsing
+opt_v=no
+opt_m=no
+while [ 1 ]; do
+ case "$1" in
+ -v | --verbose ) opt_v=yes; shift ;;
+ -m | --multicast ) opt_m=yes; shift ;;
+ * ) break ;;
+ esac
+done
+
+# Prepare Static Information
+do_prepare () {
+ # official OpenPKG OID
+ OID_OPKG="1.3.6.1.4.1.18749.4.1"
+
+ # special UUIDs for OpenPKG OID-based namespaces
+ UUID_NS_INSTANCE=`$prog_uuid -v3 ns:OID "$OID_OPKG.1"`
+ UUID_NS_PLATFORM=`$prog_uuid -v3 ns:OID "$OID_OPKG.2"`
+
+ # special "Nil UUID"
+ UUID_NIL="00000000-0000-0000-0000-000000000000"
+}
+
+# Query Dynamic Information
+do_query () {
+ # query RPM information
+ query=":"
+ for var in \
+ 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; do
+ query="$query; `echo $var | sed -e 's;^l_;Q_;'`=\"%{$var}\""
+ done
+ eval `$prog_rpm --eval "$query" 2>/dev/null`
+
+ # query OS information
+ Q_platform=`$prog_shtool platform --type=binary 2>/dev/null`
+ 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"
+ fi
+}
+
+# Load Configuration
+do_load () {
+ # start with reasonable defaults
+ UUID_REGISTRY="$UUID_NIL"
+ UUID_INSTANCE="$UUID_NIL"
+ UUID_PLATFORM="$UUID_NIL"
+
+ # load configuration (and override defaults)
+ if [ -r $file_uuid ]; then
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: loading UUID configuration file ($file_uuid)"
+ fi
+ . $file_uuid
+ fi
+
+ # remember whether something was changed
+ changed=no
+}
+
+# Save Configuration
+do_save () {
+ if [ ".$changed" = .yes ]; then
+ # save configuration
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: saving UUID configuration file ($file_uuid)"
+ fi
+ if [ -f $file_uuid ] && [ ! -w $file_uuid ]; then
+ echo "$0:ERROR: cannot write to $file_uuid" 1>&2
+ exit 1
+ fi
+ ( echo "UUID_REGISTRY=\"$UUID_REGISTRY\""
+ echo "UUID_INSTANCE=\"$UUID_INSTANCE\""
+ echo "UUID_PLATFORM=\"$UUID_PLATFORM\""
+ ) >$file_uuid.new || exit $?
+ n=`egrep 'UUID_(REGISTRY|INSTANCE|PLATFORM)="[0-9a-f-]*"' \
+ $file_uuid.new | wc -l | awk '{ print $1; }'`
+ if [ ".$n" != .3 ]; then
+ echo "$0:ERROR: failed to update $file_uuid" 1>&2
+ rm -f $file_uuid.new
+ exit 1
+ fi
+ cp $file_uuid.new $file_uuid || exit $?
+ rm -f $file_uuid.new || true
+ chown $musr:$mgrp $file_uuid >/dev/null 2>&1 || true
+ chmod 644 $file_uuid >/dev/null 2>&1 || true
+
+ # remember that no more changes exist
+ changed=no
+ fi
+}
+
+# Reset UUIDs
+do_reset () {
+ # reset all UUIDs to the "Nil UUID"
+ if [ ".$UUID_REGISTRY" != ".$UUID_NIL" ]; then
+ UUID_REGISTRY="$UUID_NIL"
+ changed=yes
+ fi
+ if [ ".$UUID_INSTANCE" != ".$UUID_NIL" ]; then
+ UUID_INSTANCE="$UUID_NIL"
+ changed=yes
+ fi
+ if [ ".$UUID_PLATFORM" != ".$UUID_NIL" ]; then
+ UUID_PLATFORM="$UUID_NIL"
+ changed=yes
+ fi
+}
+
+# Update UUIDs
+do_update () {
+ # update registry UUID
+ if [ ".$UUID_REGISTRY" = ".$UUID_NIL" ]; then
+ opt=""
+ if [ ".$opt_m" = .yes ]; then
+ opt="-m"
+ fi
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: calculating OpenPKG Registry UUID (UUID_REGISTRY):"
+ echo "$0: << $prog_uuid -v1 $opt"
+ fi
+ UUID_REGISTRY=`$prog_uuid -v1 $opt`
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: >> $UUID_REGISTRY (NOT REPEATABLE)"
+ fi
+ changed=yes
+ fi
+
+ # update instance UUID
+ name="${Q_openpkg_release}"
+ name="$name:${Q_prefix}"
+ name="$name:${Q_susr}:${Q_suid}:${Q_sgrp}:${Q_sgid}"
+ name="$name:${Q_musr}:${Q_muid}:${Q_mgrp}:${Q_mgid}"
+ name="$name:${Q_rusr}:${Q_ruid}:${Q_rgrp}:${Q_rgid}"
+ name="$name:${Q_nusr}:${Q_nuid}:${Q_ngrp}:${Q_ngid}"
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: calculating OpenPKG Instance UUID (UUID_INSTANCE):"
+ echo "$0: << $prog_uuid -v3 \"$UUID_NS_INSTANCE\" \"$name\""
+ fi
+ uuid=`$prog_uuid -v3 "$UUID_NS_INSTANCE" "$name"`
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: >> $uuid"
+ fi
+ if [ ".$UUID_INSTANCE" != ".$uuid" ]; then
+ UUID_INSTANCE="$uuid"
+ changed=yes
+ fi
+
+ # update platform UUID
+ name="${Q_platform}"
+ name="$name:${Q_hostname}"
+ name="$name:${Q_ipaddr}"
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: calculating OpenPKG Platform UUID (UUID_PLATFORM):"
+ echo "$0: << $prog_uuid -v3 \"$UUID_NS_PLATFORM\" \"$name\""
+ fi
+ uuid=`$prog_uuid -v3 "$UUID_NS_PLATFORM" "$name"`
+ if [ ".$opt_v" = .yes ]; then
+ echo "$0: >> $uuid"
+ fi
+ if [ ".$UUID_PLATFORM" != ".$uuid" ]; then
+ UUID_PLATFORM="$uuid"
+ changed=yes
+ fi
+}
+
+# Info about input and resulting UUIDs
+do_info () {
+ echo "OpenPKG Summary of Identification Information"
+ echo "============================================="
+ echo ""
+ echo "OpenPKG Registry"
+ time=""; clock=""; node=""
+ eval `$prog_uuid -d "$UUID_REGISTRY" 2>/dev/null |\
+ sed -e 's/^/X/' \
+ -e 's/X.*time: *\(.*\)$/time="\1";/' \
+ -e 's/X.*clock: *\(.*\)$/clock="\1";/' \
+ -e 's/X.*node: *\(.*\)$/node="\1";/' \
+ -e 's/^X.*//'`
+ echo " System Time: ${time:-unknown}"
+ echo " System Clock Sequence: ${clock:-unknown}"
+ echo " System Node Address: ${node:-unknown}"
+ echo " UUID_REGISTRY: $UUID_REGISTRY"
+ echo ""
+ echo "OpenPKG Instance"
+ echo " Release: ${Q_openpkg_release}"
+ echo " Prefix: ${Q_prefix}"
+ echo " Super Account: ${Q_susr}(${Q_suid}):${Q_sgrp}(${Q_sgid})"
+ echo " Management Account: ${Q_musr}(${Q_muid}):${Q_mgrp}(${Q_mgid})"
+ echo " Restricted Account: ${Q_rusr}(${Q_ruid}):${Q_rgrp}(${Q_rgid})"
+ echo " Nonprivileged Account: ${Q_nusr}(${Q_nuid}):${Q_ngrp}(${Q_ngid})"
+ echo " UUID_INSTANCE: $UUID_INSTANCE"
+ 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 " UUID_PLATFORM: $UUID_PLATFORM"
+ echo ""
+ echo "(run \"$0 --verbose update\" to reproduce the UUID generation)"
+}
+
+# Command Line Dispatching
+cmd="$1"
+shift
+case "$cmd" in
+ reset )
+ do_prepare; do_load; do_reset; do_save
+ ;;
+ update )
+ do_prepare; do_query; do_load; do_update; do_save
+ ;;
+ info )
+ do_prepare; do_query; do_load; do_info
+ ;;
+esac
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.8148 -r1.8149 news.txt
--- openpkg-web/news.txt 20 Jan 2004 15:13:04 -0000 1.8148
+++ openpkg-web/news.txt 20 Jan 2004 16:56:08 -0000 1.8149
@@ -1,3 +1,4 @@
+20-Jan-2004: Upgraded package: P<openpkg-20040120-20040120>
20-Jan-2004: Upgraded package: P<w3m-0.4.2-20040120>
20-Jan-2004: Upgraded package: P<perl-5.8.3-20040120>
20-Jan-2004: Upgraded package: P<perl-text-20040120-20040120>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]