Re: [PATCH] Makefile: fix parallel build race

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

 



On Thu, Nov 18 2021, Johannes Schindelin wrote:

> On Thu, 18 Nov 2021, Đoàn Trần Công Danh wrote:
>
>> [Git's CMake-based build] couldn't be configured on Linux system,
>
> That was an explicit decision 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 was said at a time when the CI didn't have a hard dependency on
this cmake integration, which as noted in the recent discussion
downthread of [1] made it so that for changes in this area you need to
maintain both the Makefile and contrib/buildsystems/CMakeLists.txt in
lockstep, least that CI is broken.

So we've created a scenario where in order to make certain changes to
git.git, you need to either go through a very painfully slow
edit/push/test cycle via the CI, with each test taking anywhere between
~5m-60m, depending on what step it might fail at. Or, install your own
copy of that proprietary OS locally.

In other areas we often don't have any hard line separating such
platform-specific code from the rest of the codebase. But for anything
else I can think of it's in its own files or ifdefs, and usually doesn't
require maintaining dual-implementations in lockstep, except if the
interface itself is changing.

Or that code is at least in a common language like C, Sh, Perl etc., and
doesn't require you to learn a new tool/language just for maintaining
the propriterary-specific portability code.

So I think it would be most welcome to get patches to
contrib/buildsystems/CMakeLists.txt to make it portable, cmake itself
is, and AFAICT the only inherently Windows-specific part of it is some
small part dealing with generating a file for VS to consume, which
presumably can be in some if/else construct within that file (I haven't
checked out Phillip Wood's portability patches).

1. https://lore.kernel.org/git/patch-1.1-bbacbed5c95-20211030T223011Z-avarab@xxxxxxxxx/




[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