Subject: Re: Versions and uname output
To: Todd Vierling <tv@pobox.com>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 06/10/2003 13:31:22
On Tue, 10 Jun 2003, Todd Vierling wrote:

> On Tue, 10 Jun 2003, Frederick Bruckman wrote:
>
> : In that sense, "uname()" and "uname(1)" are not useful at all, since
> : they represent the kernel that happens to be installed, and not the
> : version of libc or the system headers that the binary was compiled to.
> : For the sorts of things that matter to a package (in this case, the
> : curses API), you have to pick the nearest, and hope for the best.
>
> Yes, this is the crux of the problem, and it has a solution that is simple
> in concept but will require implementation work:  Look at the libraries'
> version numbers.
>
> libc, even on branches, is versioned:  1.6.1, for instance, ships with
> libc.so.12.83.1 (whereas 1.6 shipped with libc.so.12.83).

I think it would be inelegant to stuff pkgsrc with numerous ".if
exists(libc.so.12.83.1) || exists(libc.so.12.90)". "exists()"
doesn't even take shell globs, does it? Better to grep for something
in the system headers.

That reminds me, though: there are other uses for the library version
numbers in pkgsrc. This proposal generated 0 responses, however:

    http://mail-index.netbsd.org/tech-pkg/2003/05/03/0000.html

Frederick