[ksh93-integration-discuss] Solaris "/usr/bin/uname -a" vs. ksh93 builtin "uname -a" ...

James Carlson james.d.carlson at sun.com
Fri May 12 07:55:21 PDT 2006


Roland Mainz writes:
> Neither /usr/xpg4/bin/ nor /usr/xpg6/bin/ contain a "uname" variant so I
> assume there is no standard, right ?

No, you can't assume that.

The standards-conforming paths on Solaris are (roughly):

  /usr/ccs/bin:/usr/bin:$CCPATH			(SVID3, XPG3)
  /usr/xpg4/bin:/usr/ccs/bin:/usr/bin:$CCPATH	(POSIX.2, XPG4, SUSv2)
  /usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:$CCPATH
						(POSIX.1-2001, SUSv3)

See the standards(5) man page for details.  The implication is that
binaries appear in /usr/xpg[46]/bin/ only when we have a conflict
between traditional Solaris (or SunOS) behavior and what the standards
require.  (Current policy is that the conflict must be irreconcilable;
meaning that compatible changes, such as new options, don't count.)

In other words, if a binary appears there, then you can assume that
it's governed by a standard.  If it doesn't appear there, then you
can't assume anything.

But assuming is just never necessary on Solaris.  Instead, use the
documentation.  For uname(1), it says:

    | Interface Stability         | Standard                    |

This means that it's a fundamental component of all of the above
standards.

-- 
James Carlson, KISS Network                    <james.d.carlson at sun.com>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677



More information about the ksh93-integration-discuss mailing list