Hi, A question by Justin made me wonder what the right behaviour for world, install-world should be when the docs tools aren't available. I'm wondering from the angle of meson, but it also seems something we possibly should think about for autoconf.
Right now if one does install-world with autoconf, without having xmllint or xsltproc available, one gets an error: ERROR: `xmllint' is missing on your system. Is that good? Should meson behave the same? I wonder if, for meson, the best behaviour would be to make 'docs' a feature set to auto. If docs set to enabled, and the necessary tools are not available, fail at that time, instead of doing so while building. If that's what we decide to do, perhaps "docs" should be split further? The dependencies for pdf generation are a lot more heavyweight. We should probably also generate a useful error when the stylesheets aren't available. Right now we just generate a long error: /usr/bin/xsltproc --nonet --path . --stringparam pg.version '16devel' /home/andres/src/postgresql/doc/src/sgml/stylesheet.xsl postgres-full.xml I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl" compilation error: file /home/andres/src/postgresql/doc/src/sgml/stylesheet.xsl line 6 element import xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/common/entities.ent /home/andres/src/postgresql/doc/src/sgml/stylesheet-html-common.xsl:4: warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/common/entities.ent" %common.entities; ^ /home/andres/src/postgresql/doc/src/sgml/stylesheet-html-common.xsl:116: parser error : Entity 'primary' not defined translate(substring(&primary;, 1, 1), ... Greetings, Andres Freund [1] https://www.postgresql.org/message-id/20230325180310.o6drykb3uz4u4x4r%40awork3.anarazel.de