Documentation: refactor "howto-index.sh" for out-of-tree builds

The "howto-index.sh" is used to generate an index of our how-to docs. It receives as input the paths to these documents, which would typically be relative to the "Documentation/" directory in Makefile-based builds. In an out-of-tree build though it will get relative that may be rooted somewhere else entirely. The file paths do end up in the generated index, and the expectation is that they should always start with "howto/". But for out-of-tree builds we would populate it with the paths relative to the build directory, which is wrong. Fix the issue by using `$(basename "$file")` to generate the path. While at it, move the script into "howto/" to align it with the location of the comparable "api-index.sh" script. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Dec 27, 2024 at 14:59 UTC 8922506cb2c34527f8b2321b4f7a4b454a325a07
2 files changed +3 -3
Documentation/Makefile
+2 -2
@@ -411,8 +411,8 @@ gitman.info: gitman.texi
411 $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
412 $(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@
413
414 -howto-index.txt: howto-index.sh $(HOWTO_TXT)
415 - $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@
414 +howto-index.txt: howto/howto-index.sh $(HOWTO_TXT)
415 + $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto/howto-index.sh $(sort $(HOWTO_TXT)) >$@
416
417 $(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt $(ASCIIDOC_DEPS)
418 $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
Documentation/howto/howto-index.sh renamed
+1 -1
@@ -48,7 +48,7 @@ do
48 file="$txt"
49 fi
50
51 - echo "* link:$file[$title] $from
51 + echo "* link:howto/$(basename "$file")[$title] $from
52 $abstract
53
54 "