docs: Add license note to the HTML page footer

The standard Sphinx/RTD HTML page footer gives a copyright line
(based on the 'copyright' variable set in conf.py) and a line "Built
with Sphinx using a theme provided by Read the Docs" (which can be
disabled via the html_show_sphinx variable, but we leave it enabled).
As a free software project, we'd like to also mention the license
QEMU and its manual are released under.

Add a template footer.html which defines the 'extrafooter' block that
the RtD theme provides for this purpose.  The new line of text will
go below the existing copyright and sphinx-acknowledgement lines.
(Unfortunately the RTD footer template does not permit putting it
after the copyright but before the sphinx-acknowledgement.)

We use the templating functionality to make the new text also be a
hyperlink to the about/license.html page of the manual.

Unlike rst files, HTML template files are not reported to our depfile
plugin, so we maintain a manual list in meson.build.  New template
files should be rare, so not being able to auto-generate the
dependency info is not too awkward.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20210705095547.15790-7-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2021-07-05 10:55:46 +01:00
parent 4a43fa3af9
commit 13f934e79f
3 changed files with 15 additions and 1 deletions

View File

@ -3451,6 +3451,7 @@ S: Maintained
F: docs/conf.py
F: docs/*/conf.py
F: docs/sphinx/
F: docs/_templates/
Miscellaneous
-------------

12
docs/_templates/footer.html vendored Normal file
View File

@ -0,0 +1,12 @@
{% extends "!footer.html" %}
{% block extrafooter %}
<!-- Empty para to force a blank line after "Built with Sphinx ..." -->
<p></p>
{% trans path=pathto('about/license') %}
<p><a href="{{ path }}">QEMU and this manual are released under the
GNU General Public License, version 2.</a></p>
{% endtrans %}
{{ super() }}
{% endblock %}

View File

@ -44,6 +44,7 @@ if build_docs
meson.source_root() / 'docs/sphinx/qapidoc.py',
meson.source_root() / 'docs/sphinx/qmp_lexer.py',
qapi_gen_depends ]
sphinx_template_files = [ meson.source_root() / 'docs/_templates/footer.html' ]
have_ga = have_tools and config_host.has_key('CONFIG_GUEST_AGENT')
@ -76,7 +77,7 @@ if build_docs
output: 'docs.stamp',
input: files('conf.py'),
depfile: 'docs.d',
depend_files: sphinx_extn_depends,
depend_files: [ sphinx_extn_depends, sphinx_template_files ],
command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
'-Ddepfile_stamp=@OUTPUT0@',
'-b', 'html', '-d', private_dir,