[PATCH v6 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/20210519053940.1888907-1-kraxel@redhat.com
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
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           | 803 +++++++++++++++++++++++++++++++++++++++++
ui/vnc-clipboard.c     | 323 +++++++++++++++++
ui/vnc.c               |  21 +-
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, 1795 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 v6 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

v6:
 - rebase to latest master
 - avoid busy-loop when writing to chardev.
v5:
 - use error_report.
 - error out on bigendian hosts.
 - rename chardev to 'qemu-vdagent'.
 - misc minor tweaks.
v4:
 - rebase to latest master.
 - make spice-protocol a separate build dependency.
 - update qapi version annotation.
 - add documentatin for qemu clipboard.
 - misc little tweaks.
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.
v2:
 - add a bunch of sanity checks.
 - add proper chunking.
 - use autofree.

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           | 803 +++++++++++++++++++++++++++++++++++++++++
 ui/vnc-clipboard.c     | 323 +++++++++++++++++
 ui/vnc.c               |  21 +-
 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, 1795 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 v6 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/20210519053940.1888907-1-kraxel@redhat.com/



Hi,

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

Type: series
Message-id: 20210519053940.1888907-1-kraxel@redhat.com
Subject: [PATCH v6 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
 - [tag update]      patchew/20210518131542.2941207-1-pbonzini@redhat.com -> patchew/20210518131542.2941207-1-pbonzini@redhat.com
 * [new tag]         patchew/20210519053940.1888907-1-kraxel@redhat.com -> patchew/20210519053940.1888907-1-kraxel@redhat.com
Switched to a new branch 'test'
f38e1b9 ui/gtk: add clipboard support
b5112a9 ui/gtk: move struct GtkDisplayState to ui/gtk.h
8feb571 ui/vnc: clipboard support
97c5587 ui/vdagent: add clipboard support
76b41e6 ui/vdagent: add mouse support
64a57ad ui/vdagent: core infrastructure
5b03384 ui: add clipboard documentation
a482369 ui: add clipboard infrastructure
fa3c141 build: add separate spice-protocol config option

=== OUTPUT BEGIN ===
1/9 Checking commit fa3c14163bf1 (build: add separate spice-protocol config option)
2/9 Checking commit a48236937e4a (ui: add clipboard infrastructure)
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 5b03384c273a (ui: add clipboard documentation)
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 64a57ad8e2a2 (ui/vdagent: core infrastructure)
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
#160: FILE: ui/vdagent.c:54:
+#if 0

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

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

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

total: 2 errors, 3 warnings, 412 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 76b41e6999f0 (ui/vdagent: add mouse support)
6/9 Checking commit 97c5587b9065 (ui/vdagent: add clipboard support)
ERROR: if this code is redundant consider removing it
#121: FILE: ui/vdagent.c:120:
+#if 0

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

total: 1 errors, 1 warnings, 394 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 8feb57182d5c (ui/vnc: clipboard support)
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);

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

total: 0 errors, 5 warnings, 451 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 b5112a9b2973 (ui/gtk: move struct GtkDisplayState to ui/gtk.h)
9/9 Checking commit f38e1b93466f (ui/gtk: add clipboard support)
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/20210519053940.1888907-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