diff options
author | Dennis Lamm <expeditioneer@gentoo.org> | 2019-03-01 19:34:02 +0100 |
---|---|---|
committer | Dennis Lamm <expeditioneer@gentoo.org> | 2019-03-01 19:34:19 +0100 |
commit | 3d6bb2617e6e5db6d21c9b1a3afd366f80d52c8d (patch) | |
tree | 3c280d5b46f42feb7995203908ec85613bb3519c /net-misc/vino | |
parent | net-wireless/unifi: 5.10.19 stable (diff) | |
download | gentoo-3d6bb2617e6e5db6d21c9b1a3afd366f80d52c8d.tar.gz gentoo-3d6bb2617e6e5db6d21c9b1a3afd366f80d52c8d.tar.bz2 gentoo-3d6bb2617e6e5db6d21c9b1a3afd366f80d52c8d.zip |
net-misc/vino: fixed segfaults in wayland
Signed-off-by: Dennis Lamm <expeditioneer@gentoo.org>
Bug: https://bugs.gentoo.org/617902
Bug: https://bugs.gentoo.org/639264
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'net-misc/vino')
-rw-r--r-- | net-misc/vino/files/vino-return-error-if-X11-is-no-detected.patch | 41 | ||||
-rw-r--r-- | net-misc/vino/files/vino-segfaults-on-wayland.patch | 30 | ||||
-rw-r--r-- | net-misc/vino/vino-3.22.0-r1.ebuild | 72 |
3 files changed, 143 insertions, 0 deletions
diff --git a/net-misc/vino/files/vino-return-error-if-X11-is-no-detected.patch b/net-misc/vino/files/vino-return-error-if-X11-is-no-detected.patch new file mode 100644 index 000000000000..171d8590e3c9 --- /dev/null +++ b/net-misc/vino/files/vino-return-error-if-X11-is-no-detected.patch @@ -0,0 +1,41 @@ +From 5e49ab2d125388b843eca4f1f47849d18ccabcd3 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy <oholy@redhat.com> +Date: Tue, 20 Feb 2018 12:26:18 +0100 +Subject: [PATCH] Return error if X11 is not detected + +Vino-server crashes on Wayland in XQueryExtension. Since vino-server is +not expected to work on displays other than X11, let's exit immediately +if GDK_IS_X11_DISPLAY fail. + +https://bugzilla.gnome.org/show_bug.cgi?id=761120 +--- + server/vino-main.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/server/vino-main.c b/server/vino-main.c +index dd95de7..7be3fff 100644 +--- a/server/vino-main.c ++++ b/server/vino-main.c +@@ -28,6 +28,7 @@ + #include <glib/gi18n.h> + #include <gtk/gtk.h> + #include <locale.h> ++#include <gdk/gdkx.h> + + #include "vino-input.h" + #include "vino-mdns.h" +@@ -273,6 +274,12 @@ main (int argc, char **argv) + g_option_context_free (context); + } + ++ if (!GDK_IS_X11_DISPLAY (gdk_display_get_default ())) ++ { ++ g_printerr ("X11 is not detected\n"); ++ return 1; ++ } ++ + /* GSettings */ + vino.settings = g_settings_new ("org.gnome.Vino"); + +-- +2.16.2 diff --git a/net-misc/vino/files/vino-segfaults-on-wayland.patch b/net-misc/vino/files/vino-segfaults-on-wayland.patch new file mode 100644 index 000000000000..ee161ae6fb98 --- /dev/null +++ b/net-misc/vino/files/vino-segfaults-on-wayland.patch @@ -0,0 +1,30 @@ +From c5e3011b7364729fa2cd4f11761bf1f001a931a4 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy <oholy@redhat.com> +Date: Tue, 22 May 2018 20:45:45 +0200 +Subject: [PATCH] Do not restart service after unclean exit code + +Currently, the vino-server.service has Restart=on-failure, which means +that it is restarted in abnormal cases, but also in case of non-zero +exit code. It is restarted 5 times e.g. in case when X11 is not detected, +which doesn't make sense. Non-zero exit code is used only for states +which won't change with restart (invalid commandline, wayland and some +sanity checks). Change the value to Restart=on-abnormal in order to +prevent the useless restarts and to not spam journal. + +https://bugzilla.gnome.org/show_bug.cgi?id=761120 +--- + server/vino-server.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/server/vino-server.service.in b/server/vino-server.service.in +index a48b813..49e9c1f 100644 +--- a/server/vino-server.service.in ++++ b/server/vino-server.service.in +@@ -5,4 +5,4 @@ Description=Vino VNC server + Type=dbus + BusName=org.gnome.Vino + ExecStart=@libexecdir@/vino-server +-Restart=on-failure ++Restart=on-abnormal +-- +2.17.0 diff --git a/net-misc/vino/vino-3.22.0-r1.ebuild b/net-misc/vino/vino-3.22.0-r1.ebuild new file mode 100644 index 000000000000..9f17a92230a7 --- /dev/null +++ b/net-misc/vino/vino-3.22.0-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit gnome2 systemd + +DESCRIPTION="An integrated VNC server for GNOME" +HOMEPAGE="https://wiki.gnome.org/Projects/Vino" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="crypt debug gnome-keyring ipv6 jpeg ssl systemd +telepathy zeroconf +zlib" +# bug #394611; tight encoding requires zlib encoding +REQUIRED_USE="jpeg? ( zlib )" + +# cairo used in vino-fb +# libSM and libICE used in eggsmclient-xsmp +RDEPEND=" + >=dev-libs/glib-2.26:2 + >=dev-libs/libgcrypt-1.1.90:0= + >=x11-libs/gtk+-3:3 + + x11-libs/cairo:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXtst + x11-libs/pango[X] + + >=x11-libs/libnotify-0.7.0:= + + crypt? ( >=dev-libs/libgcrypt-1.1.90:0= ) + gnome-keyring? ( app-crypt/libsecret ) + jpeg? ( virtual/jpeg:0= ) + ssl? ( >=net-libs/gnutls-2.2.0:= ) + systemd? ( sys-apps/dbus[user-session] ) + telepathy? ( + dev-libs/dbus-glib + >=net-libs/telepathy-glib-0.18 ) + zeroconf? ( >=net-dns/avahi-0.6:=[dbus] ) + zlib? ( sys-libs/zlib:= ) +" +DEPEND="${RDEPEND} + app-crypt/libsecret + dev-util/glib-utils + >=dev-util/intltool-0.50 + virtual/pkgconfig +" +# libsecret is always required at build time per bug 322763 + +PATCHES=( + "${FILESDIR}/${PN}-segfaults-on-wayland.patch" + "${FILESDIR}/${PN}-return-error-if-X11-is-no-detected.patch" +) + +src_configure() { + gnome2_src_configure \ + $(use_enable ipv6) \ + $(use_with crypt gcrypt) \ + $(usex debug --enable-debug=yes ' ') \ + $(use_with gnome-keyring secret) \ + $(use_with jpeg) \ + $(use_with ssl gnutls) \ + $(use_with telepathy) \ + $(use_with zeroconf avahi) \ + $(use_with zlib) \ + --with-systemduserunitdir="$(systemd_get_userunitdir)" +} |