1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

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
This commit is contained in:
Tom Lane
2020-11-30 15:24:13 -05:00
parent 16a1e1ea4f
commit ef1a785fa4
5 changed files with 87 additions and 148 deletions

View File

@ -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.2... 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>