James Carlson wrote:
> 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.

Oh... fun... ;-/

> 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.

Thanks for the explanation... :-)

Mhhh... would it be a good idea to make a standalone wrapper (e.g. |int
main(int ac, char **av, char **env) { return b_uname(ac, av, env); }|)
around the ksh93 builtin and stuff it into /usr/xpg4/bin/ ? That may be
a cheap way to get a POSIX-conformant "uname" into that directory... :-)

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to