aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-11-30 15:24:13 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2020-11-30 15:24:13 -0500
commit4823c4f6ac770ebd49b63b0ce64ecfe82987af57 (patch)
treec5d54937299eb65fd33b6944f48a18f3aa042ab9 /doc/src
parent275b3411d9189b3974687766db06727d64d22979 (diff)
downloadpostgresql-4823c4f6ac770ebd49b63b0ce64ecfe82987af57.tar.gz
postgresql-4823c4f6ac770ebd49b63b0ce64ecfe82987af57.zip
Remove configure-time probe for DocBook DTD.
Checking for DocBook being installed was valuable when we were on the OpenSP docs toolchain, because that was rather hard to get installed fully. Nowadays, as long as you have xmllint and xsltproc installed, you're good, because those programs will fetch the DocBook files off the net at need. Moreover, testing this at configure time means that a network access may well occur whether or not you have any interest in building the docs later. That can be slow (typically 2 or 3 seconds, though much higher delays have been reported), and it seems not very nice to be doing an off-machine access without warning, too. Hence, drop the PGAC_CHECK_DOCBOOK probe, and adjust related documentation. Without that macro, there's not much left of config/docbook.m4 at all, so I just removed it. Back-patch to v11, where we started to use xmllint in the PGAC_CHECK_DOCBOOK probe. Discussion: https://postgr.es/m/E2EE6B76-2D96-408A-B961-CAE47D1A86F0@yesql.se Discussion: https://postgr.es/m/A55A7FC9-FA60-47FE-98B5-139CDC57CE6E@gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/docguide.sgml38
1 files changed, 28 insertions, 10 deletions
diff --git a/doc/src/sgml/docguide.sgml b/doc/src/sgml/docguide.sgml
index 17d36e91452..05dd9a8b44e 100644
--- a/doc/src/sgml/docguide.sgml
+++ b/doc/src/sgml/docguide.sgml
@@ -155,10 +155,12 @@
You can get away with not installing DocBook XML and the DocBook XSLT
stylesheets locally, because the required files will be downloaded from the
Internet and cached locally. This may in fact be the preferred solution if
- your operating system packages provide only an old version of especially
- the stylesheets or if no packages are available at all. See
- the <option>--nonet</option> option for <command>xmllint</command>
- and <command>xsltproc</command> for more information.
+ your operating system packages provide only an old version of these files,
+ or if no packages are available at all.
+ If you want to prevent any attempt to access the Internet while building
+ the documentation, you need to pass the <option>--nonet</option> option
+ to <command>xmllint</command> and <command>xsltproc</command>; see below
+ for an example.
</para>
<sect2>
@@ -228,21 +230,37 @@ brew install docbook docbook-xsl fop
<para>
Before you can build the documentation you need to run the
- <filename>configure</filename> script as you would when building
+ <filename>configure</filename> script, as you would when building
the <productname>PostgreSQL</productname> programs themselves.
- Check the output near the end of the run, it should look something
+ Check the output near the end of the run; it should look something
like this:
<screen>
checking for xmllint... xmllint
-checking for DocBook XML V4.5... yes
-checking for dbtoepub... dbtoepub
checking for xsltproc... xsltproc
checking for fop... fop
+checking for dbtoepub... dbtoepub
</screen>
- If <filename>xmllint</filename> was not found then some of the following
- tests will be skipped.
+ If <filename>xmllint</filename> or <filename>xsltproc</filename> is not
+ found, you will not be able to build any of the documentation.
+ <filename>fop</filename> is only needed to build the documentation in
+ PDF format.
+ <filename>dbtoepub</filename> is only needed to build the documentation
+ in EPUB format.
</para>
+ <para>
+ If necessary, you can tell <filename>configure</filename> where to find
+ these programs, for example
+<screen>
+./configure ... XMLLINT=/opt/local/bin/xmllint ...
+</screen>
+ Also, if you want to ensure that <filename>xmllint</filename>
+ and <filename>xsltproc</filename> will not perform any network access,
+ you can do something like
+<screen>
+./configure ... XMLLINT="xmllint --nonet" XSLTPROC="xsltproc --nonet" ...
+</screen>
+ </para>
</sect2>
</sect1>