From: Peter Maydell <peter.maydell@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [PATCH 01/18] qemu-doc: convert user-mode emulation to a separate Sphinx manual
Date: Thu, 27 Feb 2020 11:07:37 +0000 [thread overview]
Message-ID: <CAFEAcA-Qf_rC-EFNvmiFZtF1hhipL4qcPt8iOeK9pjAwOsPC2w@mail.gmail.com> (raw)
In-Reply-To: <20200226113034.6741-2-pbonzini@redhat.com>
On Wed, 26 Feb 2020 at 11:30, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The final addition to the set of QEMU manuals is the user-mode emulation
> manual, which right now is included in qemu-doc.texi. Extract it and
> convert it to rST, so that qemu-doc.texi covers only full system emulation.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
I'm going to wade in and start making review comments, but
I'm happy to just take on this series and clean it up myself
for a v2 (I'd like to quickly get to a base where I can start
on dealing with the last bits of qemu-doc conversion that
deal with hxtool.)
Did you do the conversion to rST automatically? If so then
it would be useful to give the runes used in the commit message.
> ---
> Makefile | 8 +-
> docs/user/conf.py | 18 +++
> docs/user/index.rst | 16 +++
> docs/user/main.rst | 295 ++++++++++++++++++++++++++++++++++++++
> qemu-doc.texi | 337 --------------------------------------------
> 5 files changed, 336 insertions(+), 338 deletions(-)
> create mode 100644 docs/user/conf.py
> create mode 100644 docs/user/index.rst
> create mode 100644 docs/user/main.rst
A new manual also needs to be added to docs/index.html.in
and to docs/index.rst.
(Compare 0928523a1230a69 which added the system manual.)
>
> diff --git a/Makefile b/Makefile
> index 15f8e53d05..73d8ed2b6a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -786,6 +786,7 @@ distclean: clean
> $(call clean-manual,interop)
> $(call clean-manual,specs)
> $(call clean-manual,system)
> + $(call clean-manual,user)
This doesn't apply to current master because of the addition
of the 'tools' manual, but the fixes to the conflicts are easy.
> for d in $(TARGET_DIRS); do \
> rm -rf $$d || exit 1 ; \
> done
> @@ -843,6 +844,7 @@ install-sphinxdocs: sphinxdocs
> $(call install-manual,interop)
> $(call install-manual,specs)
> $(call install-manual,system)
> + $(call install-manual,user)
>
> install-doc: $(DOCS) install-sphinxdocs
> $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
> @@ -1036,7 +1038,8 @@ docs/version.texi: $(SRC_PATH)/VERSION config-host.mak
> sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \
> $(MANUAL_BUILDDIR)/interop/index.html \
> $(MANUAL_BUILDDIR)/specs/index.html \
> - $(MANUAL_BUILDDIR)/system/index.html
> + $(MANUAL_BUILDDIR)/system/index.html \
> + $(MANUAL_BUILDDIR)/user/index.html
>
> # Canned command to build a single manual
> # Arguments: $1 = manual name, $2 = Sphinx builder ('html' or 'man')
> @@ -1069,6 +1072,9 @@ $(MANUAL_BUILDDIR)/specs/index.html: $(call manual-deps,specs)
> $(MANUAL_BUILDDIR)/system/index.html: $(call manual-deps,system)
> $(call build-manual,system,html)
>
> +$(MANUAL_BUILDDIR)/user/index.html: $(call manual-deps,user)
> + $(call build-manual,user,html)
> +
> $(call define-manpage-rule,interop,\
> qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1\
> virtiofsd.1 virtfs-proxy-helper.1,\
> diff --git a/docs/user/conf.py b/docs/user/conf.py
> new file mode 100644
> index 0000000000..b3e1b2318a
> --- /dev/null
> +++ b/docs/user/conf.py
> @@ -0,0 +1,18 @@
> +# -*- coding: utf-8 -*-
> +#
> +# QEMU documentation build configuration file for the 'system' manual.
Should say 'user'.
> +#
> +# This includes the top level conf file and then makes any necessary tweaks.
> +import sys
> +import os
> +
> +qemu_docdir = os.path.abspath("..")
> +parent_config = os.path.join(qemu_docdir, "conf.py")
> +exec(compile(open(parent_config, "rb").read(), parent_config, 'exec'))
> +
> +# This slightly misuses the 'description', but is the best way to get
> +# the manual title to appear in the sidebar.
> +html_theme_options['description'] = u'User Mode Emulation User''s Guide'
> +# One entry per manual page. List of tuples
> +# (source start file, name, description, authors, manual section).
> +man_pages = []
You can just not specify man_pages at all if the manual
doesn't create any manpages (devel and specs are like this):
docs/conf.py sets it to [] by default.
> diff --git a/docs/user/index.rst b/docs/user/index.rst
> new file mode 100644
> index 0000000000..c81d2898cd
> --- /dev/null
> +++ b/docs/user/index.rst
> @@ -0,0 +1,16 @@
> +.. This is the top level page for the 'system' manual.
Should say 'user'.
> +
> +
> +QEMU User Mode Emulation User's Guide
> +=====================================
> +
> +This manual is the overall guide for users using QEMU
> +for user-mode emulation. In this mode, QEMU can launch
> +processes compiled for one CPU on another CPU.
> +
> +Contents:
> +
> +.. toctree::
> + :maxdepth: 2
> +
> + main
The top level document looks a bit odd with this toctree
which has a single level 1 entry whose title is basically
the same as the whole manual's title, but it gives us a
structure we can expand later I guess.
thanks
-- PMM
next prev parent reply other threads:[~2020-02-27 11:08 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-26 11:30 [PATCH v2 00/18] qemu-doc reorganization and Sphinx version Paolo Bonzini
2020-02-26 11:30 ` [PATCH 01/18] qemu-doc: convert user-mode emulation to a separate Sphinx manual Paolo Bonzini
2020-02-27 11:07 ` Peter Maydell [this message]
2020-02-27 13:08 ` Paolo Bonzini
2020-02-26 11:30 ` [PATCH 02/18] qemu-doc: remove target OS documentation Paolo Bonzini
2020-02-26 11:30 ` [PATCH 03/18] texi2pod: parse @include directives outside "@c man" blocks Paolo Bonzini
2020-02-27 11:13 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 04/18] qemu-doc: split CPU models doc between MIPS and x86 parts Paolo Bonzini
2020-02-27 11:29 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 05/18] qemu-doc: split qemu-doc.texi in multiple files Paolo Bonzini
2020-02-27 11:38 ` Peter Maydell
2020-02-27 13:09 ` Paolo Bonzini
2020-02-26 11:30 ` [PATCH 06/18] qemu-doc: extract common system emulator documentation from the PC section Paolo Bonzini
2020-02-27 11:41 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 07/18] qemu-doc: move system requirements chapter inside " Paolo Bonzini
2020-02-27 11:42 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 08/18] qemu-doc: split target sections to separate files Paolo Bonzini
2020-02-27 11:45 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 09/18] qemu-doc: Remove the "CPU emulation" part of the "Implementation notes" Paolo Bonzini
2020-02-26 11:30 ` [PATCH 10/18] qemu-doc: move qemu-tech.texi into main section Paolo Bonzini
2020-02-27 11:47 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 11/18] qemu-doc: move included files to docs/system Paolo Bonzini
2020-02-27 11:50 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 12/18] qemu-doc: remove indices other than findex Paolo Bonzini
2020-02-27 11:50 ` Peter Maydell
2020-02-26 11:30 ` [PATCH 13/18] docs/system: put qemu-block-drivers body in an included file Paolo Bonzini
2020-02-27 11:58 ` Peter Maydell
2020-02-27 13:14 ` Paolo Bonzini
2020-02-27 13:28 ` Daniel P. Berrangé
2020-02-26 11:30 ` [PATCH 14/18] docs/system: Convert qemu-cpu-models.texi to rST Paolo Bonzini
2020-02-27 12:10 ` Peter Maydell
2020-02-27 12:37 ` Kashyap Chamarthy
2020-02-27 14:19 ` Kashyap Chamarthy
2020-02-27 13:16 ` Paolo Bonzini
2020-02-27 14:01 ` Peter Maydell
2020-02-27 14:54 ` Paolo Bonzini
2020-02-26 11:30 ` [PATCH 15/18] docs/system: Convert security.texi to rST format Paolo Bonzini
2020-02-26 11:30 ` [PATCH 16/18] docs/system: convert managed startup to rST Paolo Bonzini
2020-02-26 11:30 ` [PATCH 17/18] docs/system: convert the documentation of deprecated features " Paolo Bonzini
2020-02-26 11:30 ` [PATCH 18/18] docs/system: convert Texinfo documentation " Paolo Bonzini
2020-02-27 12:26 ` Peter Maydell
2020-02-27 13:18 ` Paolo Bonzini
2020-02-27 15:04 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAFEAcA-Qf_rC-EFNvmiFZtF1hhipL4qcPt8iOeK9pjAwOsPC2w@mail.gmail.com \
--to=peter.maydell@linaro.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).