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.