Re: [PATCH] Makefile: fix parallel build race

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 19 2021, Johannes Schindelin wrote:

> On Fri, 19 Nov 2021, Ævar Arnfjörð Bjarmason wrote:
>
>> I think getting it working on non-Windows if we're going to keep it
>> (which looks to be the case) would be very useful.
>
> The idea to extend the CMake to more than just Windows is contrary to what
> Junio said in
> https://lore.kernel.org/git/xmqq1rmcm6md.fsf@xxxxxxxxxxxxxxxxxxxxxx/:
>
> 	Let's not worry about cross-platform and instead stick to Windows
> 	and nothing else for now to expedite the process.  As long as it
> 	is advertised as such, nobody would complain that it does not work
> 	on Linux or macOS.

That's quoted in the <211119.86ee7c4n8r.gmgdl@xxxxxxxxxxxxxxxxxxx>
you're replying to. No need to repeat it.

> If that is not enough to tone down opposing opinions (the opinion of the
> Git maintainer is more important, after all, it's his maintenance burden
> so he gets to decide), you can also look at this statement from
> https://lore.kernel.org/git/xmqq8sikblv2.fsf@xxxxxxxxxxxxxxxxxxxxxx/:
>
> 	I already said that I feel that engineering burden to divert
> 	resources for CMake support would be unacceptably high.

There's some back & forth in that thread, I do think a fair summary of
it is that the proponents of CMakeLists.txt, including yourself, assured
reviewers that having the cmake component wouldn't place a maintenance
burden on anyone not using it.

Including yourself at:
https://lore.kernel.org/git/nycvar.QRO.7.76.6.2004251354390.18039@xxxxxxxxxxxxxxxxx/:

    When it comes to new Makefile knobs, I do agree that it would place an
    unacceptable burden on contributors if we expected them to add the same
    knob to CMakeLists.txt. But we already don't do that for our autoconf
    support, so why would we expect it for CMake?
    
    When it comes to adding new, and/or removing, files, I fail to see the
    problem. It is dead easy to keep the Makefile and CMakeLists.txt in sync
    when it comes to lists of files.

The "that it" here refers to "slow our existing developers down by
forcing them to become familiar with CMake", which you quote below.

> The only reason we have CMake in addition to the Makefile (and the
> autoconf-based) setup is that CMake makes it possible to build Git on
> Windows in the development environment with which the majority of the
> developers on Windows are familiar: Visual Studio.
>
> If it weren't for those developers, for who it would be a ridiculous
> suggestion to "just go download GNU make", we would not have the CMake
> based build at all.

I'm happy it works for those developers, and don't mind at all that
they're choosing to run a propriterary stack while developing a free
software project, I'd just prefer not to be forced to do that because
our CI has a hard dependency on it.

We can argue about the trade-offs here, but I think it's clearly
hyperbole to say that would be a ridiculous suggestion when it was the
status quo until 2020.

I'm specifically pointing out that the issue with the hard dependency of
CI on this "contrib" component.

I'd think of all people you'd be in vehement agreement with me on that
point, after all our back & forth on the contrib/scalar topic, and that
things "contrib" must be decoupled and "optional" in a way that this
cmake integration clearly isn't.

> And I am still agreeing with what Junio further said in the second mail I
> linked above:
>
> 	[...] it is unclear why it would be beneficial to slow our
> 	existing developers down by forcing them to become familiar with
> 	CMake.
>
> So now we are discussing to extend the CMake build to allow Linux and
> macOS developers to use it, to, for little to no benefit. We are very much
> in the situation where we are slowed down by discussing something as
> non-essential as extending our CMake support beyond Windows, while patches
> that are provably much more beneficial to a lot more people are left
> under-reviewed.
>
> Even worse: reviewers who _could_ provide high-quality reviews for those
> patches (which takes a lot of time and diligence), but are as much pressed
> for time as I am and therefore have to choose wisely how to spend their
> time, are _actively_ distracted from spending their time more wisely.
>
> Can't we please focus on more relevant things again? Pretty please?

We have out-of-tree patches to make this thing work outside of Windows
authored by Phillip, and it sonuds like Đoàn would find it useful too.

As for myself I really don't care to interact with this cmake component
at all, but if we're not going to drop the CI hard dependency on it I'd
find being able to test it on a free OS locally to be vastly
preferrable.

In any case, I'm not submitting patches in that direction. But I don't
see a reason to discourage other people from collaborating on topics
they may find useful, as you're doing here.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux