tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: uname (3), and uname (1) values, 6.0_[A-Z]* and building userland projects (John R. Towler) writes:

> Hello,
>         The topic is uname(1) and uname (3), sysctl -a entries and their
>         intended semantics in the English words of the man pages.
>         I have a problem with the current (110.75) and last versions
>         (110.74) of smlnj, of which I thought to build the newest
>         smlnj-110.75 this morning.

SML/NJ has awful build system.

> My question is that for other programs that rely on uname(1) and
> uname(3) and the assigned readings in the man pages, is what the man
> pages mean reflected in kern.version = {above version with ident stuff}
> above and uname -a = same {above version with ident stuff and uname -m},

"Other programs" shouldn't rely on uname in general.

> I can work with the smlnj build system to work around this build
> problem.  But it seems that there should be a uname (1) option which
> selects just the major or major.minor version of the OS, and this
> problem area in where and how the kern.version information in the
> /usr/src build also for uname -a gets fed to the libc functions etc.
> Maybe this is the POSIX spec also which is cited.  I can do more reading
> about this.  But people know here, why is uname -v under the current
> reading and implementation the OS name etc. and then the kernel config
> ident string and compilation information, and where the problem is for
> my concern --- how does a calling program branching on OS features, make
> use of the full OS name number and ident tags here for uname -v?  How
> would a user or other program know from the kernel compilation version
> details anything about what to expect in terms of system services and
> characteristics of the OS?  I know because I configured the kernel to
> build it or used a given one.  It helps me, as admin of the system to
> remember what was done, but that is all.  So what systematic solutions
> or understandings will help me address this problem area for using
> uname(1) or uname(3) with other programs.  
> For smlnj-110.[4-7][45] config/{,_arch_op-n-sys} as
> distributed, I should be able to change the uname -r call in the complex
> of shell scripts which run over the network to fetch as well to just
> select the numeric major version or numeric major.minor versions that
> the build system wants in order to just work.  It is possible to chop
> the appended string off with perl or awk or sed and play with the #!
> shell/interpreter etc. and sort out how the numerous shell scripts of
> the build system interact, but none of these are as simple and elegant.
> So, I thought I would ask people who know how this came about in the
> build of /usr/src and the kernel and what best reflects the systematic
> design of NetBSD and (BSD) Un*x and Unix.

You have better chances starting with lang/smlnj and updating it.


Home | Main Index | Thread Index | Old Index