Message ID | 20230227175524.710880-4-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | [PULL,01/13] target/i386: Fix BZHI instruction | expand |
On Mon, 27 Feb 2023 at 17:58, Paolo Bonzini <pbonzini@redhat.com> wrote: > > From: John Snow <jsnow@redhat.com> > > Once upon a time, "sphinx-build" on certain RPM platforms invoked > specifically a Python 2.x version, while "sphinx-build-3" was a distro > shim for the Python 3.x version. > > These days, none of our supported platforms utilize a 2.x version, and > those that still have 'sphinx-build-3' make it a symbolic link to > 'sphinx-build'. Not searching for 'sphinx-build-3' will prefer > pip/venv installed versions of sphinx if they're available. > > This adds an extremely convenient ability to test document building > ability in QEMU across multiple versions of Sphinx for the purposes of > compatibility testing. > > Signed-off-by: John Snow <jsnow@redhat.com> > Message-Id: <20230221012456.2607692-6-jsnow@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Hi. I've just noticed that this breaks incremental rebuilds: meson.log says: [Errno 21] Is a directory: '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/docs/' Unusable script '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/docs/' Program found: NO ../../docs/meson.build:1:0: ERROR: Program '' not found or not executable > docs/meson.build | 9 ++------- > meson_options.txt | 2 +- > scripts/meson-buildoptions.sh | 1 + > 3 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/docs/meson.build b/docs/meson.build > index bbcdccce68a8..bb72c10ea8c5 100644 > --- a/docs/meson.build > +++ b/docs/meson.build > @@ -1,10 +1,5 @@ > -if get_option('sphinx_build') == '' > - sphinx_build = find_program(['sphinx-build-3', 'sphinx-build'], > - required: get_option('docs')) > -else > - sphinx_build = find_program(get_option('sphinx_build'), > - required: get_option('docs')) > -endif > +sphinx_build = find_program(get_option('sphinx_build'), > + required: get_option('docs')) > > # Check if tools are available to build documentation. > build_docs = false > diff --git a/meson_options.txt b/meson_options.txt > index 6b0900205ea7..fc9447d267bf 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -12,7 +12,7 @@ option('pkgversion', type : 'string', value : '', > description: 'use specified string as sub-version of the package') > option('smbd', type : 'string', value : '', > description: 'Path to smbd for slirp networking') > -option('sphinx_build', type : 'string', value : '', > +option('sphinx_build', type : 'string', value : 'sphinx-build', > description: 'Use specified sphinx-build for building document') > option('iasl', type : 'string', value : '', > description: 'Path to ACPI disassembler') > diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh > index 5d969a94c08e..009fab151571 100644 > --- a/scripts/meson-buildoptions.sh > +++ b/scripts/meson-buildoptions.sh > @@ -55,6 +55,7 @@ meson_options_help() { > printf "%s\n" ' --localstatedir=VALUE Localstate data directory [/var/local]' > printf "%s\n" ' --mandir=VALUE Manual page directory [share/man]' > printf "%s\n" ' --sphinx-build=VALUE Use specified sphinx-build for building document' > + printf "%s\n" ' [sphinx-build]' > printf "%s\n" ' --sysconfdir=VALUE Sysconf data directory [etc]' > printf "%s\n" ' --tls-priority=VALUE Default TLS protocol/cipher priority string' > printf "%s\n" ' [NORMAL]' I think this happens because the commit has changed the default value of the '--sphinx-build' option, but if you're doing an incremental rebuild then meson will get run with the old default value (which is the empty string) and the new meson.build doesn't expect that and falls over. Manually rerunning configure fixes this, but ideally incremental rebuilds should Just Work. thanks -- PMM
diff --git a/docs/meson.build b/docs/meson.build index bbcdccce68a8..bb72c10ea8c5 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -1,10 +1,5 @@ -if get_option('sphinx_build') == '' - sphinx_build = find_program(['sphinx-build-3', 'sphinx-build'], - required: get_option('docs')) -else - sphinx_build = find_program(get_option('sphinx_build'), - required: get_option('docs')) -endif +sphinx_build = find_program(get_option('sphinx_build'), + required: get_option('docs')) # Check if tools are available to build documentation. build_docs = false diff --git a/meson_options.txt b/meson_options.txt index 6b0900205ea7..fc9447d267bf 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -12,7 +12,7 @@ option('pkgversion', type : 'string', value : '', description: 'use specified string as sub-version of the package') option('smbd', type : 'string', value : '', description: 'Path to smbd for slirp networking') -option('sphinx_build', type : 'string', value : '', +option('sphinx_build', type : 'string', value : 'sphinx-build', description: 'Use specified sphinx-build for building document') option('iasl', type : 'string', value : '', description: 'Path to ACPI disassembler') diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh index 5d969a94c08e..009fab151571 100644 --- a/scripts/meson-buildoptions.sh +++ b/scripts/meson-buildoptions.sh @@ -55,6 +55,7 @@ meson_options_help() { printf "%s\n" ' --localstatedir=VALUE Localstate data directory [/var/local]' printf "%s\n" ' --mandir=VALUE Manual page directory [share/man]' printf "%s\n" ' --sphinx-build=VALUE Use specified sphinx-build for building document' + printf "%s\n" ' [sphinx-build]' printf "%s\n" ' --sysconfdir=VALUE Sysconf data directory [etc]' printf "%s\n" ' --tls-priority=VALUE Default TLS protocol/cipher priority string' printf "%s\n" ' [NORMAL]'