git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 0/7] gitweb: fix "make" not including "gitweb" without NOOP run slowdowns

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 22, 2022, 15:37 UTC
Message-ID
<xmqq7d587lqx.fsf@gitster.g>
In-Reply-To
<220622.86r13hkp2c.gmgdl@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 16 quoted lines
>>   - I wondered if "make NO_PERL=1" would complain about "gitweb" being
>>     in the default targets. It doesn't, but it does actually build
>>     gitweb, which seems a little weird. I don't think we actually rely
>>     on perl during the build (e.g., no "perl -c" checks or anything),
>>     and the t950x tests seem to respect NO_PERL and avoid running the
>>     generated file. So maybe it's OK?
>
> I think it's arguably a bug, but as you note we build/test etc. without
> errors, and I think it's restoring the state before e25c7cc146
> (Makefile: drop dependency between git-instaweb and gitweb, 2015-05-29).
>
> Arguably we should replace with a stub script like git-svn et al, and
> arguably we should leave it, as you're more likely to e.g. run gitweb on
> a webserver, so even if you build a "no perl" package, perhaps it's
> convenient to have "gitweb" part of it, and then on that one box that
> runs it you'll install perl...

It is perfectly acceptable to "make DESTDIR=... install" and tar up the result on a host with NO_PERL and extract it on the target that is capable to run gitweb, isn't it? As long as "make NO_PERL=1" gives exactly the gitweb as a build without NO_PERL, that should be OK, I would think. I would think what you have is in a good state.

Show 12 quoted lines
>>   - Speaking of backwards compatibility: after this series, "cd gitweb
>>     && make" yields an error. It's got a nice message telling you what
>>     to do, but it's likely breaking distro scripts. Again, I'm not sure
>>     I care, but if the point of the exercise was to avoid breaking
>>     things, well...
>
> I think that's OK, having maintained those sorts of build scripts in a
> past life.
>
> I.e. when you upgrade the package it's a minor hassle, and the error
> tells you exactly what to do, and the fix is a 2-3 lines in your recipe
> at most.

We could easily add "cd .. && make gitweb" to gitweb/Makefile with the same "minor hassle" but that needs to be done just once, instead of having to be done once per packager, so I am not sure the above argues for a good tradeoff.

Thanks.
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 18 of 31 in “Makefile: build 'gitweb' in the default target”
  1. Makefile: build 'gitweb' in the default targetSZEDER Gábor, May 25, 2022
  2. Ævar Arnfjörð BjarmasonMay 26, 2022
  3. Jeff KingMay 26, 2022
  4. SZEDER GáborMay 26, 2022
  5. Ævar Arnfjörð BjarmasonMay 27, 2022
  6. 0/7 gitweb: fix "make" not including "gitweb" without NOOP run slowdownsÆvar Arnfjörð Bjarmason, May 31, 2022
  7. 1/7 gitweb/Makefile: define all .PHONY prerequisites inlineÆvar Arnfjörð Bjarmason, May 31, 2022
  8. 2/7 gitweb/Makefile: add a $(GITWEB_ALL) variableÆvar Arnfjörð Bjarmason, May 31, 2022
  9. 3/7 gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} varsÆvar Arnfjörð Bjarmason, May 31, 2022
  10. 4/7 gitweb/Makefile: prepare to merge into top-level MakefileÆvar Arnfjörð Bjarmason, May 31, 2022
  11. 5/7 gitweb: remove "test" and "test-installed" targetsÆvar Arnfjörð Bjarmason, May 31, 2022
  12. 7/7 Makefile: build 'gitweb' in the default targetÆvar Arnfjörð Bjarmason, May 31, 2022
  13. 6/7 gitweb/Makefile: include in top-level MakefileÆvar Arnfjörð Bjarmason, May 31, 2022
  14. Junio C HamanoJun 6, 2022
  15. SZEDER GáborJun 20, 2022
  16. Jeff KingJun 21, 2022
  17. Ævar Arnfjörð BjarmasonJun 22, 2022
  18. Junio C HamanoJun 22, 2022
  19. Ævar Arnfjörð BjarmasonJun 23, 2022
  20. Junio C HamanoJun 23, 2022
  21. Ævar Arnfjörð BjarmasonJun 23, 2022
  22. Junio C HamanoJun 24, 2022
  23. 0/8 gitweb: fix "make" not including "gitweb" without NOOP run slowdownsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  24. 1/8 gitweb/Makefile: define all .PHONY prerequisites inlineÆvar Arnfjörð Bjarmason, Jun 28, 2022
  25. 2/8 gitweb/Makefile: add a $(GITWEB_ALL) variableÆvar Arnfjörð Bjarmason, Jun 28, 2022
  26. 3/8 gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} varsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  27. 4/8 gitweb/Makefile: prepare to merge into top-level MakefileÆvar Arnfjörð Bjarmason, Jun 28, 2022
  28. 5/8 gitweb: remove "test" and "test-installed" targetsÆvar Arnfjörð Bjarmason, Jun 28, 2022
  29. 6/8 gitweb/Makefile: include in top-level MakefileÆvar Arnfjörð Bjarmason, Jun 28, 2022
  30. 7/8 Makefile: build 'gitweb' in the default targetÆvar Arnfjörð Bjarmason, Jun 28, 2022
  31. 8/8 gitweb/Makefile: add a "NO_GITWEB" parameterÆvar Arnfjörð Bjarmason, Jun 28, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.