docs/interop: Convert qemu-qmp-ref to rST

Convert qemu-qmp-ref to rST format. This includes dropping
the plain-text, pdf and info format outputs for this document;
as with all our other Sphinx-based documentation, we provide
HTML and manpage only.

The qemu-qmp-ref.rst is somewhat more stripped down than
the .texi was, because we do not (currently) attempt to
generate indexes for the commands, events and data types
being documented.

Again, we drop the direct link from index.html.in now that
the QMP ref is part of the interop manual.

This commit removes the code from the root meson.build file that
handled the various Texinfo-based outputs, because we no longer
generate any documentation except for the Sphinx HTML manuals and the
manpages, and the code can't handle having an empty list of files
to process.. We'll do further cleanup of the remainders of
Texinfo support in subsequent commits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20200925162316.21205-10-peter.maydell@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Unicode legacy literal dumbed down to plain string literal, TODO
comment on displaying QEMU version added, "make html" fixed,
storage-daemon/qapi/meson.build updated]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Peter Maydell 2020-09-25 17:23:04 +01:00 committed by Markus Armbruster
parent db16115f87
commit 4ac2ee194b
10 changed files with 21 additions and 168 deletions

View File

@ -280,7 +280,7 @@ endif
$(call print-help,vm-help,Help about targets running tests inside VM)
@echo ''
@echo 'Documentation targets:'
$(call print-help,html info pdf txt man,Build documentation in specified format)
$(call print-help,html man,Build documentation in specified format)
@echo ''
ifdef CONFIG_WIN32
@echo 'Windows targets:'

View File

@ -12,7 +12,6 @@
<li><a href="tools/index.html">Tools Guide</a></li>
<li><a href="interop/index.html">System Emulation Management and Interoperability Guide</a></li>
<li><a href="specs/index.html">System Emulation Guest Hardware Specifications</a></li>
<li><a href="interop/qemu-qmp-ref.html">QMP Reference Manual</a></li>
</ul>
</body>
</html>

View File

@ -21,4 +21,6 @@ man_pages = [
['Michael Roth <mdroth@linux.vnet.ibm.com>'], 8),
('qemu-ga-ref', 'qemu-ga-ref', 'QEMU Guest Agent Protocol Reference',
[], 7),
('qemu-qmp-ref', 'qemu-qmp-ref', 'QEMU QMP Reference Manual',
[], 7),
]

View File

@ -19,6 +19,7 @@ Contents:
pr-helper
qemu-ga
qemu-ga-ref
qemu-qmp-ref
vhost-user
vhost-user-gpu
vhost-vdpa

View File

@ -0,0 +1,13 @@
QEMU QMP Reference Manual
=========================
..
TODO: the old Texinfo manual used to note that this manual
is GPL-v2-or-later. We should make that reader-visible
both here and in our Sphinx manuals more generally.
..
TODO: display the QEMU version, both here and in our Sphinx manuals
more generally.
.. qapi-doc:: qapi/qapi-schema.json

View File

@ -1,80 +0,0 @@
\input texinfo
@setfilename qemu-qmp-ref.info
@include version.texi
@exampleindent 0
@paragraphindent 0
@settitle QEMU QMP Reference Manual
@iftex
@center @image{docs/qemu_logo}
@end iftex
@copying
This is the QEMU QMP reference manual.
Copyright @copyright{} 2016 The QEMU Project developers
@quotation
This manual is free documentation: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 2 of the
License, or (at your option) any later version.
This manual is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this manual. If not, see http://www.gnu.org/licenses/.
@end quotation
@end copying
@dircategory QEMU
@direntry
* QEMU-QMP-Ref: (qemu-qmp-ref). QEMU QMP Reference Manual
@end direntry
@titlepage
@title QMP Reference Manual
@subtitle QEMU version @value{VERSION}
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@ifnottex
@node Top
@top QEMU QMP reference
@end ifnottex
@menu
* API Reference::
* Commands and Events Index::
* Data Types Index::
@end menu
@node API Reference
@chapter API Reference
@c for texi2pod:
@c man begin DESCRIPTION
@include qapi/qapi-doc.texi
@c man end
@node Commands and Events Index
@unnumbered Commands and Events Index
@printindex fn
@node Data Types Index
@unnumbered Data Types Index
@printindex tp
@bye

View File

@ -16,6 +16,7 @@ if build_docs
'interop' : {
'qemu-ga.8': (have_tools ? 'man8' : ''),
'qemu-ga-ref.7': 'man7',
'qemu-qmp-ref.7': 'man7',
},
'tools': {
'qemu-img.1': (have_tools ? 'man1' : ''),
@ -70,5 +71,6 @@ if build_docs
endif
endforeach
alias_target('sphinxdocs', sphinxdocs)
alias_target('html', sphinxdocs)
alias_target('man', sphinxmans)
endif

View File

@ -1204,88 +1204,6 @@ if 'CONFIG_GTK' in config_host
subdir('po')
endif
if build_docs
makeinfo = find_program('makeinfo', required: build_docs)
docs_inc = [
'-I', meson.current_source_dir(),
'-I', meson.current_build_dir() / 'docs',
'-I', '@OUTDIR@',
]
version_texi = configure_file(output: 'version.texi',
input: 'version.texi.in',
configuration: {'VERSION': meson.project_version(),
'qemu_confdir': config_host['qemu_confdir']})
texi = {
'qemu-qmp-ref': ['docs/interop/qemu-qmp-ref.texi', qapi_doc_texi, version_texi],
}
if makeinfo.found()
cmd = [
'env', 'LC_ALL=C', makeinfo, '--no-split', '--number-sections', docs_inc,
'@INPUT0@', '-o', '@OUTPUT@',
]
foreach ext, args: {
'info': [],
'html': ['--no-headers', '--html'],
'txt': ['--no-headers', '--plaintext'],
}
t = []
foreach doc, input: texi
output = doc + '.' + ext
t += custom_target(output,
input: input,
output: output,
install: true,
install_dir: qemu_docdir / 'interop',
command: cmd + args)
endforeach
alias_target(ext, t)
endforeach
endif
texi2pdf = find_program('texi2pdf', required: false)
if texi2pdf.found()
pdfs = []
foreach doc, input: texi
output = doc + '.pdf'
pdfs += custom_target(output,
input: input,
output: output,
command: [texi2pdf, '-q', docs_inc, '@INPUT0@', '-o', '@OUTPUT@'],
build_by_default: false)
endforeach
alias_target('pdf', pdfs)
endif
texi2pod = find_program('scripts/texi2pod.pl')
pod2man = find_program('pod2man', required: build_docs)
if pod2man.found()
foreach doc, input: texi
man = doc + '.7'
pod = custom_target(man + '.pod',
input: input,
output: man + '.pod',
command: [texi2pod,
'-DVERSION="' + meson.project_version() + '"',
'-DCONFDIR="' + config_host['qemu_confdir'] + '"',
'@INPUT0@', '@OUTPUT@'])
man = custom_target(man,
input: pod,
output: man,
capture: true,
install: true,
install_dir: get_option('mandir') / 'man7',
command: [pod2man, '--utf8', '--section=7', '--center=" "',
'--release=" "', '@INPUT@'])
endforeach
endif
endif
if host_machine.system() == 'windows'
nsis_cmd = [
find_program('scripts/nsis.py'),

View File

@ -99,7 +99,7 @@ foreach module : qapi_all_modules
endforeach
qapi_files = custom_target('shared QAPI source files',
output: qapi_util_outputs + qapi_specific_outputs + qapi_nonmodule_outputs + ['qapi-doc.texi'],
output: qapi_util_outputs + qapi_specific_outputs + qapi_nonmodule_outputs,
input: [ files('qapi-schema.json') ],
command: [ qapi_gen, '-o', 'qapi', '-b', '@INPUT0@' ],
depend_files: [ qapi_inputs, qapi_gen_depends ])
@ -123,5 +123,3 @@ foreach output : qapi_specific_outputs + qapi_nonmodule_outputs
specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: qapi_files[i])
i = i + 1
endforeach
qapi_doc_texi = qapi_files[i]

View File

@ -1,5 +1,5 @@
qsd_qapi_files = custom_target('QAPI files for qemu-storage-daemon',
output: qapi_nonmodule_outputs + ['qapi-doc.texi'],
output: qapi_nonmodule_outputs,
input: [ files('qapi-schema.json') ],
command: [ qapi_gen, '-o', 'storage-daemon/qapi', '@INPUT@' ],
depend_files: [ qapi_inputs, qapi_gen_depends ])