[PATCH v3 0/8] gitweb: fix "make" not including "gitweb" without NOOP run slowdowns
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jun 28, 2022, 10:15 UTC
- Message-ID
- <cover-v3-0.8-00000000000-20220628T100936Z-avarab@gmail.com>
- In-Reply-To
- <cover-v2-0.7-00000000000-20220531T173805Z-avarab@gmail.com>
The $subject is a mostly trivial re-roll of https://lore.kernel.org/git/cover-v2-0.7-00000000000-20220531T173805Z-avarab@gmail.com/.
Changes since v3:
* Correct the commit message of 7/8 to account for SZEDER's commit being included in this (that part was also incorrect in v2).
* As noted in https://lore.kernel.org/git/220624.86bkuikidi.gmgdl@evledraar.gmail.com/ I went over various git packages in the wild to see if my changes here would break things
I did find that not having a wrapper gitweb/Makefile would break OpenBSD's package, but it's a one-line fix.
But to make up for it I saw that a semi-common pattern was to
manually munge our Makefile to get rid of "gitweb" or
"gitweb-install" targets. All of {Free,Net,Dragonfly}BSD were doing
that. They'll now happily be able to use a NO_GITWEB=Y flag
instead, so hopefully the small amount of disruption here makes up
for itself.SZEDER Gábor (1): Makefile: build 'gitweb' in the default target
Ævar Arnfjörð Bjarmason (7):
gitweb/Makefile: define all .PHONY prerequisites inline
gitweb/Makefile: add a $(GITWEB_ALL) variable
gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars
gitweb/Makefile: prepare to merge into top-level Makefile
gitweb: remove "test" and "test-installed" targets
gitweb/Makefile: include in top-level Makefile
gitweb/Makefile: add a "NO_GITWEB" parameterMakefile | 31 +++++++---- gitweb/Makefile | 145 ++++++++++++++++-------------------------------- t/Makefile | 4 -- 3 files changed, 68 insertions(+), 112 deletions(-)
Range-diff against v2:
1: 14361617ca6 = 1: 8e85151cf3d gitweb/Makefile: define all .PHONY prerequisites inline
2: 7d920a13518 = 2: 5c9895949aa gitweb/Makefile: add a $(GITWEB_ALL) variable
3: e14a5b73061 = 3: 2f4db54923d gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars
4: 02e26ca8ce2 = 4: d38b553a2e6 gitweb/Makefile: prepare to merge into top-level Makefile
5: caf376f3dd9 = 5: 6c2d7b30524 gitweb: remove "test" and "test-installed" targets
6: b423cd58f6b = 6: 5640587b9ae gitweb/Makefile: include in top-level Makefile
7: 69428540886 ! 7: 571c9c10319 Makefile: build 'gitweb' in the default target
@@ Commit message
Since then a simple 'make' doesn't build 'gitweb'.
Luckily, installing 'gitweb' is not broken: although 'make install'
- doesn't depend on the 'gitweb' target, it runs 'make -C gitweb
- install' unconditionally, which does generate all the necessary files
+ doesn't depend on the 'gitweb' target, it has a dependency on the
+ 'install-gitweb' target, which does generate all the necessary files
for 'gitweb' and installs them. However, if someone runs 'make &&
sudo make install', then those files in the 'gitweb' directory will be
generated and owned by root, which is not nice.
-: ----------- > 8: 0c8f26ee876 gitweb/Makefile: add a "NO_GITWEB" parameter-- 2.37.0.880.gf07d56b18ba