bind9/bin/dnssec
Petr Špaček 355aebc6df
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
(cherry picked from commit bbb24264bb)
2022-04-25 14:46:37 +02:00
..
.gitignore [master] dnssec-cds 2017-10-05 01:04:18 -07:00
dnssec-cds.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
dnssec-cds.rst Add internal hyperlinks to See Also section of manual pages 2022-03-14 11:01:32 +01:00
dnssec-dsfromkey.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-dsfromkey.rst Add internal hyperlinks to See Also section of manual pages 2022-03-14 11:01:32 +01:00
dnssec-importkey.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-importkey.rst Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:46:37 +02:00
dnssec-keyfromlabel.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-keyfromlabel.rst Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:46:37 +02:00
dnssec-keygen.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-keygen.rst Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:46:37 +02:00
dnssec-revoke.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-revoke.rst Add internal hyperlinks to See Also section of manual pages 2022-03-14 11:01:32 +01:00
dnssec-settime.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-settime.rst Use unique program + option names for link anchors to support Sphinx 1.8.5 2022-04-25 14:46:37 +02:00
dnssec-signzone.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
dnssec-signzone.rst Add internal hyperlinks to See Also section of manual pages 2022-03-14 11:01:32 +01:00
dnssec-verify.c Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
dnssec-verify.rst Add internal hyperlinks to See Also section of manual pages 2022-03-14 11:01:32 +01:00
dnssectool.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
dnssectool.h Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:42:18 +01:00
Makefile.am Move the include Makefile.tests to the bottom of Makefile.am(s) 2021-06-24 15:33:52 +02:00