From 07c63d73b474d663f068389b53523d2c597413a6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Dec 16 2020 16:39:38 +0000 Subject: import virt-viewer-9.0-5.el8 --- diff --git a/SOURCES/0008-More-specific-key-accelerator-description.patch b/SOURCES/0008-More-specific-key-accelerator-description.patch new file mode 100644 index 0000000..1189e8d --- /dev/null +++ b/SOURCES/0008-More-specific-key-accelerator-description.patch @@ -0,0 +1,32 @@ +From ae25f6ca6b46e95281186492de5bc0a0fe4974a6 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Fri, 10 Jul 2020 10:58:35 +0100 +Subject: [PATCH] More specific key accelerator description + +The default key accelerator to release mouse if left control and +left alt but the current description is "Ctrl+Alt", change to +"Ctrl_L+Alt_L" to avoid misunderstanding. + +This solves https://bugzilla.redhat.com/show_bug.cgi?id=1548371 + +Signed-off-by: Frediano Ziglio +--- + src/virt-viewer-window.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c +index 6c9bc41..614120f 100644 +--- a/src/virt-viewer-window.c ++++ b/src/virt-viewer-window.c +@@ -1395,7 +1395,7 @@ virt_viewer_window_update_title(VirtViewerWindow *self) + g_debug("release-cursor accel key: key=%u, mods=%x, flags=%u", key.accel_key, key.accel_mods, key.accel_flags); + label = gtk_accelerator_get_label(key.accel_key, key.accel_mods); + } else { +- label = g_strdup(_("Ctrl+Alt")); ++ label = g_strdup(_("Ctrl_L+Alt_L")); + } + + ungrab = g_strdup_printf(_("(Press %s to release pointer)"), label); +-- +2.28.0 + diff --git a/SOURCES/0009-virt-viewer-file-transfer-dialog-Reports-detailed-er.patch b/SOURCES/0009-virt-viewer-file-transfer-dialog-Reports-detailed-er.patch new file mode 100644 index 0000000..70f334f --- /dev/null +++ b/SOURCES/0009-virt-viewer-file-transfer-dialog-Reports-detailed-er.patch @@ -0,0 +1,122 @@ +From 522cca5ac1473405d325fce4fef0d6e0343f6257 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Wed, 10 Jun 2020 13:27:36 +0100 +Subject: [PATCH] virt-viewer-file-transfer-dialog: Reports detailed errors + +Instead of showing just a generic error with a list of files group +files by error and show them. + +This solves https://bugzilla.redhat.com/show_bug.cgi?id=1753563 + +Signed-off-by: Frediano Ziglio +--- + src/virt-viewer-file-transfer-dialog.c | 47 +++++++++++++++++++++++--- + 1 file changed, 43 insertions(+), 4 deletions(-) + +diff --git a/src/virt-viewer-file-transfer-dialog.c b/src/virt-viewer-file-transfer-dialog.c +index b510d8e..975346f 100644 +--- a/src/virt-viewer-file-transfer-dialog.c ++++ b/src/virt-viewer-file-transfer-dialog.c +@@ -188,6 +188,23 @@ error_dialog_response(GtkDialog *dialog, + gtk_widget_destroy(GTK_WIDGET(dialog)); + } + ++static const gchar* ++file_error_message(GError *err) ++{ ++ if (err && err->message) { ++ return err->message; ++ } ++ return _("Unspecified error"); ++} ++ ++static gint ++compare_file_error(gconstpointer a, gconstpointer b) ++{ ++ GError *error_a = g_object_get_data(G_OBJECT(a), "virt-viewer-error"); ++ GError *error_b = g_object_get_data(G_OBJECT(b), "virt-viewer-error"); ++ return g_strcmp0(file_error_message(error_a), file_error_message(error_b)); ++} ++ + static gboolean hide_transfer_dialog(gpointer data) + { + VirtViewerFileTransferDialog *self = data; +@@ -202,10 +219,26 @@ static gboolean hide_transfer_dialog(gpointer data) + GString *msg = g_string_new(""); + GtkWidget *dialog, *files_label, *scrolled_window, *area; + GtkRequisition files_label_sz; ++ const gchar *last_error = NULL; ++ const gchar *group_separator = ""; ++ ++ self->priv->failed = g_slist_sort(self->priv->failed, compare_file_error); + + for (sl = self->priv->failed; sl != NULL; sl = g_slist_next(sl)) { + SpiceFileTransferTask *failed_task = sl->data; + gchar *filename = spice_file_transfer_task_get_filename(failed_task); ++ ++ const gchar *error_message = ++ file_error_message(g_object_get_data(G_OBJECT(failed_task), "virt-viewer-error")); ++ if (g_strcmp0(error_message, last_error) != 0) { ++ // add error message ++ gchar *header = g_markup_printf_escaped("%s%s:", group_separator, error_message); ++ g_string_append(msg, header); ++ g_free(header); ++ last_error = error_message; ++ group_separator = "\n\n"; ++ } ++ + if (filename == NULL) { + guint id; + +@@ -214,15 +247,16 @@ static gboolean hide_transfer_dialog(gpointer data) + filename = g_strdup_printf("(task #%u)", id); + } + +- g_string_append_printf(msg, "\n%s", filename); ++ gchar *escaped_filename = g_markup_printf_escaped("\n%s", filename); ++ g_string_append(msg, escaped_filename); ++ g_free(escaped_filename); + g_free(filename); + } + g_slist_free_full(self->priv->failed, g_object_unref); + self->priv->failed = NULL; + + dialog = gtk_message_dialog_new(GTK_WINDOW(self), 0, GTK_MESSAGE_ERROR, +- GTK_BUTTONS_OK, +- _("An error caused the following file transfers to fail:")); ++ GTK_BUTTONS_OK, NULL); + gtk_window_set_title(GTK_WINDOW(dialog), "Transfer error"); + + scrolled_window = gtk_scrolled_window_new(NULL, NULL); +@@ -232,8 +266,9 @@ static gboolean hide_transfer_dialog(gpointer data) + area = gtk_message_dialog_get_message_area(GTK_MESSAGE_DIALOG(dialog)); + gtk_container_add(GTK_CONTAINER(area), scrolled_window); + +- files_label = gtk_label_new(msg->str + 1); /* skip the initial '\n' */ ++ files_label = gtk_label_new(NULL); + gtk_label_set_selectable(GTK_LABEL(files_label), TRUE); ++ gtk_label_set_markup(GTK_LABEL(files_label), msg->str); + gtk_container_add(GTK_CONTAINER(scrolled_window), files_label); + + g_string_free(msg, TRUE); +@@ -242,6 +277,8 @@ static gboolean hide_transfer_dialog(gpointer data) + + /* adjust panel to file_label height */ + gtk_widget_get_preferred_size(files_label, NULL, &files_label_sz); ++ gtk_scrolled_window_set_min_content_width(GTK_SCROLLED_WINDOW(scrolled_window), ++ MIN(files_label_sz.width, 500)); + gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrolled_window), + MIN(files_label_sz.height, 170)); + } +@@ -256,6 +293,8 @@ static void task_finished(SpiceFileTransferTask *task, + VirtViewerFileTransferDialog *self = VIRT_VIEWER_FILE_TRANSFER_DIALOG(user_data); + + if (error && !g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { ++ g_object_set_data_full(G_OBJECT(task), "virt-viewer-error", ++ g_error_copy(error), (GDestroyNotify) g_error_free); + self->priv->failed = g_slist_prepend(self->priv->failed, g_object_ref(task)); + g_warning("File transfer task %p failed: %s", task, error->message); + } +-- +2.28.0 + diff --git a/SOURCES/0010-ui-improve-homepage-in-about-dialog.patch b/SOURCES/0010-ui-improve-homepage-in-about-dialog.patch new file mode 100644 index 0000000..466c1f0 --- /dev/null +++ b/SOURCES/0010-ui-improve-homepage-in-about-dialog.patch @@ -0,0 +1,32 @@ +From 671f79bd7d0668fb0c70cd17d09a77482b9f5fbe Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Wed, 22 Jul 2020 12:08:25 +0200 +Subject: [PATCH] ui: improve homepage in about dialog + +Switch the homepage URL to https, and synchronize the label with the +URL. Also, do not make the label translatable, as it is pointless (it is +only a URL). + +Signed-off-by: Pino Toscano +--- + src/resources/ui/virt-viewer-about.ui | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/resources/ui/virt-viewer-about.ui b/src/resources/ui/virt-viewer-about.ui +index 5f6ce70..681590f 100644 +--- a/src/resources/ui/virt-viewer-about.ui ++++ b/src/resources/ui/virt-viewer-about.ui +@@ -16,8 +16,8 @@ + Copyright (C) 2007-2012 Daniel P. Berrange + Copyright (C) 2007-2014 Red Hat, Inc. + A remote desktop client built with GTK-VNC, SPICE-GTK and libvirt +- http://gitlab.com/virt-viewer/virt-viewer/ +- gitlab.com/virt-viewer/virt-viewer ++ https://gitlab.com/virt-viewer/virt-viewer ++ https://gitlab.com/virt-viewer/virt-viewer + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or +-- +2.28.0 + diff --git a/SOURCES/0011-about-ui-year-2020-in-Copyright.patch b/SOURCES/0011-about-ui-year-2020-in-Copyright.patch new file mode 100644 index 0000000..9e02571 --- /dev/null +++ b/SOURCES/0011-about-ui-year-2020-in-Copyright.patch @@ -0,0 +1,28 @@ +From d880ce4a4097d4e7efa1ba1a7fe28147b2e439bc Mon Sep 17 00:00:00 2001 +From: Uri Lublin +Date: Tue, 25 Aug 2020 20:10:59 +0300 +Subject: [PATCH] about ui: year 2020 in Copyright + +rhbz#1848267 + +Signed-off-by: Uri Lublin +--- + src/resources/ui/virt-viewer-about.ui | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/resources/ui/virt-viewer-about.ui b/src/resources/ui/virt-viewer-about.ui +index 681590f..25b2165 100644 +--- a/src/resources/ui/virt-viewer-about.ui ++++ b/src/resources/ui/virt-viewer-about.ui +@@ -15,7 +15,7 @@ + True + Virtual Machine Viewer + Copyright (C) 2007-2012 Daniel P. Berrange +-Copyright (C) 2007-2014 Red Hat, Inc. ++Copyright (C) 2007-2020 Red Hat, Inc. + A remote desktop client built with GTK-VNC, SPICE-GTK and libvirt + https://gitlab.com/virt-viewer/virt-viewer + https://gitlab.com/virt-viewer/virt-viewer +-- +2.28.0 + diff --git a/SOURCES/0012-ui-about-po-update-pot-file.patch b/SOURCES/0012-ui-about-po-update-pot-file.patch new file mode 100644 index 0000000..9fcd14a --- /dev/null +++ b/SOURCES/0012-ui-about-po-update-pot-file.patch @@ -0,0 +1,35 @@ +From b7a2f05266e82fbdf0642b27276099a55844dbae Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Fri, 11 Sep 2020 11:35:00 +0200 +Subject: [PATCH] po: update pot file + +Signed-off-by: Pino Toscano +--- + po/virt-viewer.pot | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/po/virt-viewer.pot b/po/virt-viewer.pot +index a3e49ad..1853fcd 100644 +--- a/po/virt-viewer.pot ++++ b/po/virt-viewer.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: virt-viewer 9.0\n" + "Report-Msgid-Bugs-To: https://gitlab.com/virt-viewer/virt-viewer/-/issues\n" +-"POT-Creation-Date: 2020-05-01 17:38+0100\n" ++"POT-Creation-Date: 2020-09-11 11:34+0200\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -199,7 +199,7 @@ msgstr "" + #: src/resources/ui/virt-viewer-about.ui:16 + msgid "" + "Copyright (C) 2007-2012 Daniel P. Berrange\n" +-"Copyright (C) 2007-2014 Red Hat, Inc." ++"Copyright (C) 2007-2020 Red Hat, Inc." + msgstr "" + + #: src/resources/ui/virt-viewer-about.ui:18 +-- +2.28.0 + diff --git a/SOURCES/0013-vnc-show-an-error-dialog-upon-vnc-error.patch b/SOURCES/0013-vnc-show-an-error-dialog-upon-vnc-error.patch new file mode 100644 index 0000000..88850d5 --- /dev/null +++ b/SOURCES/0013-vnc-show-an-error-dialog-upon-vnc-error.patch @@ -0,0 +1,134 @@ +From de5cd71013532d1a1240315c92fd0b5ca708fe01 Mon Sep 17 00:00:00 2001 +From: Uri Lublin +Date: Tue, 27 Oct 2020 19:53:36 +0200 +Subject: [PATCH] vnc: show an error dialog upon vnc-error + +For example when connecting by accident to a spice server + +Signed-off-by: Uri Lublin +--- + src/virt-viewer-app.c | 20 +++++++++++++++++--- + src/virt-viewer-session-vnc.c | 13 +++++++++++++ + src/virt-viewer-session.c | 9 +++++++++ + 3 files changed, 39 insertions(+), 3 deletions(-) + +diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c +index c0e0c9c..8cfdc2d 100644 +--- a/src/virt-viewer-app.c ++++ b/src/virt-viewer-app.c +@@ -78,6 +78,9 @@ void virt_viewer_app_about_delete(GtkWidget *dialog, void *dummy, VirtViewerApp + /* Internal methods */ + static void virt_viewer_app_connected(VirtViewerSession *session, + VirtViewerApp *self); ++static void virt_viewer_app_error(VirtViewerSession *session G_GNUC_UNUSED, ++ const gchar *msg, ++ VirtViewerApp *self); + static void virt_viewer_app_initialized(VirtViewerSession *session, + VirtViewerApp *self); + static void virt_viewer_app_disconnected(VirtViewerSession *session, +@@ -1292,6 +1295,8 @@ virt_viewer_app_create_session(VirtViewerApp *self, const gchar *type, GError ** + + g_signal_connect(priv->session, "session-initialized", + G_CALLBACK(virt_viewer_app_initialized), self); ++ g_signal_connect(priv->session, "session-error", ++ G_CALLBACK(virt_viewer_app_error), self); + g_signal_connect(priv->session, "session-connected", + G_CALLBACK(virt_viewer_app_connected), self); + g_signal_connect(priv->session, "session-disconnected", +@@ -1654,8 +1659,6 @@ virt_viewer_app_connected(VirtViewerSession *session G_GNUC_UNUSED, + virt_viewer_app_show_status(self, _("Connected to graphic server")); + } + +- +- + static void + virt_viewer_app_initialized(VirtViewerSession *session G_GNUC_UNUSED, + VirtViewerApp *self) +@@ -1690,6 +1693,18 @@ virt_viewer_app_disconnected(VirtViewerSession *session G_GNUC_UNUSED, const gch + virt_viewer_app_deactivate(self, connect_error); + } + ++static void ++virt_viewer_app_error(VirtViewerSession *session G_GNUC_UNUSED, ++ const gchar *msg, ++ VirtViewerApp *self) ++{ ++ VirtViewerAppPrivate *priv = self->priv; ++ ++ priv->connected = FALSE; /* display error dialog */ ++ ++ virt_viewer_app_disconnected(session, msg, self); ++} ++ + static void virt_viewer_app_cancelled(VirtViewerSession *session, + VirtViewerApp *self) + { +@@ -1698,7 +1713,6 @@ static void virt_viewer_app_cancelled(VirtViewerSession *session, + virt_viewer_app_disconnected(session, NULL, self); + } + +- + static void virt_viewer_app_auth_refused(VirtViewerSession *session, + const char *msg, + VirtViewerApp *self) +diff --git a/src/virt-viewer-session-vnc.c b/src/virt-viewer-session-vnc.c +index 261d984..2598c70 100644 +--- a/src/virt-viewer-session-vnc.c ++++ b/src/virt-viewer-session-vnc.c +@@ -128,6 +128,15 @@ virt_viewer_session_vnc_disconnected(VncDisplay *vnc G_GNUC_UNUSED, + VIRT_VIEWER_DISPLAY_SHOW_HINT_READY, FALSE); + } + ++static void ++virt_viewer_session_vnc_error(VncDisplay *vnc G_GNUC_UNUSED, ++ const gchar* msg, ++ VirtViewerSessionVnc *session) ++{ ++ g_warning("vnc-session: got vnc error %s", msg); ++ g_signal_emit_by_name(session, "session-error", msg); ++} ++ + static void + virt_viewer_session_vnc_initialized(VncDisplay *vnc G_GNUC_UNUSED, + VirtViewerSessionVnc *session) +@@ -386,6 +395,8 @@ virt_viewer_session_vnc_close(VirtViewerSession* session) + G_CALLBACK(virt_viewer_session_vnc_initialized), session); + g_signal_connect(self->priv->vnc, "vnc-disconnected", + G_CALLBACK(virt_viewer_session_vnc_disconnected), session); ++ g_signal_connect(self->priv->vnc, "vnc-error", ++ G_CALLBACK(virt_viewer_session_vnc_error), session); + + g_signal_connect(self->priv->vnc, "vnc-bell", + G_CALLBACK(virt_viewer_session_vnc_bell), session); +@@ -418,6 +429,8 @@ virt_viewer_session_vnc_new(VirtViewerApp *app, GtkWindow *main_window) + G_CALLBACK(virt_viewer_session_vnc_initialized), session); + g_signal_connect(session->priv->vnc, "vnc-disconnected", + G_CALLBACK(virt_viewer_session_vnc_disconnected), session); ++ g_signal_connect(session->priv->vnc, "vnc-error", ++ G_CALLBACK(virt_viewer_session_vnc_error), session); + + g_signal_connect(session->priv->vnc, "vnc-bell", + G_CALLBACK(virt_viewer_session_vnc_bell), session); +diff --git a/src/virt-viewer-session.c b/src/virt-viewer-session.c +index a809814..d58fc37 100644 +--- a/src/virt-viewer-session.c ++++ b/src/virt-viewer-session.c +@@ -272,6 +272,15 @@ virt_viewer_session_class_init(VirtViewerSessionClass *class) + G_TYPE_NONE, + 0); + ++ g_signal_new("session-error", ++ G_OBJECT_CLASS_TYPE(object_class), ++ G_SIGNAL_RUN_FIRST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__STRING, ++ G_TYPE_NONE, ++ 1, ++ G_TYPE_STRING); + g_signal_new("session-disconnected", + G_OBJECT_CLASS_TYPE(object_class), + G_SIGNAL_RUN_FIRST, +-- +2.28.0 + diff --git a/SOURCES/0014-Fix-warning-by-Coverity.patch b/SOURCES/0014-Fix-warning-by-Coverity.patch new file mode 100644 index 0000000..8cb6d76 --- /dev/null +++ b/SOURCES/0014-Fix-warning-by-Coverity.patch @@ -0,0 +1,69 @@ +From 1573a790da7370f547d542191d530ba8580e5a03 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Mon, 14 Sep 2020 13:51:15 +0100 +Subject: [PATCH] Fix warning by Coverity + +Error: DEADCODE (CWE-561): [#def1] +virt-viewer-9.0/src/virt-viewer-display-vte.c:164: assignment: Assigning: "scroll" = "NULL". +virt-viewer-9.0/src/virt-viewer-display-vte.c:188: null: At condition "scroll", the value of "scroll" must be "NULL". +virt-viewer-9.0/src/virt-viewer-display-vte.c:188: dead_error_condition: The condition "scroll" cannot be true. +virt-viewer-9.0/src/virt-viewer-display-vte.c:189: dead_error_begin: Execution cannot reach this statement: "gtk_container_add((GtkConta...". +virt-viewer-9.0/src/virt-viewer-display-vte.c:189: effectively_constant: Local variable "scroll" is assigned only once, to a constant value, making it effectively constant throughout its scope. If this is not the intent, examine the logic to see if there is a missing assignment that would make "scroll" not remain constant. + +Reported in https://gitlab.com/virt-viewer/virt-viewer/-/issues/7. + +Signed-off-by: Frediano Ziglio +--- + src/virt-viewer-display-vte.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/virt-viewer-display-vte.c b/src/virt-viewer-display-vte.c +index ef0d5ac..9e4f734 100644 +--- a/src/virt-viewer-display-vte.c ++++ b/src/virt-viewer-display-vte.c +@@ -147,7 +147,6 @@ virt_viewer_display_vte_commit(VirtViewerDisplayVte *self, + { + g_signal_emit_by_name(self, "commit", text, size); + } +-#endif + + static void + virt_viewer_display_vte_adj_changed(VirtViewerDisplayVte *self, +@@ -156,12 +155,16 @@ virt_viewer_display_vte_adj_changed(VirtViewerDisplayVte *self, + gtk_widget_set_visible(self->priv->scroll, + gtk_adjustment_get_upper(adjustment) > gtk_adjustment_get_page_size(adjustment)); + } ++#endif + + GtkWidget * + virt_viewer_display_vte_new(VirtViewerSession *session, const char *name) + { + VirtViewerDisplayVte *self; +- GtkWidget *grid, *scroll = NULL, *vte; ++ GtkWidget *grid, *vte; ++#ifdef HAVE_VTE ++ GtkWidget *scroll = NULL; ++#endif + + self = g_object_new(VIRT_VIEWER_TYPE_DISPLAY_VTE, + "session", session, +@@ -185,6 +188,8 @@ virt_viewer_display_vte_new(VirtViewerSession *session, const char *name) + grid = gtk_grid_new(); + + gtk_container_add(GTK_CONTAINER(grid), vte); ++ ++#ifdef HAVE_VTE + if (scroll) { + gtk_container_add(GTK_CONTAINER(grid), scroll); + gtk_widget_hide(scroll); +@@ -192,6 +197,7 @@ virt_viewer_display_vte_new(VirtViewerSession *session, const char *name) + "changed", G_CALLBACK(virt_viewer_display_vte_adj_changed), + self, G_CONNECT_SWAPPED); + } ++#endif + + gtk_container_add(GTK_CONTAINER(self), grid); + +-- +2.28.0 + diff --git a/SPECS/virt-viewer.spec b/SPECS/virt-viewer.spec index 5456633..c30fbb3 100644 --- a/SPECS/virt-viewer.spec +++ b/SPECS/virt-viewer.spec @@ -19,7 +19,7 @@ Name: virt-viewer Version: 9.0 -Release: 4%{?dist}%{?extra_release} +Release: 5%{?dist}%{?extra_release} Summary: Virtual Machine Viewer Group: Applications/System License: GPLv2+ @@ -31,6 +31,24 @@ Patch002: 0002-DOWNSTREAM-ovirt-foreign-menu-Bypass-errors-from-Hos.patch Patch003: 0003-DOWNSTREAM-remote-viewer-Set-admin-privileges-when-c.patch Patch005: 0005-display-error-message-on-no-extension-for-screenshot.patch +#rhbz#1548371 +Patch008: 0008-More-specific-key-accelerator-description.patch + +#rhbz#1753563 +Patch009: 0009-virt-viewer-file-transfer-dialog-Reports-detailed-er.patch + +# rhbz#1848267 +# Patches 10 and 12 slightly modified to match downstream +Patch010: 0010-ui-improve-homepage-in-about-dialog.patch +Patch011: 0011-about-ui-year-2020-in-Copyright.patch +Patch012: 0012-ui-about-po-update-pot-file.patch + +# rhbz#1448151 +Patch013: 0013-vnc-show-an-error-dialog-upon-vnc-error.patch + +# rhbz#1876719 +Patch014: 0014-Fix-warning-by-Coverity.patch + Requires: openssh-clients Requires(post): %{_sbindir}/update-alternatives @@ -80,6 +98,16 @@ the display, and libvirt for looking up VNC/SPICE server details. %patch003 -p1 %patch005 -p1 +%patch008 -p1 +%patch009 -p1 + +%patch010 -p1 +%patch011 -p1 +%patch012 -p1 + +%patch013 -p1 +%patch014 -p1 + %build %if 0%{?enable_autotools} @@ -118,6 +146,18 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/remote-viewer.1* %changelog +* Thu Dec 03 2020 Uri Lublin - 9.0-5 +- More specific key accelerator description for cursor release + Resolves: rhbz#1548371 +- Report detailed error when file transfer fails + Resolves: rhbz#1753563 +- Update copyright year in "about ui" + Resolves: rhbz#1848267 +- Show an error dialog upon vnc-error + Resolves: rhbz#1448151 +- Fix warning by Coverity + Resolves: rhbz#1876719 + * Fri Aug 28 2020 Eduardo Lima (Etrunko) - 9.0-4 - Revert support for DATA storage domains temporarily. Resolves: rhbz#1873549