Message ID | 20230126112250.2584701-1-alex.bennee@linaro.org |
---|---|
State | New |
Headers | show |
On Thu, 26 Jan 2023 at 11:22, Alex Bennée <alex.bennee@linaro.org> wrote: > > The following changes since commit 13356edb87506c148b163b8c7eb0695647d00c2a: > > Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2023-01-24 09:45:33 +0000) > > are available in the Git repository at: > > https://gitlab.com/stsquad/qemu.git tags/pull-jan-omnibus-260123-1 > > for you to fetch changes up to d200653282f50df2a994a0609f88baa6a5889f80: > > plugins: Iterate on cb_lists in qemu_plugin_user_exit (2023-01-26 11:12:01 +0000) > > ---------------------------------------------------------------- > Testing, docs, semihosting and plugin updates > > - update playbooks for custom runners > - add section timing support to gitlab > - upgrade fedora images to 37 > - purge perl from the build system and deps > - disable unstable tests in CI > - improve intro, emulation and semihosting docs > - semihosting bug fix and O_BINARY default > - add memory-sve test > - fix some races in qht > - improve plugin handling of memory helpers > - optimise plugin hooks > - fix some plugin deadlocks > Hi; this fails the docs build on macos 12 (probably a difference in behaviour across Sphinx versions): https://gitlab.com/qemu-project/qemu/-/jobs/3697858012 FAILED: docs/docs.stamp /usr/bin/env CONFDIR=etc/qemu /opt/homebrew/bin/sphinx-build -q -W -Dversion=7.2.50 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_stamp=docs/docs.stamp -b html -d /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/build/docs/manual.p /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/docs /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/build/docs/manual Warning, treated as error: /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/qemu-options.hx:161:duplicate label machine options, other instance in /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/docs/system/invocation.rst I think this is "you can't put labels in qemu-options.hx, because it gets included in two .rst files (invocation.rst and qemu-manpage.rst), and Sphinx complains about the duplicate labels, even though one of the two files is only used in the HTML and one is only used in the manpages". thanks -- PMM
Peter Maydell <peter.maydell@linaro.org> writes: > On Thu, 26 Jan 2023 at 11:22, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> The following changes since commit 13356edb87506c148b163b8c7eb0695647d00c2a: >> >> Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu >> into staging (2023-01-24 09:45:33 +0000) >> >> are available in the Git repository at: >> >> https://gitlab.com/stsquad/qemu.git tags/pull-jan-omnibus-260123-1 >> >> for you to fetch changes up to d200653282f50df2a994a0609f88baa6a5889f80: >> >> plugins: Iterate on cb_lists in qemu_plugin_user_exit (2023-01-26 11:12:01 +0000) >> >> ---------------------------------------------------------------- >> Testing, docs, semihosting and plugin updates >> >> - update playbooks for custom runners >> - add section timing support to gitlab >> - upgrade fedora images to 37 >> - purge perl from the build system and deps >> - disable unstable tests in CI >> - improve intro, emulation and semihosting docs >> - semihosting bug fix and O_BINARY default >> - add memory-sve test >> - fix some races in qht >> - improve plugin handling of memory helpers >> - optimise plugin hooks >> - fix some plugin deadlocks >> > > Hi; this fails the docs build on macos 12 (probably a difference > in behaviour across Sphinx versions): > https://gitlab.com/qemu-project/qemu/-/jobs/3697858012 > > FAILED: docs/docs.stamp > /usr/bin/env CONFDIR=etc/qemu /opt/homebrew/bin/sphinx-build -q -W > -Dversion=7.2.50 -Drelease= -Ddepfile=docs/docs.d > -Ddepfile_stamp=docs/docs.stamp -b html -d > /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/build/docs/manual.p > /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/docs > /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/build/docs/manual > Warning, treated as error: > /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/qemu-options.hx:161:duplicate > label machine options, other instance in > /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cirrus-ci-build/docs/system/invocation.rst > > I think this is "you can't put labels in qemu-options.hx, > because it gets included in two .rst files (invocation.rst > and qemu-manpage.rst), and Sphinx complains about the > duplicate labels, even though one of the two files is > only used in the HTML and one is only used in the manpages". Oh boo - anyway to work around that because they are helpful links?
On Wed, 1 Feb 2023 at 18:07, Alex Bennée <alex.bennee@linaro.org> wrote: > Peter Maydell <peter.maydell@linaro.org> writes: > > I think this is "you can't put labels in qemu-options.hx, > > because it gets included in two .rst files (invocation.rst > > and qemu-manpage.rst), and Sphinx complains about the > > duplicate labels, even though one of the two files is > > only used in the HTML and one is only used in the manpages". > > Oh boo - anyway to work around that because they are helpful links? Nothing easy. The problem is that Sphinx looks at every .rst file in the source directory, regardless of whether it's reachable from the document you specify as the root of the manual or not. So both lots of .rst files get processed for both the HTML manual set and the manpages, even though they don't need to be[*]. This is a long-standing design deficiency in Sphinx. The only thing I could think of was splitting the manpages and html docs entirely into separate subdirectories, and having meson symlink the files which are actually shared between them. But that seems like quite a lot of extra machinery. [*] This shows up for instance in the HTML docs getting a not-linked-to-from-anywhere HTML version of the qemu(1) manpage: https://www.qemu.org/docs/master/system/qemu-manpage.html -- PMM
Peter Maydell <peter.maydell@linaro.org> writes: > On Wed, 1 Feb 2023 at 18:07, Alex Bennée <alex.bennee@linaro.org> wrote: >> Peter Maydell <peter.maydell@linaro.org> writes: >> > I think this is "you can't put labels in qemu-options.hx, >> > because it gets included in two .rst files (invocation.rst >> > and qemu-manpage.rst), and Sphinx complains about the >> > duplicate labels, even though one of the two files is >> > only used in the HTML and one is only used in the manpages". >> >> Oh boo - anyway to work around that because they are helpful links? > > Nothing easy. The problem is that Sphinx looks at every .rst > file in the source directory, regardless of whether it's > reachable from the document you specify as the root of the > manual or not. So both lots of .rst files get processed > for both the HTML manual set and the manpages, even though > they don't need to be[*]. This is a long-standing design > deficiency in Sphinx. The only thing I could think of was > splitting the manpages and html docs entirely into separate > subdirectories, and having meson symlink the files which are > actually shared between them. But that seems like quite a lot > of extra machinery. OK I've scrubbed the back links and sent v2 (which also reduces the buildtime of cross-win64-system which kept tripping). > > [*] This shows up for instance in the HTML docs getting a > not-linked-to-from-anywhere HTML version of the qemu(1) manpage: > https://www.qemu.org/docs/master/system/qemu-manpage.html > > -- PMM