On Thu, Jun 23 2022, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> 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?:)