Subject: Re: gitweb.js build mistake

From: Patrick Steinhardt <[email-masked]>
Date: Thu, 27 Mar 2025 11:13:30 +0100

On Fri, Feb 28, 2025 at 08:02:16AM +0100, Patrick Steinhardt wrote:
> On Fri, Feb 28, 2025 at 06:34:43AM +0100, Thorsten Glaser wrote:
> > From ed9863971d37ed53628a5871a4a569ccd6287f53 Mon Sep 17 00:00:00 2001
> > From: mirabilos <[email-masked]>
> > Date: Fri, 28 Feb 2025 05:33:10 +0000
> > Subject: [PATCH] Unbreak content of gitweb.js
> > 
> > The former $^ adds all prerequisites, including the
> > (proper) new dependency on the generator script.
> 
> The commit message could use a bit of polishing. How about the
> following:
> 
>     gitweb: fix generation of "gitweb.js"
> 
>     In 19d8fe7da65 (Makefile: extract script to generate gitweb.js,
>     2024-12-06) we have extracted the logic to build "gitweb.js" into a
>     separate script. As part of that the rules that builds the script
>     has gained a new dependency on that script.
> 
>     This refactoring is broken though because we use "$^" to determine
>     the set of JavaScript files that need to be concatenated, and this
>     implicit variable now also contains the build script itself. As a
>     result, the build script ends up ni the generated "gitweb.js" file,
>     which is wrong.
> 
>     Fix the issue by explicitly only passing the JavaScript files.
> 
> > Signed-off-by: mirabilos <[email-masked]>
> 
> We typically require plain names instead of aliases in the SOB.

> > ---
> >  gitweb/Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/gitweb/Makefile b/gitweb/Makefile
> > index d5748e9359..2a8f97cef8 100644
> > --- a/gitweb/Makefile
> > +++ b/gitweb/Makefile
> > @@ -118,7 +118,7 @@ $(MAK_DIR_GITWEB)gitweb.cgi: $(MAK_DIR_GITWEB)gitweb.perl
> >  $(MAK_DIR_GITWEB)static/gitweb.js: $(MAK_DIR_GITWEB)generate-gitweb-js.sh
> >  $(MAK_DIR_GITWEB)static/gitweb.js: $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_JSLIB_FILES))
> >  	$(QUIET_GEN)$(RM) $@ $@+ && \
> > -	$(MAK_DIR_GITWEB)generate-gitweb-js.sh $@+ $^ && \
> > +	$(MAK_DIR_GITWEB)generate-gitweb-js.sh $@+ $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_JSLIB_FILES)) && \
> >  	mv $@+ $@
> 
> We could avoid repetition by filtering out any files that we don't care
> about, like so:
> 
>     $(filter %.js,$^)
> 
> In any case, thanks for discovering and fixing this issue!
> 
> Patrick

Thorsten, do you plan to send another version of this patch that
includes my feedback? Otherwise I'm happy to bring this over the
finishing line.

Thanks!

Patrick