docs/sphinx/qapidoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
In commit e2bbc4eaa7f0 we changed the QAPI modules to name the built-in
module "./builtin" rather than None, but forgot to update the Sphinx
plugin. The effect of this was that when the plugin generated a dependency
file it was including a bogus dependency on a non-existent file named
"builtin", which meant that ninja would run Sphinx and rebuild all
the documentation every time even if nothing had changed.
Update the plugin to use the new name of the builtin module.
Fixes: e2bbc4eaa7f0
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
docs/sphinx/qapidoc.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py
index e03abcbb959..b7b86b5dffb 100644
--- a/docs/sphinx/qapidoc.py
+++ b/docs/sphinx/qapidoc.py
@@ -464,7 +464,7 @@ class QAPISchemaGenDepVisitor(QAPISchemaVisitor):
self._qapidir = qapidir
def visit_module(self, name):
- if name is not None:
+ if name != "./builtin":
qapifile = self._qapidir + '/' + name
self._env.note_dependency(os.path.abspath(qapifile))
super().visit_module(name)
--
2.20.1
On 12/02/21 17:13, Peter Maydell wrote: > In commit e2bbc4eaa7f0 we changed the QAPI modules to name the built-in > module "./builtin" rather than None, but forgot to update the Sphinx > plugin. The effect of this was that when the plugin generated a dependency > file it was including a bogus dependency on a non-existent file named > "builtin", which meant that ninja would run Sphinx and rebuild all > the documentation every time even if nothing had changed. > > Update the plugin to use the new name of the builtin module. > > Fixes: e2bbc4eaa7f0 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > docs/sphinx/qapidoc.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index e03abcbb959..b7b86b5dffb 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -464,7 +464,7 @@ class QAPISchemaGenDepVisitor(QAPISchemaVisitor): > self._qapidir = qapidir > > def visit_module(self, name): > - if name is not None: > + if name != "./builtin": > qapifile = self._qapidir + '/' + name > self._env.note_dependency(os.path.abspath(qapifile)) > super().visit_module(name) > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
On 2/12/21 10:13 AM, Peter Maydell wrote: > In commit e2bbc4eaa7f0 we changed the QAPI modules to name the built-in > module "./builtin" rather than None, but forgot to update the Sphinx > plugin. The effect of this was that when the plugin generated a dependency > file it was including a bogus dependency on a non-existent file named > "builtin", which meant that ninja would run Sphinx and rebuild all > the documentation every time even if nothing had changed. > > Update the plugin to use the new name of the builtin module. > > Fixes: e2bbc4eaa7f0 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > docs/sphinx/qapidoc.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Tested-by: Eric Blake <eblake@redhat.com> (I had wondered why my builds were taking so much longer lately...) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index e03abcbb959..b7b86b5dffb 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -464,7 +464,7 @@ class QAPISchemaGenDepVisitor(QAPISchemaVisitor): > self._qapidir = qapidir > > def visit_module(self, name): > - if name is not None: > + if name != "./builtin": > qapifile = self._qapidir + '/' + name > self._env.note_dependency(os.path.abspath(qapifile)) > super().visit_module(name) > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
On 2/12/21 11:13 AM, Peter Maydell wrote: > In commit e2bbc4eaa7f0 we changed the QAPI modules to name the built-in > module "./builtin" rather than None, but forgot to update the Sphinx > plugin. The effect of this was that when the plugin generated a dependency > file it was including a bogus dependency on a non-existent file named > "builtin", which meant that ninja would run Sphinx and rebuild all > the documentation every time even if nothing had changed. > > Update the plugin to use the new name of the builtin module. > > Fixes: e2bbc4eaa7f0 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > docs/sphinx/qapidoc.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index e03abcbb959..b7b86b5dffb 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -464,7 +464,7 @@ class QAPISchemaGenDepVisitor(QAPISchemaVisitor): > self._qapidir = qapidir > > def visit_module(self, name): > - if name is not None: > + if name != "./builtin": > qapifile = self._qapidir + '/' + name > self._env.note_dependency(os.path.abspath(qapifile)) > super().visit_module(name) > Reviewed-by: John Snow <jsnow@redhat.com>
On Fri, 12 Feb 2021 at 16:13, Peter Maydell <peter.maydell@linaro.org> wrote: > > In commit e2bbc4eaa7f0 we changed the QAPI modules to name the built-in > module "./builtin" rather than None, but forgot to update the Sphinx > plugin. The effect of this was that when the plugin generated a dependency > file it was including a bogus dependency on a non-existent file named > "builtin", which meant that ninja would run Sphinx and rebuild all > the documentation every time even if nothing had changed. > > Update the plugin to use the new name of the builtin module. > > Fixes: e2bbc4eaa7f0 > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > docs/sphinx/qapidoc.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to master so we can all stop wasting CPU cycles rebuilding the documentation :-) thanks -- PMM
© 2016 - 2025 Red Hat, Inc.