On 28 March 2017 at 14:08, Stefan Hajnoczi <stefa...@redhat.com> wrote: > The ./configure script should produce --help output even if Python is > not installed. > > Listing trace backends is simple: show the names of all Python modules > in scripts/tracetool/backend/ whose source code contains 'PUBLIC = > True'. > > Perform the backend enumeration in shell instead of Python so that we > can move the Python check until after ./configure --help. > > Reported-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
Thanks. I think we should postpone this to 2.10 since we've had this behaviour since forever, but it's a useful start to getting our --help text into a less confusing place in configure. > @@ -1328,7 +1313,7 @@ Advanced options (experts only): > set block driver read-only whitelist > (affects only QEMU, not qemu-img) > --enable-trace-backends=B Set trace backend > - Available backends: $($python > $source_path/scripts/tracetool.py --list-backends) > + Available backends: $(grep -le > '^PUBLIC\s*=\s*True$' scripts/tracetool/backend/*.py | sed -e > 's/^.*\/\(.*\)\.py$/\1/' | xargs echo) '\s' doesn't work with NetBSD grep (it isn't POSIX). I think you need '^PUBLIC[[:space:]]*=[[:space:]]True' (or just use ' ' since we don't have to contend with tabs here, as you suggested on IRC). I think we should also move the determining of the list of backends out of the --help text itself, so set an avail_trace_backends variable first and then just substitute the variable here. thanks -- PMM