Now that qmp has to be installed and isn't local, we can no longer offer a simple forwarder for these scripts (nor path hacks) and hope that it works. Encourage users to use the 'run' script to use these scripts instead.
Signed-off-by: John Snow <[email protected]> --- scripts/compare-machine-types.py | 7 ++----- scripts/qmp/qemu-ga-client | 13 ++++++------- scripts/qmp/qmp-shell | 13 ++++++------- scripts/qmp/qmp-shell-wrap | 13 ++++++------- scripts/qmp/qom-fuse | 13 ++++++------- scripts/qmp/qom-get | 13 ++++++------- scripts/qmp/qom-list | 13 ++++++------- scripts/qmp/qom-set | 13 ++++++------- scripts/qmp/qom-tree | 13 ++++++------- scripts/qmp_helper.py | 9 ++------- scripts/render_block_graph.py | 10 +++++++--- scripts/simplebench/bench_block_job.py | 10 +++++++--- tests/migration-stress/guestperf/engine.py | 15 ++++++++++++--- 13 files changed, 78 insertions(+), 77 deletions(-) diff --git a/scripts/compare-machine-types.py b/scripts/compare-machine-types.py index b4f899082a7..83be361f4f6 100755 --- a/scripts/compare-machine-types.py +++ b/scripts/compare-machine-types.py @@ -27,19 +27,16 @@ # along with this program; if not, see <http://www.gnu.org/licenses/>. import sys -from os import path from argparse import ArgumentParser, RawTextHelpFormatter, Namespace import pandas as pd from contextlib import ExitStack from typing import Optional, List, Dict, Generator, Tuple, Union, Any, Set try: - qemu_dir = path.abspath(path.dirname(path.dirname(__file__))) - sys.path.append(path.join(qemu_dir, 'python')) from qemu.machine import QEMUMachine except ModuleNotFoundError as exc: - print(f"Module '{exc.name}' not found.") - print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") + print(f"Module '{exc.name}' not found.", file=sys.stderr) + print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr) sys.exit(1) diff --git a/scripts/qmp/qemu-ga-client b/scripts/qmp/qemu-ga-client index 56edd0234a6..7ea01b9a11d 100755 --- a/scripts/qmp/qemu-ga-client +++ b/scripts/qmp/qemu-ga-client @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils import qemu_ga_client - - -if __name__ == '__main__': - sys.exit(qemu_ga_client.main()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qemu-ga-client [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell index 4a20f97db70..436c4940c26 100755 --- a/scripts/qmp/qmp-shell +++ b/scripts/qmp/qmp-shell @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.qmp import qmp_shell - - -if __name__ == '__main__': - qmp_shell.main() +print( + "This script has moved; after running configure," + " please use '$builddir/run qmp-shell [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qmp-shell-wrap b/scripts/qmp/qmp-shell-wrap index 9e94da114f5..f63dadad1ed 100755 --- a/scripts/qmp/qmp-shell-wrap +++ b/scripts/qmp/qmp-shell-wrap @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.qmp import qmp_shell - - -if __name__ == '__main__': - qmp_shell.main_wrap() +print( + "This script has moved; after running configure," + " please use '$builddir/run qmp-shell-wrap [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qom-fuse b/scripts/qmp/qom-fuse index d453807b273..7d4724a3710 100755 --- a/scripts/qmp/qom-fuse +++ b/scripts/qmp/qom-fuse @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils.qom_fuse import QOMFuse - - -if __name__ == '__main__': - sys.exit(QOMFuse.entry_point()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qom-fuse [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qom-get b/scripts/qmp/qom-get index 04ebe052e82..96363539624 100755 --- a/scripts/qmp/qom-get +++ b/scripts/qmp/qom-get @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils.qom import QOMGet - - -if __name__ == '__main__': - sys.exit(QOMGet.entry_point()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qom-get [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qom-list b/scripts/qmp/qom-list index 853b85a8d3f..e988274d1e7 100755 --- a/scripts/qmp/qom-list +++ b/scripts/qmp/qom-list @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils.qom import QOMList - - -if __name__ == '__main__': - sys.exit(QOMList.entry_point()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qom-list [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qom-set b/scripts/qmp/qom-set index 06820feec42..c2569afdcd7 100755 --- a/scripts/qmp/qom-set +++ b/scripts/qmp/qom-set @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils.qom import QOMSet - - -if __name__ == '__main__': - sys.exit(QOMSet.entry_point()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qom-set [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp/qom-tree b/scripts/qmp/qom-tree index 760e172277e..b3cd5ab6f82 100755 --- a/scripts/qmp/qom-tree +++ b/scripts/qmp/qom-tree @@ -1,11 +1,10 @@ #!/usr/bin/env python3 -import os import sys -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.utils.qom import QOMTree - - -if __name__ == '__main__': - sys.exit(QOMTree.entry_point()) +print( + "This script has moved; after running configure," + " please use '$builddir/run qom-tree [...]' instead.", + file=sys.stderr +) +sys.exit(1) diff --git a/scripts/qmp_helper.py b/scripts/qmp_helper.py index c1e7e0fd80c..521612fb946 100755 --- a/scripts/qmp_helper.py +++ b/scripts/qmp_helper.py @@ -13,17 +13,12 @@ import sys from datetime import datetime -from os import path as os_path try: - qemu_dir = os_path.abspath(os_path.dirname(os_path.dirname(__file__))) - sys.path.append(os_path.join(qemu_dir, 'python')) - from qemu.qmp.legacy import QEMUMonitorProtocol - except ModuleNotFoundError as exc: - print(f"Module '{exc.name}' not found.") - print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") + print(f"Module '{exc.name}' not found.", file=sys.stderr) + print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr) sys.exit(1) from base64 import b64encode diff --git a/scripts/render_block_graph.py b/scripts/render_block_graph.py index 3e1a2e3fa71..b9079bbed52 100755 --- a/scripts/render_block_graph.py +++ b/scripts/render_block_graph.py @@ -24,9 +24,13 @@ import json from graphviz import Digraph -sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'python')) -from qemu.qmp import QMPError -from qemu.qmp.legacy import QEMUMonitorProtocol +try: + from qemu.qmp import QMPError + from qemu.qmp.legacy import QEMUMonitorProtocol +except ModuleNotFoundError as exc: + print(f"Module '{exc.name}' not found.", file=sys.stderr) + print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr) + sys.exit(1) def perm(arr): diff --git a/scripts/simplebench/bench_block_job.py b/scripts/simplebench/bench_block_job.py index e575a3af10e..541a47e586d 100755 --- a/scripts/simplebench/bench_block_job.py +++ b/scripts/simplebench/bench_block_job.py @@ -25,9 +25,13 @@ import socket import json -sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) -from qemu.machine import QEMUMachine -from qemu.qmp import ConnectError +try: + from qemu.machine import QEMUMachine + from qemu.qmp import ConnectError +except ModuleNotFoundError as exc: + print(f"Module '{exc.name}' not found.", file=sys.stderr) + print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr) + sys.exit(1) def bench_block_job(cmd, cmd_args, qemu_args): diff --git a/tests/migration-stress/guestperf/engine.py b/tests/migration-stress/guestperf/engine.py index d8462db7653..8d2ed757af3 100644 --- a/tests/migration-stress/guestperf/engine.py +++ b/tests/migration-stress/guestperf/engine.py @@ -27,9 +27,18 @@ from guestperf.report import Report, ReportResult from guestperf.timings import TimingRecord, Timings -sys.path.append(os.path.join(os.path.dirname(__file__), - '..', '..', '..', 'python')) -from qemu.machine import QEMUMachine +try: + from qemu.machine import QEMUMachine +except ModuleNotFoundError as exc: + print( + f"Module '{exc.name}' not found.\n" + "It should be installed as part of the configure-time " + "virtual environment in $builddir/pyvenv.\n" + "Try re-running this script as:\n" + f"> $builddir/run {' '.join(sys.argv)}", + file=sys.stderr + ) + sys.exit(1) # multifd supported compression algorithms MULTIFD_CMP_ALGS = ("zlib", "zstd", "qpl", "uadk") -- 2.52.0
