tests/qemucapsfixreplies | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 tests/qemucapsfixreplies
Sometimes we don't regenerate QEMU capabilities replies using QEMU
binary but we simply add a new entry manually. In that case you need
to manually fix all the replies ids. This helper will do that for you.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
tests/qemucapsfixreplies | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100755 tests/qemucapsfixreplies
diff --git a/tests/qemucapsfixreplies b/tests/qemucapsfixreplies
new file mode 100755
index 0000000000..25b1e597a9
--- /dev/null
+++ b/tests/qemucapsfixreplies
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ "$1" == "--help" ] || [ $# != 1 ] || [ ! -f $1 ]; then
+ echo "This script fixes replies ids in QEMU replies files."
+ echo ""
+ echo " Usage: $0 path/to/qemu.replies"
+ exit 0;
+fi
+
+awk -i inplace \
+ 'BEGIN {count=1; pattern="libvirt-[0-9]+"}
+ {
+ if (match($0, "libvirt-1[^0-9]")) {
+ count=1;
+ }
+ if (match($0, pattern)) {
+ str="libvirt-" count;
+ sub(pattern, str, $0);
+ count++;
+ }
+ print
+ }' $1
--
2.14.3
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, 2018-03-01 at 15:29 +0100, Pavel Hrdina wrote: > Sometimes we don't regenerate QEMU capabilities replies using QEMU > binary but we simply add a new entry manually. In that case you need > to manually fix all the replies ids. This helper will do that for you. > > Signed-off-by: Pavel Hrdina <phrdina@redhat.com> > --- > tests/qemucapsfixreplies | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > create mode 100755 tests/qemucapsfixreplies > > diff --git a/tests/qemucapsfixreplies b/tests/qemucapsfixreplies > new file mode 100755 > index 0000000000..25b1e597a9 > --- /dev/null > +++ b/tests/qemucapsfixreplies > @@ -0,0 +1,22 @@ > +#!/bin/sh > + > +if [ "$1" == "--help" ] || [ $# != 1 ] || [ ! -f $1 ]; then "==" is a bashism and should be avoided. It's also a good idea to always quote variables, so I'd rewrite the above as if [ "$#" -ne 1 ] || [ "$1" = "--help" ] || [ ! -f "$1" ]; then > + echo "This script fixes replies ids in QEMU replies files." > + echo "" You don't need the quotes in the second call to echo. > + echo " Usage: $0 path/to/qemu.replies" > + exit 0; The semicolon is unnecessary here, drop it. > +fi > + > +awk -i inplace \ > + 'BEGIN {count=1; pattern="libvirt-[0-9]+"} > + { > + if (match($0, "libvirt-1[^0-9]")) { > + count=1; > + } > + if (match($0, pattern)) { > + str="libvirt-" count; > + sub(pattern, str, $0); > + count++; > + } > + print > + }' $1 "$1" should be quoted here too. I won't speak for the awk part, but I've just used the script to fix a dozen .replies files and it worked flawlessly, so I'm going to assume there aren't any issues blocking its inclusion. One last comment: tests/qemucapabilitiestest.c already contains a pointer to the highly-related qemucapsprobe utility; you should update that comment so that it mentions this script too. With all of the above addressed, and assuming Michal doesn't speak up against your use of "--help", Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, Mar 01, 2018 at 04:06:00PM +0100, Andrea Bolognani wrote: > On Thu, 2018-03-01 at 15:29 +0100, Pavel Hrdina wrote: > > Sometimes we don't regenerate QEMU capabilities replies using QEMU > > binary but we simply add a new entry manually. In that case you need > > to manually fix all the replies ids. This helper will do that for you. > > > > Signed-off-by: Pavel Hrdina <phrdina@redhat.com> > > --- > > tests/qemucapsfixreplies | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > create mode 100755 tests/qemucapsfixreplies > > > > diff --git a/tests/qemucapsfixreplies b/tests/qemucapsfixreplies > > new file mode 100755 > > index 0000000000..25b1e597a9 > > --- /dev/null > > +++ b/tests/qemucapsfixreplies > > @@ -0,0 +1,22 @@ > > +#!/bin/sh > > + > > +if [ "$1" == "--help" ] || [ $# != 1 ] || [ ! -f $1 ]; then > > "==" is a bashism and should be avoided. It's also a good idea to > always quote variables, so I'd rewrite the above as > > if [ "$#" -ne 1 ] || [ "$1" = "--help" ] || [ ! -f "$1" ]; then > > > + echo "This script fixes replies ids in QEMU replies files." > > + echo "" > > You don't need the quotes in the second call to echo. I personally prefer the quotes, it looks better with them. > > + echo " Usage: $0 path/to/qemu.replies" > > + exit 0; > > The semicolon is unnecessary here, drop it. > > > +fi > > + > > +awk -i inplace \ > > + 'BEGIN {count=1; pattern="libvirt-[0-9]+"} > > + { > > + if (match($0, "libvirt-1[^0-9]")) { > > + count=1; > > + } > > + if (match($0, pattern)) { > > + str="libvirt-" count; > > + sub(pattern, str, $0); > > + count++; > > + } > > + print > > + }' $1 > > "$1" should be quoted here too. > > I won't speak for the awk part, but I've just used the script to > fix a dozen .replies files and it worked flawlessly, so I'm going > to assume there aren't any issues blocking its inclusion. > > One last comment: tests/qemucapabilitiestest.c already contains a > pointer to the highly-related qemucapsprobe utility; you should > update that comment so that it mentions this script too. > > With all of the above addressed, and assuming Michal doesn't speak > up against your use of "--help", > > Reviewed-by: Andrea Bolognani <abologna@redhat.com> I fixed the issues and updated the comment and I'll push it shortly, thanks. Pavel -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.