[PATCH] Fix incorrect OS reporting in uname -o

Tito farmatito at tiscali.it
Wed Sep 18 23:05:51 UTC 2013


On Wednesday 18 September 2013 23:19:51 Pere wrote:
> On Wed, Sep 18, 2013 at 10:13 PM, Aaro Koskinen <aaro.koskinen at iki.fi> wrote:
> > Hi,
> >
> > On Tue, Sep 17, 2013 at 11:47:55PM -0400, Patrick 'P. J.' McDermott wrote:
> >> On 2013-09-17 18:56, Rich Felker wrote:
> >> > -   strcpy(uname_info.os, "GNU/Linux");
> >> > +   strcpy(uname_info.os,
> >> > +#ifdef __GLIBC__
> >> > +           "GNU/"
> >> > +#endif
> >> > +           "Linux");
> >>
> >> I'd agree that most BusyBox-based systems can hardly be called
> >> "GNU/Linux", even with glibc.  It seems inappropriate to call a system
> >> "GNU" if it has little or no GNU software.
> >
> > Maybe in the case when GNU toolchain was not used to compile the system?
> >
> >> But I'd call such a system "BusyBox/Linux" instead, since BusyBox is the
> >> userspace, regardless of the C library in my opinion.
> >
> > My systems have uname from busybox, but I also have ~80 other packages
> > installed, so "BusyBox/Linux" would be also wrong. Maybe it should
> > be configurable.
> 
> I don't think "BusyBox/Linux" is a good idea. And I can't see that
> making it configurable solves a real issue.
> 
> Regarding the original patch, not that my opinion matters, but if
> BusyBox tries to match GNU behaviour in most situations, and Busybox
> partially derives from GNU source code, then the current behaviour
> makes sense.
> 
> --
> Pere

Hi,
"GNU/Linux" as default value is perfectly in line with the statement
on the "About" section of the busybox website:

"BusyBox combines tiny versions of many common UNIX utilities into a single small executable.
It provides replacements for most of the utilities you usually find in ___GNU__  fileutils, shellutils, etc.
The utilities in BusyBox generally have fewer options than their full-featured __GNU__ cousins;
however, the options that are included provide the expected functionality and behave
very much like their __GNU__ counterparts."

BTW, i suspect that busybox could be compiled and run also on non linux systems
so the next step would be to also make the "Linux" part somehow configurable.

A better solution at this point could be to not build the busybox uname applet
and use the native one or use a simple wrapper:

#!/bin/sh
busybox uname $@ | sed  's/GNU\/Linux/MyLibc\/MyKernel/'

Ciao,
Tito
	



More information about the busybox mailing list