Subject: Re: hardcoding uname
To: None <tech-kern@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 12/31/2000 23:47:19
>> Hardcode what the linux uname() calls return [...]
>> ====
>> This doesn't seem right, even in the short term.

> There is currently no better solution.  Several applications check
> for this, and to provide good emulation, uname() should provide these
> values.

Just how good an emulation are we trying to provide here?  If you want
a 100% accurate Linux-alike, you know where to find it. :-)

> I don't give a flying f*ck about the argument "but I want netscape to
> return 'NetBSD'".  If you want something cosmetic rather than having
> some binaries actually *work at all*, you're out of your mind.

I disagree.  Why should I (putatively) have to put up with having
netscape say it's on Linux in order to paper over buggy binaries
someone else - but not me - cares about?  Let the "someone else" have
it if sie wants, but don't impose it on people who don't want it, I
think, is the idea.

> A generic solution isn't that easy, because: [...]

None if that is any reason it can't be a kernel config option, say:

# Uncomment this to "fix" binaries that care about the OS name returned
#  by the Linux emulation uname() call.
#options 	HARDWIRE_LINUX_UNAME="Linux 2.2.5"

Or, if you prefer, uncomment it by default.

(Not that it matters to me, except as a matter of aesthetics (which is
one of the things NetBSD is supposed to be about, after all), since I
don't run binaries I don't have the source to.)

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B