Subject: Re: [PATCH v3 12/34] fsmonitor-fs-listen-macos: stub in backend for MacOS

From: Junio C Hamano <[email-masked]>
Date: Mon, 26 Jul 2021 16:26:48 -0700

Johannes Schindelin <[email-masked]> writes:

> Hi Ævar,
>
> On Fri, 16 Jul 2021, Ævar Arnfjörð Bjarmason wrote:
>
>> On Fri, Jul 16 2021, Johannes Schindelin wrote:
>>
>> > So you suggest that we name the new stuff after an `uname` that
>> > reflects a name that is no longer relevant? I haven't seen a real
>> > Darwin system in quite a long time, have you?
>>
>> It's not current? On an Mac Mini M1 which got released this year:
>>
>>     % uname -s
>>     Darwin
>>
>> We then have the same in config.mak.uname, it seemed the most obvious
>> and consistent to carry that through to file inclusion.
>
> Sorry. I assumed that you knew that Darwin was the name for an open source
> Operating System. See
> https://en.wikipedia.org/wiki/Darwin_%28operating_system%29 for more
> details.
>
> Ciao,
> Johannes

Sorry, but I do not see that you are being more constructive than
the other party, whom you blame to be not constructive, in this
exchange.

The part of the file that the patch applies to uses $(uname_S) to
implement platform specific special cases, and we are looking at

	ifeq ($(uname_S),Darwin)
		...
		FSMONITOR_DAEMON_BACKEND = macos
		...
	endif

I find it a fair question why the name used there has to be
different from the one we can automatically and mechanically
get out of "uname -s".

Then you respond that uname output is no longer relevant because
Darwin is a name that is no longer relevant?  And when asked why the
name is no longer relevant, you make a sniding comment implying that
the other party does not know the name is an operating system?

What is going on here?

It does not really matter how "Darwin" is described in an
encyclopedia in the context of this discussion.  What matters is
that it is what the system's "uname -s" currently uses to identify
itself, and what we guard the section of makefile snippet with,
isn't it?

ci/lib.sh seems to have an attempt to unify/translate among these
names, and

 * on azure-pipelines, it wants to translate darwin to osx
 * on github-actions, it wants to translate macos to osx

Presumably that is because these two systems call the platform with
these two different names, and you want to pick a middle ground that
nobody uses to be neutral, or something?

Also, in contrib/vscode/init.sh, I see Darwin obtained from "uname -s"
gets translated to "macOS".

In any case, if your argument was "we picked macos because we use
the same token elsewhere, while trying to translate away from Darwin
as much as possible for such and such reasons", I would have found
it a productive exchange, but unfortunately that is not what I am
seeing here.