Subject: RE: [ANNOUNCE] Git v2.50.0-rc1 - Test Failed

From: <[email-masked]>
Date: Thu, 5 Jun 2025 04:09:54 -0400

On June 4, 2025 3:25 PM, Johannes Sixt wrote:
>Am 04.06.25 um 17:17 schrieb Junio C Hamano:
>> So the build procedure for git-gui (but not gitk) has changed rather
>> extensively after we tagged the preview before -rc1?  Honestly, I
>> would have preferred to see a change with this impact go through the
>> regular 'seen' to 'next' to 'master' way before -rc0, but that is
>> water under the bridge.
>
>I don't think we ever had such a cycle for gitk and git-gui. I carry inofficial branches
>'j6t-testing' in my repositories that interested parties could track instead of 'master'.
>I would be happy to hear that people actually do use them.
>
>> I do not spot anything obviously wrong (and it is not expected that I
>> would---we wouldn't have this code sent to me in the first place if
>> this is something I can immediately notice).  git-gui/Makefile sets
>> ALL_LIBFILES to $(wildcard lib/*.tcl) and then does
>>
>>     $(SHELL_PATH) generate-tclindex.sh . ./GIT-GUI-BUILD-OPTIONS
>> $(ALL_LIBFILES)
>>
>> So the error message in Becker's message, i.e.
>>
>>> /usr/coreutils/bin/bash generate-tclindex.sh .
>>> ./GIT-GUI-BUILD-OPTIONS
>>> usage: generate-tclindex.sh <BUILD_DIR> <BUILD_OPTIONS> <LIBFILE>
>>> [<LIBFILE>...]
>>> Makefile:200: recipe for target 'lib/tclIndex' failed
>>
>> suggests that $(wildcard lib/*tcl) expanded to *nothing*, which sounds
>> horribly wrong.  They are source material and should exist in an
>> unmodified checkout or a tarball extract.
>
>I don't see anything wrong, either. I can easily verify your theory that the
>$(wildcard) produces an empty list by modifying the pattern.
>
>Randall, would it be possible for you to find out why $(wildcard
>lib/*tcl) produces an empty list in your case?

I can verify that $(wildcard lib/*tcl) is correctly reporting an empty list.

There are three directories name lib in the 2.50.0-rc1 commit:
./git-gui/lib
./gitweb/static/js/lib
./perl/build/lib
None have any files ending in tcl:
$ ls git-gui/lib
git-gui.ico  meson.build  tclIndex  win32_shortcut.js
$ ls gitweb/static/js/lib
common-lib.js  cookies.js  datetime.js
$ ls perl/build/lib
FromCPAN  Git  Git.pm

If it possible that your workspace has extra stuff that does not exist at the time make
is run. Note that I am using gnu Make 4.2.1 with bash to perform the built/test cycle.