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

[RFC PATCH 07/12] doc: get rid of xmlto dependency

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 13, 2023, 11:57 UTC
Message-ID
<20230413115745.116063-8-felipe.contreras@gmail.com>
In-Reply-To
<20230413115745.116063-1-felipe.contreras@gmail.com>

We don't use any of its functionality, so all it's doing for us is generate a stylesheet, which we are doing by ourselves now.

Use `xsltproc` directly.

This gets rid of some annoying warnings because my system doesn't use debian's libpaper:

  (null): unknown option '-n'
  (null): unknown option '-mh'
  (null): unknown option '-mw'
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 Documentation/Makefile | 6 ++----
 t/t0600-doc-tools.sh   | 4 +---
 2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 96d3f52c60..3e2cbef306 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -155,7 +155,6 @@ ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
 ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
 TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
 TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
-XMLTO = xmlto
 XMLTO_EXTRA =
 INSTALL ?= install
 RM ?= rm -f
@@ -184,7 +183,7 @@ endif
 ifndef MAN_BASE_URL
 MAN_BASE_URL = file://$(htmldir)/
 endif
-XMLTO_EXTRA += --stringparam man.base.url.for.relative.links='$(MAN_BASE_URL)'
+XMLTO_EXTRA += --stringparam man.base.url.for.relative.links '$(MAN_BASE_URL)'
 
 ifdef USE_ASCIIDOCTOR
 ASCIIDOC = asciidoctor
@@ -196,7 +195,6 @@ ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
 ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
 ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
 DBLATEX_COMMON =
-XMLTO_EXTRA += --skip-validation
 endif
 
 SHELL_PATH ?= $(SHELL)
@@ -334,7 +332,7 @@ $(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
 	$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $<
 
 manpage-prereqs := manpage.xsl $(wildcard manpage*.xsl)
-manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -x manpage.xsl $(XMLTO_EXTRA) man $<
+manpage-cmd = $(QUIET_XMLTO)xsltproc --nonet $(XMLTO_EXTRA) -o $@ manpage.xsl $<
 
 manpage.xsl: gen-stylesheet
 	./gen-stylesheet >"$@"
diff --git a/t/t0600-doc-tools.sh b/t/t0600-doc-tools.sh
index a003686c2f..0af431941d 100755
--- a/t/t0600-doc-tools.sh
+++ b/t/t0600-doc-tools.sh
@@ -57,9 +57,7 @@ EOF
 "$doc_dir"/gen-stylesheet >"$doc_dir"/manpage.xsl
 
 xmltoman() {
-	base="$1"
-	shift
-	xmlto --skip-validation -x "$doc_dir"/manpage.xsl man "$base.xml"
+	xsltproc --nonet -o "$1.1" "$doc_dir/manpage.xsl" "$1.xml"
 }
 
 build_asciidoc_py() {
-- 
2.40.0+fc1
Previous: Felipe ContrerasNext: Felipe Contreras
Message 8 of 13 in “doc: add tests and reimplement xmlto”
  1. 00/12 doc: add tests and reimplement xmltoFelipe Contreras, Apr 13, 2023
  2. 01/12 doc: add test for doc tools outputFelipe Contreras, Apr 13, 2023
  3. 02/12 doc: add missing manpage docinfoFelipe Contreras, Apr 13, 2023
  4. 03/12 doc: remove unnecessary hack for asciidoctorFelipe Contreras, Apr 13, 2023
  5. 04/12 test: doc: add test for docbook5Felipe Contreras, Apr 13, 2023
  6. 05/12 doc: fix support for multiple docbook backendsFelipe Contreras, Apr 13, 2023
  7. 06/12 doc: add gen-stylesheet helperFelipe Contreras, Apr 13, 2023
  8. 07/12 doc: get rid of xmlto dependencyFelipe Contreras, Apr 13, 2023
  9. 08/12 test: doc: use temporary stylesheetFelipe Contreras, Apr 13, 2023
  10. 09/12 doc: remove references to xmltoFelipe Contreras, Apr 13, 2023
  11. 10/12 doc: stylesheet: move all the xslt templatesFelipe Contreras, Apr 13, 2023
  12. 11/12 test: doc: add check for calloutsFelipe Contreras, Apr 13, 2023
  13. 12/12 doc: manpage: remove callout hackFelipe Contreras, Apr 13, 2023

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.