[PATCH v5 0/9] ui: add vdagent implementation and clipboard support.

Gerd Hoffmann posted 9 patches 2 years, 11 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210505060901.828658-1-kraxel@redhat.com
Maintainers: Eric Blake <eblake@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Markus Armbruster <armbru@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
configure              |  36 +-
include/ui/clipboard.h | 193 +++++++++++
include/ui/gtk.h       |  67 ++++
ui/vnc.h               |  24 ++
chardev/char.c         |   6 +
ui/clipboard.c         |  92 +++++
ui/gtk-clipboard.c     | 192 +++++++++++
ui/gtk.c               |  56 +--
ui/vdagent.c           | 765 +++++++++++++++++++++++++++++++++++++++++
ui/vnc-clipboard.c     | 323 +++++++++++++++++
ui/vnc.c               |  20 +-
docs/devel/index.rst   |   1 +
docs/devel/ui.rst      |   8 +
meson.build            |   4 +
qapi/char.json         |  21 +-
ui/meson.build         |   5 +-
ui/trace-events        |  10 +
17 files changed, 1756 insertions(+), 67 deletions(-)
create mode 100644 include/ui/clipboard.h
create mode 100644 ui/clipboard.c
create mode 100644 ui/gtk-clipboard.c
create mode 100644 ui/vdagent.c
create mode 100644 ui/vnc-clipboard.c
create mode 100644 docs/devel/ui.rst
[PATCH v5 0/9] ui: add vdagent implementation and clipboard support.
Posted by Gerd Hoffmann 2 years, 11 months ago
Fist sketch of cut+paste support for vnc.  On the guest side we are
going to reuse the spice vdagent, so things should work out-of-the-box
with guests in the wild.  So this patch set brings a qemu implemenation
of the vdagent protocol.

Beside that there is the clipboard infrastructure of course.  For now
only text support is there.  The design allows adding more data types,
so we can add image support and maybe more later on.  So far vdagent,
vnc server and gtk ui are hooked up.

Usage: qemu \
  -chardev vdagent,id=vdagent,clipboard=on \
  -device virtio-serial-pci \
  -device virtserialport,chardev=vdagent,name=com.redhat.spice.0

v5:
 - use error_report.
 - error out on bigendian hosts.
 - rename chardev to 'qemu-vdagent'.
 - misc minor tweaks.
v3:
 - rebase to latest master.
 - make spice-protocol a separate build dependency.
 - update qapi version annotation.
 - add documentatin for qemu clipboard.
 - misc little tweaks.
v2:
 - add a bunch of sanity checks.
 - add proper chunking.
 - use autofree.
v3:
 - support agents without VD_AGENT_CAP_CLIPBOARD_SELECTION.
 - properly parse chunked messages.
 - test with windows guests, minor fixes.
 - set display_id for agent mouse events.

Gerd Hoffmann (9):
  build: add separate spice-protocol config option
  ui: add clipboard infrastructure
  ui: add clipboard documentation
  ui/vdagent: core infrastructure
  ui/vdagent: add mouse support
  ui/vdagent: add clipboard support
  ui/vnc: clipboard support
  ui/gtk: move struct GtkDisplayState to ui/gtk.h
  ui/gtk: add clipboard support

 configure              |  36 +-
 include/ui/clipboard.h | 193 +++++++++++
 include/ui/gtk.h       |  67 ++++
 ui/vnc.h               |  24 ++
 chardev/char.c         |   6 +
 ui/clipboard.c         |  92 +++++
 ui/gtk-clipboard.c     | 192 +++++++++++
 ui/gtk.c               |  56 +--
 ui/vdagent.c           | 765 +++++++++++++++++++++++++++++++++++++++++
 ui/vnc-clipboard.c     | 323 +++++++++++++++++
 ui/vnc.c               |  20 +-
 docs/devel/index.rst   |   1 +
 docs/devel/ui.rst      |   8 +
 meson.build            |   4 +
 qapi/char.json         |  21 +-
 ui/meson.build         |   5 +-
 ui/trace-events        |  10 +
 17 files changed, 1756 insertions(+), 67 deletions(-)
 create mode 100644 include/ui/clipboard.h
 create mode 100644 ui/clipboard.c
 create mode 100644 ui/gtk-clipboard.c
 create mode 100644 ui/vdagent.c
 create mode 100644 ui/vnc-clipboard.c
 create mode 100644 docs/devel/ui.rst

-- 
2.31.1



Re: [PATCH v5 0/9] ui: add vdagent implementation and clipboard support.
Posted by no-reply@patchew.org 2 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20210505060901.828658-1-kraxel@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210505060901.828658-1-kraxel@redhat.com
Subject: [PATCH v5 0/9] ui: add vdagent implementation and clipboard support.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20210505060901.828658-1-kraxel@redhat.com -> patchew/20210505060901.828658-1-kraxel@redhat.com
Switched to a new branch 'test'
acaef73 ui/gtk: add clipboard support
06a78fb ui/gtk: move struct GtkDisplayState to ui/gtk.h
984719a ui/vnc: clipboard support
a9dd088 ui/vdagent: add clipboard support
98910e7 ui/vdagent: add mouse support
a9d3566 ui/vdagent: core infrastructure
654f3c6 ui: add clipboard documentation
a87f32b ui: add clipboard infrastructure
705d039 build: add separate spice-protocol config option

=== OUTPUT BEGIN ===
1/9 Checking commit 705d0398e61e (build: add separate spice-protocol config option)
2/9 Checking commit a87f32b2c22b (ui: add clipboard infrastructure)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#19: 
new file mode 100644

total: 0 errors, 1 warnings, 161 lines checked

Patch 2/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/9 Checking commit 654f3c6fd00e (ui: add clipboard documentation)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#31: 
new file mode 100644

WARNING: line over 80 characters
#90: FILE: include/ui/clipboard.h:43:
+ * @QEMU_CLIPBOARD_SELECTION_PRIMARY: primary selection (select + middle mouse button).

total: 0 errors, 2 warnings, 194 lines checked

Patch 3/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/9 Checking commit a9d3566dcfdc (ui/vdagent: core infrastructure)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#102: 
new file mode 100644

ERROR: if this code is redundant consider removing it
#155: FILE: ui/vdagent.c:49:
+#if 0

WARNING: line over 80 characters
#157: FILE: ui/vdagent.c:51:
+    [VD_AGENT_CAP_CLIPBOARD_NO_RELEASE_ON_REGRAB] = "clipboard-no-release-on-regrab",

ERROR: if this code is redundant consider removing it
#178: FILE: ui/vdagent.c:72:
+#if 0

WARNING: line over 80 characters
#230: FILE: ui/vdagent.c:124:
+                                               sizeof(VDAgentAnnounceCapabilities) +

total: 2 errors, 3 warnings, 374 lines checked

Patch 4/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/9 Checking commit 98910e77b573 (ui/vdagent: add mouse support)
ERROR: if this code is redundant consider removing it
#148: FILE: ui/vdagent.c:190:
+#if 0

total: 1 errors, 0 warnings, 244 lines checked

Patch 5/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/9 Checking commit a9dd088eb5bb (ui/vdagent: add clipboard support)
ERROR: if this code is redundant consider removing it
#121: FILE: ui/vdagent.c:116:
+#if 0

ERROR: line over 90 characters
#171: FILE: ui/vdagent.c:309:
+                                               sizeof(uint32_t) * (QEMU_CLIPBOARD_TYPE__COUNT + 1));

WARNING: line over 80 characters
#440: FILE: ui/vdagent.c:738:
+    cfg->clipboard = qemu_opt_get_bool(opts, "clipboard", VDAGENT_CLIPBOARD_DEFAULT);

total: 2 errors, 1 warnings, 393 lines checked

Patch 6/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

7/9 Checking commit 984719a1ee04 (ui/vnc: clipboard support)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#34: 
new file mode 100644

WARNING: line over 80 characters
#281: FILE: ui/vnc-clipboard.c:243:
+void vnc_client_cut_text_ext(VncState *vs, int32_t len, uint32_t flags, uint8_t *data)

WARNING: line over 80 characters
#290: FILE: ui/vnc-clipboard.c:252:
+            qemu_clipboard_info_new(&vs->cbpeer, QEMU_CLIPBOARD_SELECTION_CLIPBOARD);

WARNING: line over 80 characters
#334: FILE: ui/vnc-clipboard.c:296:
+        qemu_clipboard_info_new(&vs->cbpeer, QEMU_CLIPBOARD_SELECTION_CLIPBOARD);

ERROR: line over 90 characters
#421: FILE: ui/vnc.c:2458:
+            vnc_client_cut_text_ext(vs, abs(read_s32(data, 4)), read_u32(data, 8), data + 12);

WARNING: line over 80 characters
#500: FILE: ui/vnc.h:643:
+void vnc_client_cut_text_ext(VncState *vs, int32_t len, uint32_t flags, uint8_t *data);

total: 1 errors, 5 warnings, 450 lines checked

Patch 7/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/9 Checking commit 06a78fb10b88 (ui/gtk: move struct GtkDisplayState to ui/gtk.h)
9/9 Checking commit acaef730d67f (ui/gtk: add clipboard support)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#52: 
new file mode 100644

WARNING: line over 80 characters
#135: FILE: ui/gtk-clipboard.c:79:
+    GtkDisplayState *gd = container_of(notifier, GtkDisplayState, cbpeer.update);

total: 0 errors, 2 warnings, 233 lines checked

Patch 9/9 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210505060901.828658-1-kraxel@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com