bind9/doc/man
Petr Špaček bbb24264bb
Use unique program + option names for link anchors to support Sphinx 1.8.5
Sphinx "standard domain" provides directive types ".. program::" and
".. option::" to create link anchor for a program name + option combination.
These can be referenced using :ref:`program option` syntax.

The problem is that Sphinx 1.8.5 (e.g. in Ubuntu 18.04) generates
conflicting link targets if a page contains two option directives
starting with the same word, e.g.:

.. program:: dnssec-settime
.. option:: -P date
.. option:: -P ds date

The reason is that option directive consumes only first word as "option
name" (-P) and all the rest is considered "option argument" (date, ds
date). Newer versions of Sphinx (e.g. 4.5.0) handle this by creating
numbered link anchors, but older versions warn and BIND build system
turns the warning into a hard error.

To handle that we use method recommended by Sphinx maintainer:
https://github.com/sphinx-doc/sphinx/issues/10218#issuecomment-1059925508
As a bonus it provides more accurate link anchors for sub-options.

Alternatives considered:
- Replacing standard domain definition of .. option - causes more
  problems, see BIND issue #3294.
- Removing hyperlinks for options - that would be a step back.

Fixes: #3295
2022-04-25 14:27:34 +02:00
..
.gitignore Convert the documentation to Sphinx documentation format 2020-05-07 16:02:56 +02:00
arpaname.1in Update copyrights to 2022 2022-01-03 10:53:28 +01:00
arpaname.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
conf.py Introduce new Sphinx role iscman for ISC manual pages 2022-03-14 10:46:36 +01:00
ddns-confgen.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
ddns-confgen.rst Split out ddns-confgen and tsig-keygen man pages 2022-03-10 20:13:22 +01:00
delv.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
delv.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dig.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dig.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-cds.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnssec-cds.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-dsfromkey.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnssec-dsfromkey.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-importkey.1in Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:27:34 +02:00
dnssec-importkey.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-keyfromlabel.1in Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:27:34 +02:00
dnssec-keyfromlabel.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-keygen.1in Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:27:34 +02:00
dnssec-keygen.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-revoke.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnssec-revoke.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-settime.1in Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:27:34 +02:00
dnssec-settime.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-signzone.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnssec-signzone.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnssec-verify.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnssec-verify.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dnstap-read.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
dnstap-read.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
filter-a.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
filter-a.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
filter-aaaa.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
filter-aaaa.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
host.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
host.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
index.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
Makefile.am Fix docs build from tarball broken by MR !5254 2022-03-11 10:54:39 +01:00
mdig.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
mdig.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named-checkconf.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-checkconf.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named-checkzone.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-checkzone.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named-compilezone.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-compilezone.rst Split out named-compilezone and named-checkzone man pages 2022-03-10 20:13:22 +01:00
named-journalprint.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-journalprint.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named-nzd2nzf.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-nzd2nzf.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named-rrchecker.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named-rrchecker.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named.conf.5in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
named.conf.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
named.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nsec3hash.1in Denote all command line options using semantic markup (.. option::) 2022-03-14 10:46:32 +01:00
nsec3hash.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nslookup.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
nslookup.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nsupdate.1in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
nsupdate.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rndc-confgen.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
rndc-confgen.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rndc.8in Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:27:34 +02:00
rndc.conf.5in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
rndc.conf.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rndc.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tsig-keygen.8in Regenerate man pages with Sphinx 4.5.0 2022-04-22 13:05:10 +02:00
tsig-keygen.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00