[PATCH v3 0/7] ui: add vdagent implementation and clipboard support.

Gerd Hoffmann posted 7 patches 3 years ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210326092448.367016-1-kraxel@redhat.com
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Eric Blake <eblake@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Markus Armbruster <armbru@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
include/ui/clipboard.h |  68 ++++
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           | 756 +++++++++++++++++++++++++++++++++++++++++
ui/vnc-clipboard.c     | 323 ++++++++++++++++++
ui/vnc.c               |  20 +-
qapi/char.json         |  17 +
ui/meson.build         |   5 +-
ui/trace-events        |  10 +
13 files changed, 1574 insertions(+), 62 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
[PATCH v3 0/7] ui: add vdagent implementation and clipboard support.
Posted by Gerd Hoffmann 3 years 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

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 (7):
  ui: add clipboard infrastructure
  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

 include/ui/clipboard.h |  68 ++++
 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           | 756 +++++++++++++++++++++++++++++++++++++++++
 ui/vnc-clipboard.c     | 323 ++++++++++++++++++
 ui/vnc.c               |  20 +-
 qapi/char.json         |  17 +
 ui/meson.build         |   5 +-
 ui/trace-events        |  10 +
 13 files changed, 1574 insertions(+), 62 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

-- 
2.30.2



Re: [PATCH v3 0/7] ui: add vdagent implementation and clipboard support.
Posted by no-reply@patchew.org 3 years ago
Patchew URL: https://patchew.org/QEMU/20210326092448.367016-1-kraxel@redhat.com/



Hi,

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

Type: series
Message-id: 20210326092448.367016-1-kraxel@redhat.com
Subject: [PATCH v3 0/7] 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
 - [tag update]      patchew/1616680509-8339-1-git-send-email-mjrosato@linux.ibm.com -> patchew/1616680509-8339-1-git-send-email-mjrosato@linux.ibm.com
 - [tag update]      patchew/20210325153310.9131-1-peter.maydell@linaro.org -> patchew/20210325153310.9131-1-peter.maydell@linaro.org
 * [new tag]         patchew/20210326092448.367016-1-kraxel@redhat.com -> patchew/20210326092448.367016-1-kraxel@redhat.com
Switched to a new branch 'test'
5146fb5 ui/gtk: add clipboard support
ca86b02 ui/gtk: move struct GtkDisplayState to ui/gtk.h
dd72abb ui/vnc: clipboard support
7420f0a ui/vdagent: add clipboard support
ccc2f36 ui/vdagent: add mouse support
a76ff23 ui/vdagent: core infrastructure
abe9fe7 ui: add clipboard infrastructure

=== OUTPUT BEGIN ===
1/7 Checking commit abe9fe76aacd (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?
#20: 
new file mode 100644

total: 0 errors, 1 warnings, 167 lines checked

Patch 1/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
2/7 Checking commit a76ff2385723 (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?
#91: 
new file mode 100644

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

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

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

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

total: 2 errors, 3 warnings, 357 lines checked

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

3/7 Checking commit ccc2f369055f (ui/vdagent: add mouse support)
ERROR: if this code is redundant consider removing it
#146: FILE: ui/vdagent.c:189:
+#if 0

total: 1 errors, 0 warnings, 237 lines checked

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

4/7 Checking commit 7420f0a6dd9e (ui/vdagent: add clipboard support)
ERROR: if this code is redundant consider removing it
#120: FILE: ui/vdagent.c:115:
+#if 0

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

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

total: 2 errors, 1 warnings, 392 lines checked

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

5/7 Checking commit dd72abb02968 (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?
#33: 
new file mode 100644

WARNING: line over 80 characters
#280: 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
#289: FILE: ui/vnc-clipboard.c:252:
+            qemu_clipboard_info_new(&vs->cbpeer, QEMU_CLIPBOARD_SELECTION_CLIPBOARD);

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

ERROR: line over 90 characters
#420: 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
#499: 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 5/7 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

6/7 Checking commit ca86b02b8322 (ui/gtk: move struct GtkDisplayState to ui/gtk.h)
7/7 Checking commit 5146fb5992c4 (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 7/7 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/20210326092448.367016-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