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
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 23, 2022, 23:45 UTC
Message-ID
<220624.86bkuikidi.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqq7d57x8qo.fsf@gitster.g>
On Thu, Jun 23 2022, Junio C Hamano wrote:
Show 24 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>> 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.
>>
>> True, but I think critically in this case we've never documented that
>> you should be running gitweb/Makefile directly. I.e. the gitweb/INSTALL
>> has always documented and assumed that you run these from the top-level.
>
> Well, I do not think Makefiles document much of their targets in
> general.  If its first/default target has a reasonable name, like
> "all", people expect "cd there && make all" would do the right
> thing.
>
> So I do not think "we never documented" is a good excuse.  What the
> current users have been doing and are expecting to keep working is
> what counts.  If they are used to see "cd gitweb && make" working,
> perhaps instead of giving an unfriendly $(error do not run) at the
> beginning of gitweb/Makefile that is designed to trigger only when
> they did that (instead of running 'make gitweb' from the top), it
> would be trivial to have the rule to "cd .. && $(MAKE) gitweb"
> there, no?

I can re-roll it with that change if you insist. It would close the door on further unifying the two Makefiles in the future (well, we could keep the wrapper in place).

I have a script I use to see how big the impact of this sort of thing
would be in practice, i.e. I download downstream package recipies, which
are found at (name, relative path & urls). I also manually get the AIX
package:
	
	freebsd-ports   devel/git       https://github.com/freebsd/freebsd-ports.git 
	openbsd-ports   devel/git       https://github.com/openbsd/ports.git 
	netbsd-pkgsrc   devel/git-base  https://github.com/NetBSD/pkgsrc.git 
	dragonflybsd-dports     devel/git       https://github.com/DragonFlyBSD/DPorts.git 
	fedora  .       https://src.fedoraproject.org/rpms/git 
	debian  debian  https://repo.or.cz/git/debian.git 
	gentoo  dev-vcs/git     https://github.com/gentoo/gentoo.git 
	arch    git/trunk       https://github.com/archlinux/svntogit-packages.git 
	nix     pkgs/applications/version-management/git-and-tools/git  https://github.com/NixOS/nixpkgs.git 
	alpine  main/git        https://github.com/alpinelinux/aports.git       https://git.alpinelinux.org/aports 
	git_osx_installer       .       https://github.com/timcharper/git_osx_installer.git 
	homebrew-core   Formula/git.rb  https://github.com/Homebrew/homebrew-core.git 
	macports-ports  devel/git       https://github.com/macports/macports-ports.git

Looking through all of those none of them do anything with gitweb/Makefile. I.e. all "make gitweb" at the top-level, or simply rely on "make install" to install it.

FreeBSD and NetBSD are monkeypatching our Makefile to emulate a "I don't want gitweb please!", which they'll need to do before/after this series (but we could helpfully provide them a config knob).

Anyway, if you want "make gitweb" and "make gitweb-install" in the subdirectory to work I can patch it, but per the above I think it would be useful to pretty much nobody.

I could use around the same amount of effort to give FreeBSD and NetBSD a "don't install gitweb please" know instead, what do you think?:)

Previous: Junio C HamanoNext: Junio C Hamano
Message 21 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.