On Sep 25, 2007, at 10:15 AM, Ethan Mallove wrote:

How about we first go with Plan C: uname (if it's
available).

  platform_type = &shell("uname -p")
  platform_hardware = &shell("uname -m")
  os_name = &shell("uname -s")
  os_version = &shell("uname -v")

Hmm.  Not bad, but it still is a bit odd.  Here's what I get:

OSX/macbook pro (intel chip):
-----------------------------
uname -p: i386
uname -m: i386
uname -s: Darwin
uname -v: Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386

whatami -t: darwin-macosx_10.4-ia32
whatami -m: ia32
whatami -n: Darwin
whatami -r: Darwin 8.10.1

Linux/RHEL4u4 (64 bit xeon):
--------------
uname -p: x86_64
uname -m: x86_64
uname -s: Linux
uname -v: #1 SMP Wed Jul 12 23:32:02 EDT 2006

whatami -t: linux-rhel4-x86_64
whatami -m: x86_64
whatami -n: Linux
whatami -r: Linux 2.6.9-42.ELsmp

What do you get on your Solaris platforms?

It looks like both of them will have slight inaccuracies / not- entirely-clear values (e.g., uname -p and -m seem to return the same values, but I don't know why whatami returns "ia32" for the MacBook Pro, nor do I know how "Darwin 8.10.1" maps to "OS X 10.4.10").

Otherwise default to "unknown".

So the we go down this list:

  1. User-specified in INI
  2. whatami
  3. uname
  4. "unknown"

This sounds reasonable to me.  I'll implement it.

--
Jeff Squyres
Cisco Systems

Reply via email to