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 <jsnow@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
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