Index: ossp-pkg/shtool/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/shtool/ChangeLog,v rcsdiff -q -kk '-r1.233' '-r1.234' -u '/v/ossp/cvs/ossp-pkg/shtool/ChangeLog,v' 2>/dev/null --- ChangeLog 2007/05/19 19:09:38 1.233 +++ ChangeLog 2007/06/04 07:58:50 1.234 @@ -9,6 +9,11 @@ ChangeLog + Changes between 2.0.7 and 2.0.8 (19-May-2007 to xx-XXX-2007): + + *) Improved Mac OS X detection in "shtool plaform". + [Ralf S. Engelschall] + Changes between 2.0.6 and 2.0.7 (19-Apr-2006 to 19-May-2007): *) Upgrade build environment to GNU autoconf 2.61 Index: ossp-pkg/shtool/sh.platform RCS File: /v/ossp/cvs/ossp-pkg/shtool/sh.platform,v rcsdiff -q -kk '-r1.18' '-r1.19' -u '/v/ossp/cvs/ossp-pkg/shtool/sh.platform,v' 2>/dev/null --- sh.platform 2007/05/19 19:09:39 1.18 +++ sh.platform 2007/06/04 07:58:50 1.19 @@ -398,6 +398,7 @@ # IBM AIX *:AIX:* ) + # determine architecture cpu_arch=rs6000 if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then cpu_id=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` @@ -419,6 +420,7 @@ AT="${cpu_arch}" AP="${AT}" AC="${AP}" + # determine system ST="[IBM ]${os_level}" SP="${ST}" case "${os_level}" in @@ -427,9 +429,10 @@ esac ;; - # Apple MacOS X Darwin + # Apple Mac OS X (Darwin) *:Darwin:* ) - AT=`uname -p` + # determine architecture + AT="`uname -p`" case "${AT}" in powerpc ) AT="PPC" ;; esac @@ -438,9 +441,31 @@ case "${AC}" in i?86 ) AC="iX86" ;; esac - ST="[Apple ]${UNAME_SYSTEM} ${UNAME_RELEASE}" - SP="${ST}" - SC="4.4BSD/Mach3" + # determine system + eval `echo "${UNAME_RELEASE}" |\ + sed -e 's/^/#/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"; v3="\3"/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"/' \ + -e 's/^#\([0-9][0-9]*\).*$/v1="\1"/' \ + -e 's/^#.*$/v1="0"/'` + ST="[Apple ]${UNAME_SYSTEM} <${v1}>${v2+.$v2}${v3+[.$v3]}" + SP="$ST" + v="`(sw_vers) 2>/dev/null | grep 'ProductVersion:' | sed -e 's/^ProductVersion: *//'`" + if [ ".$v" != . ]; then + # use given Mac OS X product information + SP="[Apple ]Mac OS X ${v}" + else + # fetch Mac OS X product information manually + for name in System Server; do + if [ -f /System/Library/CoreServices/${name}Version.plist ]; then + v=`(defaults read "/System/Library/CoreServices/${name}Version" "ProductVersion") 2>/dev/null` + if [ ".$v" != . ]; then + SP="[Apple ]Mac OS X ${v}" + fi + fi + done + fi + SC="4.4BSD/Mach3.0" ;; # TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO