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: 25-Sep-2003 14:16:30
Branch: OPENPKG_1_3_SOLID HEAD Handle: 2003092513162702
Added files: (Branch: OPENPKG_1_3_SOLID)
openpkg-src/openpkg platform
Modified files:
openpkg-web news.txt
Modified files: (Branch: OPENPKG_1_3_SOLID)
openpkg-src/openpkg openpkg.spec rc rc.func rpmmacros
Log:
Mass "Merge From CURRENT" to fix OpenPKG 1.3 bootstrap and to provide
forward compatibility to forthcoming OpenPKG 2.0 in order to be able to
still build OpenPKG-CURRENT packages:
- MFC: backport %{l_platform} macro and companion script
- MFC: backport availability of <prefix>/lib/openpkg/rpmdb_{load,dump}
- MFC: remove temporary files in /etc from within %post/%pre
- MFC: fix rc %env result variable parsing
- MFC: fix rc.func's rcTmp functionality
Summary:
Revision Changes Path
1.127.2.6.2.3+28 -3 openpkg-src/openpkg/openpkg.spec
1.8.2.1 +570 -0 openpkg-src/openpkg/platform
1.19.2.5.2.1+1 -1 openpkg-src/openpkg/rc
1.4.2.1.2.1 +2 -1 openpkg-src/openpkg/rc.func
1.29.2.2.2.1+4 -0 openpkg-src/openpkg/rpmmacros
1.6727 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/openpkg.spec
============================================================================
$ cvs diff -u -r1.127.2.6.2.2 -r1.127.2.6.2.3 openpkg.spec
--- openpkg-src/openpkg/openpkg.spec 30 Jul 2003 18:14:37 -0000 1.127.2.6.2.2
+++ openpkg-src/openpkg/openpkg.spec 25 Sep 2003 12:16:29 -0000 1.127.2.6.2.3
@@ -39,7 +39,7 @@
# o any cc(1)
# the package version/release
-%define V_openpkg 1.3.0
+%define V_openpkg 1.3.1
# the used software versions
%define V_rpm 4.0.2
@@ -117,6 +117,7 @@
Source48: pod2man.sh
Source49: rc.8
Source50: rc.pod
+Source51: platform
# build information
Prefix: %{l_prefix}
@@ -455,7 +456,7 @@
*-*-osf* ) echo 'db_cv_mutex=${db_cv_mutex=UNIX/msem_init}' >config.cache
;;
esac
CC="${l_cc}" ../dist/configure
- ${l_make} libdb.a || exit $?
+ ${l_make} libdb.a db_load db_dump || exit $?
ln libdb.a libdbXXX.a # workaround for Tru64
) || exit $?
@@ -673,6 +674,18 @@
cp `SOURCE config.sub` $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/
chmod a+x $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/config.sub
+ # install platform identification program
+ # (forward compatibility to forthcoming OpenPKG 2.0)
+ cp `SOURCE platform` \
+ $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/platform
+ chmod 755 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/platform
+
+ # install Berkeley-DB utilities
+ ( cd db-%{V_db}/build_unix
+ cp db_load $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb_load
+ cp db_dump $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/rpmdb_dump
+ ) || exit $?
+
# install a few README files
sed -e "s:@l_prefix@:%{l_prefix}:g" \
<`SOURCE root.README` \
@@ -804,9 +817,12 @@
%{l_prefix}/lib/openpkg/macros
%{l_prefix}/lib/openpkg/mkproxyrpm.pl
%{l_prefix}/lib/openpkg/patch
+ %{l_prefix}/lib/openpkg/platform
%{l_prefix}/lib/openpkg/rpm
%{l_prefix}/lib/openpkg/rpmb
%{l_prefix}/lib/openpkg/rpmdb
+ %{l_prefix}/lib/openpkg/rpmdb_dump
+ %{l_prefix}/lib/openpkg/rpmdb_load
%{l_prefix}/lib/openpkg/rpme
%{l_prefix}/lib/openpkg/rpmi
%{l_prefix}/lib/openpkg/rpmk
@@ -1128,6 +1144,7 @@
( grep -v local_startup /etc/rc.conf.bak
echo "local_startup=\"/etc/rc.d $local_startup\""
) >/etc/rc.conf
+ rm -f /etc/rc.conf.bak >/dev/null 2>&1
fi
) || exit $?
# install transfer script
@@ -1489,6 +1506,7 @@
else
cp /etc/shells /etc/shells.bak && \
grep -v "^${shell}" /etc/shells.bak >/etc/shells
+ rm -f /etc/shells.bak >/dev/null 2>&1
fi
fi
@@ -1516,20 +1534,24 @@
cp /etc/master.passwd /etc/master.passwd.bak && \
grep -v "^${usr}:" /etc/master.passwd.bak
>/etc/master.passwd
( PATH="$PATH:/usr/sbin"; pwd_mkdb -p /etc/master.passwd )
|| exit $?
+ rm -f /etc/master.passwd.bak >/dev/null 2>&1
;;
Linux/* | SunOS/5.* )
cp /etc/passwd /etc/passwd.bak && \
grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
( PATH="$PATH:/usr/sbin"; pwconv ) || exit $?
+ rm -f /etc/passwd.bak >/dev/null 2>&1
;;
OSF1/V5.* )
cp /etc/passwd /etc/passwd.bak && \
grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
( PATH="$PATH:/usr/sbin"; mkpasswd /etc/passwd ) || exit $?
+ rm -f /etc/passwd.bak >/dev/null 2>&1
;;
HP-UX/* )
cp /etc/passwd /etc/passwd.bak && \
grep -v "^${usr}:" /etc/passwd.bak >/etc/passwd
+ rm -f /etc/passwd.bak >/dev/null 2>&1
;;
Darwin/* )
niutil -destroy . "/users/${usr}"
@@ -1555,13 +1577,14 @@
* )
cp /etc/group /etc/group.bak && \
grep -v "^${grp}:" /etc/group.bak >/etc/group
+ rm -f /etc/group.bak >/dev/null 2>&1
;;
esac
fi
fi
done
- # remove the startup/shutdown transfer ripts
+ # remove the startup/shutdown transfer scripts
name=`echo "$prefix" | sed -e 's;/;;g'`
if [ ".$cusr" != ".root" ]; then
echo "openpkg:WARNING: skipping deletion of system run-command hooks" 1>&2
@@ -1641,6 +1664,7 @@
Darwin/* )
cp /etc/hostconfig /etc/hostconfig.bak && \
grep -v "^OPENPKG_${name}=" /etc/hostconfig.bak >/etc/hostconfig
+ rm -f /etc/hostconfig.bak >/dev/null 2>&1
rm -rf /System/Library/StartupItems/${name} >/dev/null 2>&1
;;
esac
@@ -1660,6 +1684,7 @@
cat /etc/crontab.bak |\
sed -e "/<OpenPKG prefix=$p pkg=openpkg>/,/<\\/OpenPKG>/d" \
>/etc/crontab
+ rm -f /etc/crontab.bak >/dev/null 2>&1
fi
;;
SunOS/5.* | OSF1/V5.* | NetBSD/* | HP-UX/* )
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/platform
============================================================================
$ cvs diff -u -r0 -r1.8.2.1 platform
--- /dev/null 2003-09-25 14:16:30.000000000 +0200
+++ platform 2003-09-25 14:16:30.000000000 +0200
@@ -0,0 +1,570 @@
+##
+## OSSP platform - Platform Identification
+## Copyright (c) 2003 The OSSP Project <http://www.ossp.org/>
+## Copyright (c) 2003 Ralf S. Engelschall <[EMAIL PROTECTED]>
+##
+## This file is part of OSSP platform, a Unix platform identification
+## program which can be found at http://www.ossp.org/pkg/tool/platform/.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2.0 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this library; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+## USA, or contact Ralf S. Engelschall <[EMAIL PROTECTED]>.
+##
+## platform.sh: the program (language: Bourne-Shell)
+##
+
+# program information
+prog_run="${0}"
+prog_cmd="platform"
+prog_name="OSSP platform"
+prog_vers="0.1.0"
+prog_date="06-Sep-2003"
+
+## _________________________________________________________________________
+##
+## COMMAND LINE PARSING
+## (partly derived from GNU shtool's sh.common)
+## _________________________________________________________________________
+##
+
+# the command line specification
+str_usage="[-F|--format FORMAT]"
+str_usage="$str_usage [-S|--sep STRING]"
+str_usage="$str_usage [-C|--conc STRING]"
+str_usage="$str_usage [-L|--lower]"
+str_usage="$str_usage [-U|--upper]"
+str_usage="$str_usage [-v|--verbose]"
+str_usage="$str_usage [-c|--concise]"
+str_usage="$str_usage [-n|--no-newline]"
+str_usage="$str_usage [-t|--type TYPE]"
+str_usage="$str_usage [-d|--debug]"
+str_usage="$str_usage [-V|--version]"
+str_usage="$str_usage [-h|--help]"
+arg_spec="0="
+opt_spec="F:S:C:L.U.v.c.n.t:d.V.h."
+opt_alias="F:format,S:sep,C:conc,L:lower,U:upper,v:verbose,c:consise,t:type,n:no-newline,d:debug,V:version,h:help"
+opt_F="%{sp} (%{ap})"
+opt_S=" "
+opt_C="/"
+opt_L=no
+opt_U=no
+opt_t=""
+opt_v=no
+opt_c=no
+opt_n=no
+opt_d=no
+opt_V=no
+opt_h=no
+
+# commonly used ASCII values
+ASC_TAB=" "
+ASC_NL="
+"
+
+# parse argument specification string
+eval `echo $arg_spec |\
+ sed -e 's/^\([0-9]*\)\([+=]\)/arg_NUMS=\1; arg_MODE=\2/'`
+
+# parse option specification string
+eval `echo $opt_spec |\
+ sed -e 's/\([a-zA-Z0-9]\)\([.:+]\)/opt_MODE_\1=\2;/g'`
+
+# parse option alias string
+eval `echo $opt_alias |\
+ tr 'x-' 'x_' | sed -e 's/\([a-zA-Z0-9]\):\([^,]*\),*/opt_ALIAS_\2=\1;/g'`
+
+# interate over argument line
+opt_PREV=''
+while [ $# -gt 0 ]; do
+ # special option stops processing
+ if [ ".$1" = ".--" ]; then
+ shift
+ break
+ fi
+
+ # determine option and argument
+ opt_ARG_OK=no
+ if [ ".$opt_PREV" != . ]; then
+ # merge previous seen option with argument
+ opt_OPT="$opt_PREV"
+ opt_ARG="$1"
+ opt_ARG_OK=yes
+ opt_PREV=''
+ else
+ # split argument into option and argument
+ case "$1" in
+ --[a-zA-Z0-9]*=*)
+ eval `echo "x$1" |\
+ sed -e
's/^x--\([a-zA-Z0-9-]*\)=\(.*\)$/opt_OPT="\1";opt_ARG="\2"/'`
+ opt_STR=`echo $opt_OPT | tr 'x-' 'x_'`
+ eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}"
+ ;;
+ --[a-zA-Z0-9]*)
+ opt_OPT=`echo "x$1" | cut -c4-`
+ opt_STR=`echo $opt_OPT | tr 'x-' 'x_'`
+ eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}"
+ opt_ARG=''
+ ;;
+ -[a-zA-Z0-9]*)
+ eval `echo "x$1" |\
+ sed -e 's/^x-\([a-zA-Z0-9]\)/opt_OPT="\1";/' \
+ -e 's/";\(.*\)$/"; opt_ARG="\1"/'`
+ ;;
+ -[a-zA-Z0-9])
+ opt_OPT=`echo "x$1" | cut -c3-`
+ opt_ARG=''
+ ;;
+ *)
+ break
+ ;;
+ esac
+ fi
+
+ # eat up option
+ shift
+
+ # determine whether option needs an argument
+ eval "opt_MODE=\$opt_MODE_${opt_OPT}"
+ if [ ".$opt_ARG" = . ] && [ ".$opt_ARG_OK" != .yes ]; then
+ if [ ".$opt_MODE" = ".:" ] || [ ".$opt_MODE" = ".+" ]; then
+ opt_PREV="$opt_OPT"
+ continue
+ fi
+ fi
+
+ # process option
+ case $opt_MODE in
+ '.' )
+ # boolean option
+ eval "opt_${opt_OPT}=yes"
+ ;;
+ ':' )
+ # option with argument (multiple occurances override)
+ eval "opt_${opt_OPT}=\"\$opt_ARG\""
+ ;;
+ '+' )
+ # option with argument (multiple occurances append)
+ eval "opt_${opt_OPT}=\"\$opt_${opt_OPT}\${ASC_NL}\$opt_ARG\""
+ ;;
+ * )
+ echo "${prog_cmd}:Error: unknown option: \`$opt_OPT'" 1>&2
+ echo "${prog_cmd}:Hint: run \`${prog_run} -h' or \`man ${prog_cmd}'
for details" 1>&2
+ exit 1
+ ;;
+ esac
+done
+if [ ".$opt_PREV" != . ]; then
+ echo "${prog_cmd}:Error: missing argument to option \`$opt_PREV'" 1>&2
+ echo "${prog_cmd}:Hint: run \`${prog_run} -h' or \`man ${prog_cmd}' for
details" 1>&2
+ exit 1
+fi
+
+# process help option
+if [ ".$opt_h" = .yes ]; then
+ echo "Usage: ${prog_run} ${str_usage}"
+ exit 0
+fi
+
+# process version option
+if [ ".$opt_V" = .yes ]; then
+ echo "${prog_name} ${prog_vers} (${prog_date})"
+ exit 0
+fi
+
+# complain about incorrect number of arguments
+case $arg_MODE in
+ '=' )
+ if [ $# -ne $arg_NUMS ]; then
+ echo "${prog_cmd}:Error: invalid number of arguments (exactly $arg_NUMS
expected)" 1>&2
+ echo "${prog_cmd}:Hint: run \`${prog_run} -h' or \`man ${prog_cmd}'
for details" 1>&2
+ exit 1
+ fi
+ ;;
+ '+' )
+ if [ $# -lt $arg_NUMS ]; then
+ echo "${prog_cmd}:Error: invalid number of arguments (at least
$arg_NUMS expected)" 1>&2
+ echo "${prog_cmd}:Hint: run \`${prog_run} -h' or \`man ${prog_cmd}'
for details" 1>&2
+ exit 1
+ fi
+ ;;
+esac
+
+## _________________________________________________________________________
+##
+## OPTION POST-PROCESSING
+## _________________________________________________________________________
+##
+
+if [ ".$opt_t" != . ]; then
+ case "$opt_t" in
+ binary )
+ # binary package id (OpenPKG RPM)
+ opt_F="%<ap>-%<sp>"
+ opt_L=yes
+ opt_S=""
+ opt_C="+"
+ ;;
+ build )
+ # build time checking (OpenPKG RPM)
+ opt_F="%<at>-%<st>"
+ opt_L=yes
+ opt_S=""
+ opt_C="+"
+ ;;
+ gnu )
+ # GNU config.guess style <arch>-<vendor>-<os><osversion>
+ opt_F="%<at>-unknown-%<st>"
+ opt_L=yes
+ opt_S=""
+ opt_C="+"
+ ;;
+ web )
+ # non-whitespace HTTP Server-header id
+ opt_F="%<ap>-%<sp>"
+ opt_S="/"
+ opt_C="+"
+ ;;
+ summary)
+ # human readable verbose summary information
+ opt_F="Class: %[sc] (%[ac])\\nProduct: %[sp]
(%[ap])\\nTechnology: %[st] (%[at])"
+ opt_S=" "
+ opt_C="/"
+ ;;
+ all-in-one )
+ # full-table all-in-one information
+ opt_F=""
+ opt_F="${opt_F}concise architecture class: %<ac>\\n"
+ opt_F="${opt_F}regular architecture class: %{ac}\\n"
+ opt_F="${opt_F}verbose architecture class: %[ac]\\n"
+ opt_F="${opt_F}concise architecture product: %<ap>\\n"
+ opt_F="${opt_F}regular architecture product: %{ap}\\n"
+ opt_F="${opt_F}verbose architecture product: %[ap]\\n"
+ opt_F="${opt_F}concise architecture technology: %<at>\\n"
+ opt_F="${opt_F}regular architecture technology: %{at}\\n"
+ opt_F="${opt_F}verbose architecture technology: %[at]\\n"
+ opt_F="${opt_F}concise system class: %<sc>\\n"
+ opt_F="${opt_F}regular system class: %{sc}\\n"
+ opt_F="${opt_F}verbose system class: %[sc]\\n"
+ opt_F="${opt_F}concise system product: %<sp>\\n"
+ opt_F="${opt_F}regular system product: %{sp}\\n"
+ opt_F="${opt_F}verbose system product: %[sp]\\n"
+ opt_F="${opt_F}concise system technology: %<st>\\n"
+ opt_F="${opt_F}regular system technology: %{st}\\n"
+ opt_F="${opt_F}verbose system technology: %[st]"
+ ;;
+ * )
+ echo "${prog_cmd}:Error: invalid type \`$opt_t'" 1>&2
+ exit 1
+ ;;
+ esac
+fi
+
+## _________________________________________________________________________
+##
+## UTILITY FUNCTIONS
+## _________________________________________________________________________
+##
+
+# map string to lower case
+util_lower () {
+ echo "$1" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'
+}
+
+# map string to upper case
+util_upper () {
+ echo "$1" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+}
+
+## _________________________________________________________________________
+##
+## ASSEMBLE INITIAL INFORMATION
+## _________________________________________________________________________
+##
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` ||\
+UNAME_MACHINE=`(uname -p) 2>/dev/null` ||\
+UNAME_MACHINE='unknown'
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` ||\
+UNAME_SYSTEM='unknown'
+UNAME_RELEASE=`(uname -r) 2>/dev/null` ||\
+UNAME_RELEASE=`(uname -v) 2>/dev/null` ||\
+UNAME_RELEASE='unknown'
+
+UNAME="${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}"
+
+if [ ".$opt_d" = .yes ]; then
+ echo "uname => ${UNAME}" 1>&2
+fi
+
+AC=""; AP=""; AT=""
+SC=""; SP=""; ST=""
+
+## _________________________________________________________________________
+##
+## DISPATCH INTO PLATFORMS
+## _________________________________________________________________________
+##
+
+case "${UNAME}" in
+
+ # FreeBSD
+ *:FreeBSD:* )
+ # determine architecture
+ AC="${UNAME_MACHINE}"
+ case "${AC}" in
+ i386 ) AC="iX86" ;;
+ esac
+ AP="${AC}"
+ AT=`(/sbin/sysctl -n hw.model) 2>&1`
+ case "${AT}" in
+ *"Xeon"* | *"Pentium Pro"* | *"Cyrix 6x86MX"* | *"Pentium II"* |
*"Pentium III"* | *"Pentium 4"* | *"Celeron"* ) AT="i686" ;;
+ *"Pentium"* ) AT="i586" ;; *"i486[SD]X"* | *"Cyrix 486"* | *"Cyrix
[56]x86"* | *"Blue Lightning" | *"Cyrix 486S/DX" ) AT="i486" ;;
+ *"i386[SD]X"* | *"NexGen 586"* ) AT="i386" ;;
+ * ) AT="${AP}" ;;
+ esac
+ # determine system
+ r=`echo "${UNAME_RELEASE}" |\
+ sed -e 's;[()];;' -e 's/\(-.*\)$/[\1]/'`
+ ST="FreeBSD ${r}"
+ SP="${ST}"
+ case "${r}" in
+ 1.* ) SC="4.3BSD" ;;
+ * ) SC="4.4BSD" ;;
+ esac
+ ;;
+
+ # GNU/Linux
+ *:Linux:* )
+ # determine architecture
+ AT="${UNAME_MACHINE}"
+ AP="${AT}"
+ case "${AP}" in
+ i[3-6]86 ) AP='iX86' ;;
+ esac
+ AC="${AP}"
+ # determine system
+ v_kern=`echo "${UNAME_RELEASE}" |\
+ sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/'`
+ v_libc=`(strings /lib/libc.so.* | grep '^GLIBC_' | sed -e 's/^GLIBC_//' |\
+ sort -n | tail -1 | sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/')
2>/dev/null`
+ ST="GNU/<Linux >${v_libc}/<${v_kern}>"
+ if [ -f /etc/lsb-release ]; then
+ eval `( . /etc/lsb-release
+ echo "SC=\"LSB${LSB_VERSION}\""
+ if [ ".${DISTRIB_ID}" != . ]; then
+ echo "SP=\"${DISTRIB_ID} ${DISTRIB_RELEASE}\""
+ fi
+ ) 2>/dev/null`
+ fi
+ if [ ".$SP" = . ]; then
+ for tagfile in x `cd /etc && \
+ /bin/ls *[_-]release *[_-]version 2>/dev/null | \
+ sed -e '/redhat-release/d'; echo redhat-release`; do
+ [ ".${tagfile}" = .x ] && continue
+ [ ! -f "/etc/${tagfile}" ] && continue
+ n=`echo ${tagfile} | sed -e 's/[_-]release$//' -e
's/[_-]version$//'`
+ v=`cat /etc/${tagfile} | grep '[0-9]' | head -1 |\
+ sed -e 's/^/#/' \
+ -e
's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \
+ -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \
+ -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \
+ -e 's/^#.*$//'`
+ case "`util_lower ${n}`" in
+ debian ) n="Debian[ GNU/Linux]" ;;
+ redhat ) n="RedHat[ Linux]" ;;
+ suse ) n="SuSE[ Linux]" ;;
+ mandrake ) n="Mandrake[ Linux]" ;;
+ gentoo ) n="Gentoo[ Linux]" ;;
+ slackware ) n="Slackware[ Linux]" ;;
+ turbolinux ) n="TurboLinux" ;;
+ unitedlinux ) n="UnitedLinux" ;;
+ * ) n="${n}[ GNU/Linux]" ;;
+ esac
+ SP="$n $v"
+ break
+ done
+ fi
+ [ ".$SP" = . ] && SP="${ST}"
+ [ ".$SC" = . ] && SC="LSB"
+ ;;
+
+ # Sun Solaris
+ *:SunOS:* )
+ # determine architecture
+ AT="${UNAME_MACHINE}"
+ case "${AT}" in
+ i86pc ) AT="iX86" ;;
+ esac
+ AP="${AT}"
+ case "${AP}" in
+ sun4[cdm] ) AP="SPARC32" ;;
+ sun4u ) AP="SPARC64" ;;
+ sun4* ) AP="SPARC" ;;
+ esac
+ AC="${AP}"
+ case "${AC}" in
+ SPARC* ) AC="SPARC" ;;
+ esac
+ # determine system
+ ST="[Sun ]SunOS ${UNAME_RELEASE}"
+ v=`echo "${UNAME_RELEASE}" |\
+ sed -e 's;^4\.;1.;' \
+ -e 's;^5\.\([0-6]\).*;2.\1;' \
+ -e 's;^5\.\([0-9][0-9]*\).*;\1;'`
+ SP="[Sun ]Solaris $v"
+ case "${UNAME_RELEASE}" in
+ 4.* ) SC="4.2BSD" ;;
+ 5.* ) SC="SVR4" ;;
+ esac
+ ;;
+
+
+ # TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO
+ # *:XXX:* )
+ # ...
+ # ;;
+
+ # ...A STILL UNKNOWN PLATFORM...
+ * )
+ AT="${UNAME_MACHINE}"
+ AP="${AT}"
+ AC="${AP}"
+ ST="${UNAME_SYSTEM} ${UNAME_RELEASE}"
+ SP="${ST}"
+ SC="${SP}"
+ ;;
+
+esac
+
+## _________________________________________________________________________
+##
+## PROVIDE RESULT OUTPUT
+## _________________________________________________________________________
+##
+
+# provide fallback values
+[ ".$AT" = . ] && AT="${AP:-${AC}}"
+[ ".$AP" = . ] && AP="${AT:-${AC}}"
+[ ".$AC" = . ] && AC="${AP:-${AT}}"
+[ ".$ST" = . ] && ST="${SP:-${SC}}"
+[ ".$SP" = . ] && SP="${ST:-${SC}}"
+[ ".$SC" = . ] && SC="${SP:-${ST}}"
+
+# support explicit enforced verbose/concise output
+if [ ".$opt_v" = .yes ]; then
+ opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%[\1]/g'`
+elif [ ".$opt_c" = .yes ]; then
+ opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%<\1>/g'`
+fi
+
+# provide verbose and concise variants
+AC_V=""; AC_N=""; AC_C=""
+AP_V=""; AP_N=""; AP_C=""
+AT_V=""; AT_N=""; AT_C=""
+SC_V=""; SC_N=""; SC_C=""
+SP_V=""; SP_N=""; SP_C=""
+ST_V=""; ST_N=""; ST_C=""
+for var_lc in at ap ac st sp sc; do
+ case "$opt_F" in
+ *"%[${val_lc}]"* | *"%{${val_lc}}"* | *"%${val_lc}"* | *"%<${val_lc}>"* )
+ var_uc=`util_upper "$var_lc"`
+ eval "val=\"\$${var_uc}\""
+ val_V=""; val_N=""; val_C=""
+ case "$opt_F" in
+ *"%[${var_lc}]"* )
+ val_V=`echo ":$val" | \
+ sed -e 's/^://' \
+ -e 's;\[\([^]]*\)\];\1;g' \
+ -e 's;<\([^>]*\)>;\1;g' \
+ -e "s; ;��;g" \
+ -e "s;/;%%;g" \
+ -e "s;��;${opt_S};g" \
+ -e "s;%%;${opt_C};g"`
+ eval "${var_uc}_V=\"\${val_V}\""
+ ;;
+ esac
+ case "$opt_F" in
+ *"%{${var_lc}}"* | *"%${var_lc}"* )
+ val_N=`echo ":$val" | \
+ sed -e 's/^://' \
+ -e 's;\[\([^]]*\)\];;g' \
+ -e 's;<\([^>]*\)>;\1;g' \
+ -e "s; ;��;g" \
+ -e "s;/;%%;g" \
+ -e "s;��;${opt_S};g" \
+ -e "s;%%;${opt_C};g"`
+ eval "${var_uc}_N=\"\${val_N}\""
+ ;;
+ esac
+ case "$opt_F" in
+ *"%<${var_lc}>"* )
+ val_C=`echo ":$val" | \
+ sed -e 's/^://' \
+ -e 's;\[\([^]]*\)\];;g' \
+ -e 's;[^<]*<\([^>]*\)>;\1;g' \
+ -e "s; ;��;g" \
+ -e "s;/;%%;g" \
+ -e "s;��;${opt_S};g" \
+ -e "s;%%;${opt_C};g"`
+ eval "${var_uc}_C=\"\${val_C}\""
+ ;;
+ esac
+ ;;
+ esac
+done
+
+# create output string
+output=`echo ":$opt_F" |\
+ sed -e "s/^://" \
+ -e "s;%\\[ac\\];${AC_V};g" \
+ -e "s;%{ac};${AC_N};g" \
+ -e "s;%ac;${AC_N};g" \
+ -e "s;%<ac>;${AC_C};g" \
+ -e "s;%\\[ap\\];${AP_V};g" \
+ -e "s;%{ap};${AP_N};g" \
+ -e "s;%ap;${AP_N};g" \
+ -e "s;%<ap>;${AP_C};g" \
+ -e "s;%\\[at\\];${AT_V};g" \
+ -e "s;%{at};${AT_N};g" \
+ -e "s;%at;${AT_N};g" \
+ -e "s;%<at>;${AT_C};g" \
+ -e "s;%\\[sc\\];${SC_V};g" \
+ -e "s;%{sc};${SC_N};g" \
+ -e "s;%sc;${SC_N};g" \
+ -e "s;%<sc>;${SC_C};g" \
+ -e "s;%\\[sp\\];${SP_V};g" \
+ -e "s;%{sp};${SP_N};g" \
+ -e "s;%sp;${SP_N};g" \
+ -e "s;%<sp>;${SP_C};g" \
+ -e "s;%\\[st\\];${ST_V};g" \
+ -e "s;%{st};${ST_N};g" \
+ -e "s;%st;${ST_N};g" \
+ -e "s;%<st>;${ST_C};g" \
+ -e 's/\\\\n/^/g' |\
+ tr '^' '\012'`
+
+# support lower/upper-case mapping
+if [ ".$opt_L" = .yes ]; then
+ output=`util_lower "$output"`
+elif [ ".$opt_U" = .yes ]; then
+ output=`util_upper "$output"`
+fi
+
+# display output string
+if [ ".$opt_n" = .yes ]; then
+ echo . | awk '{ printf("%s", output); }' output="$output"
+else
+ echo "$output"
+fi
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/rc
============================================================================
$ cvs diff -u -r1.19.2.5 -r1.19.2.5.2.1 rc
--- openpkg-src/openpkg/rc 29 Jul 2003 10:11:42 -0000 1.19.2.5
+++ openpkg-src/openpkg/rc 25 Sep 2003 12:16:29 -0000 1.19.2.5.2.1
@@ -577,7 +577,7 @@
echo "exec 1<&3-" >>$tmpfile
echo "unset PWD SHLVL" >>$tmpfile
echo "env |\\" >>$tmpfile
- echo "egrep '^[A-Z]*=.' |\\" >>$tmpfile
+ echo "egrep '^[A-Z_][A-Z0-9_]*=.' |\\" >>$tmpfile
echo "sed -e 's/\\\\/\\\\\\\\/g' -e 's/\"/\\\\\"/g' \\" >>$tmpfile
case $SHELL in
csh|*/csh|tcsh|*/tcsh )
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/rc.func
============================================================================
$ cvs diff -u -r1.4.2.1 -r1.4.2.1.2.1 rc.func
--- openpkg-src/openpkg/rc.func 24 Jul 2003 20:42:00 -0000 1.4.2.1
+++ openpkg-src/openpkg/rc.func 25 Sep 2003 12:16:29 -0000 1.4.2.1.2.1
@@ -146,7 +146,8 @@
fi
return 0
elif [ ".${mode}" = .file ]; then
- return "${RC_TMPDIR}/${name:-tmp}"
+ echo "${RC_TMPDIR}/${name:-tmp}"
+ return 0
elif [ ".${mode}" = .kill ]; then
if [ ".${RC_TMPDIR}" = . ]; then
rcMsg -e "rcTmp: no secure temporary directory known"
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/openpkg/rpmmacros
============================================================================
$ cvs diff -u -r1.29.2.2 -r1.29.2.2.2.1 rpmmacros
--- openpkg-src/openpkg/rpmmacros 24 Jul 2003 20:42:00 -0000 1.29.2.2
+++ openpkg-src/openpkg/rpmmacros 25 Sep 2003 12:16:29 -0000 1.29.2.2.2.1
@@ -30,6 +30,10 @@
%l_target %{_target}
%l_location @LOC@
+# new OpenPKG platform identification
+# (forward compatibility to forthcoming OpenPKG 2.0)
+%l_platform(cptF:) %(if [ ".%{?-F}" != . ]; then fmt="%{-F*}"; else
T="%{?-c:c}%{?-p:p}%{?-t:t}"; [ ".$T" = . ] && T="p"; fmt="%%<a$T>-%%<s$T>"; fi;
@l_prefix@/lib/openpkg/platform -n -L -S "" -C "+" -F "$fmt")
+
# the *S*uper-user user/group name/id pair
%l_susr @SUSR@
%l_sgrp @SGRP@
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.6726 -r1.6727 news.txt
--- openpkg-web/news.txt 25 Sep 2003 08:46:31 -0000 1.6726
+++ openpkg-web/news.txt 25 Sep 2003 12:16:27 -0000 1.6727
@@ -1,3 +1,4 @@
+25-Sep-2003: Upgraded package: P<openpkg-1.3.1-1.3.1>
25-Sep-2003: Upgraded package: P<uvscan-4.24+4295-20030925>
25-Sep-2003: Upgraded package: P<gcc-3.3.1-20030925>
25-Sep-2003: Upgraded package: P<strace-4.5-20030925>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]