Discussion:
[coreutils/gnulib] m4/host-os.m4: Fixed bug inserting string 'GNU/' to Linux, kFreeBSD, etc (#2)
(too old to reply)
Bernhard Voelker
2017-09-26 06:04:51 UTC
Permalink
Raw Message
Operating systems consist of far more than their core utilities. If its
argued that we should acknowledge the userspace, we should be consistent
and acknowledge all of the userspace. Change the string to
'BSD/Oracle/Microsoft/Redhat/ISC/Apache/MIT/GNU/Linux'. This would quickly
grow unwieldly and ridiculous, and thus should be avoided. Additionally,
installing a single GNU utility such as 'uname' on a FreeBSD machine, does
not make the system GNU/FreeBSD.
* Or replace the 'o' flag with an attempt to determine the actual OS.
(ie, Fedora, Ubuntu, Arch, etc.) from standard version files.
* Update uname(3) and 'struct utsname' to include OS version information.
* Just call it Linux.
------------------------------------------------------------------------------------------------------------------------
https://github.com/coreutils/gnulib/pull/2
First of all, the coreutils and the gnulib projects use Github just as
a mirror - the main discussions are in mailing lists (see To:).
Commit Summary
* m4/host-os.m4: Fixed bug inserting string 'GNU/' to Linux, kFreeBSD, etc
File Changes
* *M* m4/host-os.m4 <https://github.com/coreutils/gnulib/pull/2/files#diff-0> (8)
* https://github.com/coreutils/gnulib/pull/2.patch
* https://github.com/coreutils/gnulib/pull/2.diff
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <https://github.com/coreutils/gnulib/pull/2>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AE-ltQKdundJbANHmDk4m2aRXR4YlBxJks5slcRggaJpZM4PhwIr>.
The change itself won't make it into upstream code:

a) the output of 'uname -o' is very probably often used in scripts
to detect the current platform. Any change will definitely break
a lots (if not all) of them.

b) Re. "Linux" vs. "Gnu/Linux", you can find a lot of material via
an internet search, the most relevant for coreutils + gnulib as GNU
projects from Richard Stallman:
https://www.gnu.org/gnu/why-gnu-linux.html

Also the "GNU/k*BSD"s are there (in that file) at least since 2003,
so a change is very delicate - see a).

Have a nice day,
Berny
Bruno Haible
2017-09-26 10:30:29 UTC
Permalink
Raw Message
Post by Bernhard Voelker
https://github.com/coreutils/gnulib/pull/2
The foremost reason to reject this change is that it combines two
distinct changes in the same patch.

1) The platforms linux*. "Linux" vs. "GNU/Linux". This discussion goes back
to 1995. The arguments like "Change the string to
'BSD/Oracle/Microsoft/Redhat/ISC/Apache/MIT/GNU/Linux'" were already
heard back then. You may not like the outcome of this discussion, but there
is no need to revive it 22 years later.

2) The platforms kfreebsd*-gnu, knetbsd*-gnu, netbsd*-gnu*. These platforms
have their home pages here:
https://www.debian.org/ports/kfreebsd-gnu/index.en.html
https://www.debian.org/ports/netbsd/index.en.html
As you can see they do have "GNU/" in their name.
Post by Bernhard Voelker
a) the output of 'uname -o' is very probably often used in scripts
to detect the current platform. Any change will definitely break
a lots (if not all) of them.
I don't think many scripts use "uname -o". Most scripts use "uname -s"
or "uname -sr". Nevertheless, even if there are few such scripts, it's
no good to break them without good reason.

Bruno

Loading...