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

[PATCH 1/3] contrib/subtree: fix building docs

From
Patrick Steinhardt <ps@pks.im>
Date
Jan 17, 2025, 09:56 UTC
Message-ID
<20250117-b4-pks-build-subtree-v1-1-03c2ed6cc42e@pks.im>
In-Reply-To
<20250117-b4-pks-build-subtree-v1-0-03c2ed6cc42e@pks.im>

In a38edab7c8 (Makefile: generate doc versions via GIT-VERSION-GEN, 2024-12-06), we have refactored how we build our documentation by injecting the Git version into the Asciidoc and AsciiDoctor config files instead of doing so via arguments. As such, the original config files were removed, where the expectation is that they get generated via `GIT-VERSION-GEN` now.

Whie the git-subtree(1) command part of "contrib/" also builds docs using these same config files, its Makefile wasn't adjusted accordingly and thus building the docs is broken.

Fix this by using `GIT-VERSION-GEN` to generate those files.
Reported-by: Renato Botelho <garga@FreeBSD.org>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 contrib/subtree/.gitignore |  2 ++
 contrib/subtree/Makefile   | 23 +++++++++++++++--------
 2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/contrib/subtree/.gitignore b/contrib/subtree/.gitignore
index 0b9381abca..6deaf177c7 100644
--- a/contrib/subtree/.gitignore
+++ b/contrib/subtree/.gitignore
@@ -1,4 +1,6 @@
 *~
+asciidoc.conf
+asciidoctor-extensions.rb
 git-subtree
 git-subtree.1
 git-subtree.html
diff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile
index 6fa7496bfd..8fe0bfd401 100644
--- a/contrib/subtree/Makefile
+++ b/contrib/subtree/Makefile
@@ -1,6 +1,7 @@
 # The default target of this Makefile is...
 all::
 
+-include ../../shared.mak
 -include ../../config.mak.autogen
 -include ../../config.mak
 
@@ -13,17 +14,16 @@ htmldir ?= $(prefix)/share/doc/git-doc
 ../../GIT-VERSION-FILE: FORCE
 	$(MAKE) -C ../../ GIT-VERSION-FILE
 
--include ../../GIT-VERSION-FILE
-
 # this should be set to a 'standard' bsd-type install program
 INSTALL  ?= install
 RM       ?= rm -f
 
 ASCIIDOC         = asciidoc
-ASCIIDOC_CONF    = -f ../../Documentation/asciidoc.conf
+ASCIIDOC_CONF    = -f asciidoc.conf
 ASCIIDOC_HTML    = xhtml11
 ASCIIDOC_DOCBOOK = docbook
 ASCIIDOC_EXTRA   =
+ASCIIDOC_DEPS    = asciidoc.conf
 XMLTO            = xmlto
 XMLTO_EXTRA      =
 
@@ -32,8 +32,9 @@ ASCIIDOC         = asciidoctor
 ASCIIDOC_CONF    =
 ASCIIDOC_HTML    = xhtml5
 ASCIIDOC_DOCBOOK = docbook
-ASCIIDOC_EXTRA  += -I../../Documentation -rasciidoctor-extensions
+ASCIIDOC_EXTRA  += -I. -rasciidoctor-extensions
 ASCIIDOC_EXTRA  += -alitdd='&\#x2d;&\#x2d;'
+ASCIIDOC_DEPS    = asciidoctor-extensions.rb
 XMLTO_EXTRA     += --skip-validation
 endif
 
@@ -82,13 +83,13 @@ install-html: $(GIT_SUBTREE_HTML)
 $(GIT_SUBTREE_DOC): $(GIT_SUBTREE_XML)
 	$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $^
 
-$(GIT_SUBTREE_XML): $(GIT_SUBTREE_TXT)
+$(GIT_SUBTREE_XML): $(GIT_SUBTREE_TXT) $(ASCIIDOC_DEPS)
 	$(ASCIIDOC) -b $(ASCIIDOC_DOCBOOK) -d manpage $(ASCIIDOC_CONF) \
-		-agit_version=$(GIT_VERSION) $(ASCIIDOC_EXTRA) $^
+		$(ASCIIDOC_EXTRA) $<
 
-$(GIT_SUBTREE_HTML): $(GIT_SUBTREE_TXT)
+$(GIT_SUBTREE_HTML): $(GIT_SUBTREE_TXT) $(ASCIIDOC_DEPS)
 	$(ASCIIDOC) -b $(ASCIIDOC_HTML) -d manpage $(ASCIIDOC_CONF) \
-		-agit_version=$(GIT_VERSION) $(ASCIIDOC_EXTRA) $^
+		$(ASCIIDOC_EXTRA) $<
 
 $(GIT_SUBTREE_TEST): $(GIT_SUBTREE)
 	cp $< $@
@@ -98,6 +99,12 @@ test: $(GIT_SUBTREE_TEST)
 
 clean:
 	$(RM) $(GIT_SUBTREE)
+	$(RM) asciidoc.conf asciidoctor-extensions.rb
 	$(RM) *.xml *.html *.1
 
+asciidoc.conf: ../../Documentation/asciidoc.conf.in ../../GIT-VERSION-FILE
+	$(QUIET_GEN)$(call version_gen,"$(shell pwd)/../..",$<,$@)
+asciidoctor-extensions.rb: ../../Documentation/asciidoctor-extensions.rb.in ../../GIT-VERSION-FILE
+	$(QUIET_GEN)$(call version_gen,"$(shell pwd)/../..",$<,$@)
+
 .PHONY: FORCE
-- 
2.48.0.257.gd3603152ad.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 3 of 4 in “contrib/subtree: doc fixes and support for Meson”
  1. 0/3 contrib/subtree: doc fixes and support for MesonPatrick Steinhardt, Jan 17, 2025
  2. 2/3 meson: introduce build option for contribPatrick Steinhardt, Jan 17, 2025
  3. 1/3 contrib/subtree: fix building docsPatrick Steinhardt, Jan 17, 2025
  4. 3/3 meson: wire up the git-subtree(1) commandPatrick Steinhardt, Jan 17, 2025

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.