coreutils / gnulib

upstream mirror
http://git.savannah.gnu.org/gitweb/?p=gnulib.git
Other
268 stars 106 forks source link

m4/host-os.m4: Fixed bug inserting string 'GNU/' to Linux, kFreeBSD, etc #2

Closed khanzf closed 6 years ago

khanzf commented 6 years ago

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.

Sane alternatives to this bug fix may be:

fbettag commented 6 years ago

πŸ‘πŸ‘πŸ»πŸ‘πŸΌπŸ‘πŸ½πŸ‘πŸΎπŸ‘πŸΏ

bernhard-voelker commented 6 years ago

On 09/24/2017 04:54 AM, Farhan Khan wrote:

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.

Sane alternatives to this bug fix may be:

  • 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.

    You can view, comment on, or merge this pull request online at:

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

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

kdudka commented 6 years ago

This is just GNU software advertising itself wherever possible. It is by design...

bernhard-voelker commented 6 years ago

Indeed; as such, I'm hereby closing this pull request.

bernhard-voelker commented 6 years ago

https://github.com/coreutils/gnulib/pull/2

The change itself won't make it into upstream code:

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.

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