[git commit] uname: make OS name configurable

Denys Vlasenko vda.linux at googlemail.com
Mon Aug 3 16:09:18 UTC 2015


commit: http://git.busybox.net/busybox/commit/?id=64ed5f0d3c5eefbb208d4a334654834c78be2cbd
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

A mailing list thread in September 2013 discussed changing the string
returned by the non-POSIX 'uname -o' option.  Nothing ever came of this
because there was no agreement as to what the string should be.

Make the string configurable so that people can decide for themselves.

Signed-off-by: Ron Yorston <rmy at frippery.org>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/Config.src |    8 ++++++++
 coreutils/uname.c    |    4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/coreutils/Config.src b/coreutils/Config.src
index 02155d2..ffbef1a 100644
--- a/coreutils/Config.src
+++ b/coreutils/Config.src
@@ -630,6 +630,14 @@ config UNAME
 	help
 	  uname is used to print system information.
 
+config UNAME_OSNAME
+	string "Operating system name"
+	default "GNU/Linux"
+	depends on UNAME
+	help
+	  Sets the operating system name reported by uname -o.  The
+	  default is "GNU/Linux".
+
 config UNEXPAND
 	bool "unexpand"
 	default y
diff --git a/coreutils/uname.c b/coreutils/uname.c
index 1c6aa5f..fd677d2 100644
--- a/coreutils/uname.c
+++ b/coreutils/uname.c
@@ -74,7 +74,7 @@ typedef struct {
 	struct utsname name;
 	char processor[sizeof(((struct utsname*)NULL)->machine)];
 	char platform[sizeof(((struct utsname*)NULL)->machine)];
-	char os[sizeof("GNU/Linux")];
+	char os[sizeof(CONFIG_UNAME_OSNAME)];
 } uname_info_t;
 
 static const char options[] ALIGN1 = "snrvmpioa";
@@ -141,7 +141,7 @@ int uname_main(int argc UNUSED_PARAM, char **argv)
 #endif
 	strcpy(uname_info.processor, unknown_str);
 	strcpy(uname_info.platform, unknown_str);
-	strcpy(uname_info.os, "GNU/Linux");
+	strcpy(uname_info.os, CONFIG_UNAME_OSNAME);
 #if 0
 	/* Fedora does something like this */
 	strcpy(uname_info.processor, uname_info.name.machine);


More information about the busybox-cvs mailing list