From 9e7bb10c7a2d6fe6a249e2a36479332d00d1dc9d0b14fe27f7a6cd34145d5ae5 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 9 Mar 2018 10:11:23 +0000 Subject: [PATCH 1/5] Accepting request 583620 from GNOME:Next Scripted push of project GNOME:Next OBS-URL: https://build.opensuse.org/request/show/583620 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=279 --- _service | 15 -- _servicedata | 6 - mutter-3.26.2+20180207.4b2d21ff0.tar.xz | 3 - mutter-3.27.92.tar.xz | 3 + mutter-force-rgb8.patch | 328 ------------------------ mutter.changes | 106 ++++++-- mutter.spec | 86 +++---- 7 files changed, 125 insertions(+), 422 deletions(-) delete mode 100644 _service delete mode 100644 _servicedata delete mode 100644 mutter-3.26.2+20180207.4b2d21ff0.tar.xz create mode 100644 mutter-3.27.92.tar.xz delete mode 100644 mutter-force-rgb8.patch diff --git a/_service b/_service deleted file mode 100644 index 2868212..0000000 --- a/_service +++ /dev/null @@ -1,15 +0,0 @@ - - - https://gitlab.gnome.org/GNOME/mutter.git - git - gnome-3-26 - 3.26.2+%cd.%h - enable - - - *.tar - xz - - - - diff --git a/_servicedata b/_servicedata deleted file mode 100644 index 0eca86e..0000000 --- a/_servicedata +++ /dev/null @@ -1,6 +0,0 @@ - - - git://git.gnome.org/mutter - 0bd1d7cf09be046d6a698fde88540bfb8cbc78e7 - https://gitlab.gnome.org/GNOME/mutter.git - 4b2d21ff03ed389138fcb9bca778aec02bafcadb \ No newline at end of file diff --git a/mutter-3.26.2+20180207.4b2d21ff0.tar.xz b/mutter-3.26.2+20180207.4b2d21ff0.tar.xz deleted file mode 100644 index f8ce7b8..0000000 --- a/mutter-3.26.2+20180207.4b2d21ff0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9a496cb99553ac396f228618d5f63533d14cace256589aa9c5ed314e32789a1 -size 2833676 diff --git a/mutter-3.27.92.tar.xz b/mutter-3.27.92.tar.xz new file mode 100644 index 0000000..d3b731d --- /dev/null +++ b/mutter-3.27.92.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:227e5f6681634eb16708688e2621f7276878d0ab5eb770d056fdb1f34700ade3 +size 3691300 diff --git a/mutter-force-rgb8.patch b/mutter-force-rgb8.patch deleted file mode 100644 index 7427d40..0000000 --- a/mutter-force-rgb8.patch +++ /dev/null @@ -1,328 +0,0 @@ -Index: mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl-private.h -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/cogl/cogl/winsys/cogl-winsys-egl-private.h 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl-private.h 2018-02-28 10:27:18.840086775 +0100 -@@ -90,6 +90,11 @@ - (* add_config_attributes) (CoglDisplay *display, - CoglFramebufferConfig *config, - EGLint *attributes); -+ CoglBool -+ (* choose_config) (CoglDisplay *display, -+ EGLint *attributes, -+ EGLConfig *out_config, -+ CoglError **error); - } CoglWinsysEGLVtable; - - typedef enum _CoglEGLWinsysFeature -Index: mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl-x11.c -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/cogl/cogl/winsys/cogl-winsys-egl-x11.c 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl-x11.c 2018-02-28 10:27:18.840086775 +0100 -@@ -337,6 +337,32 @@ - } - - static CoglBool -+_cogl_winsys_egl_choose_config (CoglDisplay *display, -+ EGLint *attributes, -+ EGLConfig *out_config, -+ CoglError **error) -+{ -+ CoglRenderer *renderer = display->renderer; -+ CoglRendererEGL *egl_renderer = renderer->winsys; -+ EGLint config_count = 0; -+ EGLBoolean status; -+ -+ status = eglChooseConfig (egl_renderer->edpy, -+ attributes, -+ out_config, 1, -+ &config_count); -+ if (status != EGL_TRUE || config_count == 0) -+ { -+ _cogl_set_error (error, COGL_WINSYS_ERROR, -+ COGL_WINSYS_ERROR_CREATE_CONTEXT, -+ "No compatible EGL configs found"); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+static CoglBool - _cogl_winsys_egl_display_setup (CoglDisplay *display, - CoglError **error) - { -@@ -841,6 +867,7 @@ - _cogl_winsys_egl_vtable = - { - .add_config_attributes = _cogl_winsys_egl_add_config_attributes, -+ .choose_config = _cogl_winsys_egl_choose_config, - .display_setup = _cogl_winsys_egl_display_setup, - .display_destroy = _cogl_winsys_egl_display_destroy, - .context_created = _cogl_winsys_egl_context_created, -Index: mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl.c -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/cogl/cogl/winsys/cogl-winsys-egl.c 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/cogl/cogl/winsys/cogl-winsys-egl.c 2018-02-28 10:27:18.840086775 +0100 -@@ -338,10 +338,9 @@ - CoglRendererEGL *egl_renderer = renderer->winsys; - EGLDisplay edpy; - EGLConfig config; -- EGLint config_count = 0; -- EGLBoolean status; - EGLint attribs[9]; - EGLint cfg_attribs[MAX_EGL_CONFIG_ATTRIBS]; -+ GError *config_error = NULL; - const char *error_message; - - _COGL_RETURN_VAL_IF_FAIL (egl_display->egl_context == NULL, TRUE); -@@ -356,14 +355,16 @@ - - edpy = egl_renderer->edpy; - -- status = eglChooseConfig (edpy, -+ if (!egl_renderer->platform_vtable->choose_config (display, - cfg_attribs, -- &config, 1, -- &config_count); -- if (status != EGL_TRUE || config_count == 0) -+ &config, -+ &config_error)) - { -- error_message = "Unable to find a usable EGL configuration"; -- goto fail; -+ _cogl_set_error (error, COGL_WINSYS_ERROR, -+ COGL_WINSYS_ERROR_CREATE_CONTEXT, -+ "Couldn't choose config: %s", config_error->message); -+ g_error_free (config_error); -+ goto err; - } - - egl_display->egl_config = config; -@@ -419,6 +420,7 @@ - COGL_WINSYS_ERROR_CREATE_CONTEXT, - "%s", error_message); - -+err: - cleanup_context (display); - - return FALSE; -Index: mutter-3.26.2+20180207.4b2d21ff0/src/backends/meta-egl.c -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/src/backends/meta-egl.c 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/src/backends/meta-egl.c 2018-02-28 10:27:18.840086775 +0100 -@@ -246,7 +246,73 @@ - } - - gboolean --meta_egl_choose_config (MetaEgl *egl, -+meta_egl_get_config_attrib (MetaEgl *egl, -+ EGLDisplay display, -+ EGLConfig config, -+ EGLint attribute, -+ EGLint *value, -+ GError **error) -+{ -+ if (!eglGetConfigAttrib (display, -+ config, -+ attribute, -+ value)) -+ { -+ set_egl_error (error); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+EGLConfig * -+meta_egl_choose_all_configs (MetaEgl *egl, -+ EGLDisplay display, -+ const EGLint *attrib_list, -+ EGLint *out_num_configs, -+ GError **error) -+{ -+ EGLint num_configs; -+ EGLConfig *configs; -+ EGLint num_matches; -+ -+ if (!eglGetConfigs (display, NULL, 0, &num_configs)) -+ { -+ set_egl_error (error); -+ return FALSE; -+ } -+ -+ if (num_configs < 1) -+ { -+ g_set_error (error, G_IO_ERROR, -+ G_IO_ERROR_FAILED, -+ "No EGL configurations available"); -+ return FALSE; -+ } -+ -+ configs = g_new0 (EGLConfig, num_configs); -+ -+ if (!eglChooseConfig (display, attrib_list, configs, num_configs, &num_matches)) -+ { -+ g_free (configs); -+ set_egl_error (error); -+ return FALSE; -+ } -+ -+ if (num_matches == 0) -+ { -+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, -+ "No matching EGL configs"); -+ g_free (configs); -+ return NULL; -+ } -+ -+ *out_num_configs = num_configs; -+ return configs; -+} -+ -+gboolean -+meta_egl_choose_first_config (MetaEgl *egl, - EGLDisplay display, - const EGLint *attrib_list, - EGLConfig *chosen_config, -@@ -279,6 +345,14 @@ - return FALSE; - } - -+ if (num_matches == 0) -+ { -+ g_free (configs); -+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, -+ "No matching EGLConfig found"); -+ return FALSE; -+ } -+ - /* - * We don't have any preference specified yet, so lets choose the first one. - */ -Index: mutter-3.26.2+20180207.4b2d21ff0/src/backends/meta-egl.h -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/src/backends/meta-egl.h 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/src/backends/meta-egl.h 2018-02-28 10:27:18.840086775 +0100 -@@ -46,12 +46,25 @@ - EGLDisplay display, - GError **error); - --gboolean meta_egl_choose_config (MetaEgl *egl, -+gboolean meta_egl_choose_first_config (MetaEgl *egl, - EGLDisplay display, - const EGLint *attrib_list, - EGLConfig *chosen_config, - GError **error); - -+gboolean meta_egl_get_config_attrib (MetaEgl *egl, -+ EGLDisplay display, -+ EGLConfig config, -+ EGLint attribute, -+ EGLint *value, -+ GError **error); -+ -+EGLConfig * meta_egl_choose_all_configs (MetaEgl *egl, -+ EGLDisplay display, -+ const EGLint *attrib_list, -+ EGLint *out_num_configs, -+ GError **error); -+ - EGLImageKHR meta_egl_create_image (MetaEgl *egl, - EGLDisplay display, - EGLContext context, -Index: mutter-3.26.2+20180207.4b2d21ff0/src/backends/native/meta-renderer-native.c -=================================================================== ---- mutter-3.26.2+20180207.4b2d21ff0.orig/src/backends/native/meta-renderer-native.c 2018-02-07 04:07:59.000000000 +0100 -+++ mutter-3.26.2+20180207.4b2d21ff0/src/backends/native/meta-renderer-native.c 2018-02-28 10:27:18.840086775 +0100 -@@ -332,6 +332,73 @@ - } - - static gboolean -+choose_egl_config_from_gbm_format (MetaEgl *egl, -+ EGLDisplay egl_display, -+ const EGLint *attributes, -+ uint32_t gbm_format, -+ EGLConfig *out_config, -+ GError **error) -+{ -+ EGLConfig *egl_configs; -+ EGLint n_configs; -+ EGLint i; -+ -+ egl_configs = meta_egl_choose_all_configs (egl, egl_display, -+ attributes, -+ &n_configs, -+ error); -+ if (!egl_configs) -+ return FALSE; -+ -+ for (i = 0; i < n_configs; i++) -+ { -+ EGLint visual_id; -+ -+ if (!meta_egl_get_config_attrib (egl, egl_display, -+ egl_configs[i], -+ EGL_NATIVE_VISUAL_ID, -+ &visual_id, -+ error)) -+ { -+ g_free (egl_configs); -+ return FALSE; -+ } -+ -+ if ((uint32_t) visual_id == gbm_format) -+ { -+ *out_config = egl_configs[i]; -+ g_free (egl_configs); -+ return TRUE; -+ } -+ } -+ -+ g_free (egl_configs); -+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, -+ "No EGL config matching supported GBM format found"); -+ return FALSE; -+} -+ -+static gboolean -+meta_renderer_native_choose_egl_config (CoglDisplay *cogl_display, -+ EGLint *attributes, -+ EGLConfig *out_config, -+ GError **error) -+{ -+ CoglRenderer *cogl_renderer = cogl_display->renderer; -+ CoglRendererEGL *cogl_renderer_egl = cogl_renderer->winsys; -+ MetaBackend *backend = meta_get_backend (); -+ MetaEgl *egl = meta_backend_get_egl (backend); -+ EGLDisplay egl_display = cogl_renderer_egl->edpy; -+ -+ return choose_egl_config_from_gbm_format (egl, -+ egl_display, -+ attributes, -+ GBM_FORMAT_XRGB8888, -+ out_config, -+ error); -+} -+ -+static gboolean - meta_renderer_native_setup_egl_display (CoglDisplay *cogl_display, - GError **error) - { -@@ -376,7 +443,7 @@ - EGL_NONE - }; - -- if (!meta_egl_choose_config (egl, egl_display, pbuffer_config_attribs, -+ if (!meta_egl_choose_first_config (egl, egl_display, pbuffer_config_attribs, - &pbuffer_config, error)) - return EGL_NO_SURFACE; - -@@ -1355,6 +1422,7 @@ - static const CoglWinsysEGLVtable - _cogl_winsys_egl_vtable = { - .add_config_attributes = meta_renderer_native_add_egl_config_attributes, -+ .choose_config = meta_renderer_native_choose_egl_config, - .display_setup = meta_renderer_native_setup_egl_display, - .display_destroy = meta_renderer_native_destroy_egl_display, - .context_created = meta_renderer_native_egl_context_created, diff --git a/mutter.changes b/mutter.changes index 052f73a..969feac 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,9 +1,90 @@ +------------------------------------------------------------------- +Tue Mar 6 08:37:38 UTC 2018 - dimstar@opensuse.org + +- Update to version 3.27.92: + + Fix use of modifiers with multi-GPU systems. + + Add xdg-shell stable support (bgo#791938). + + Fix scaling of icons in titlebar buttons + (glgo#GNOME/mutter#23). + + Implement missing wacom functionality on X11 + (glgo#GNOME/mutter#48). + + Force 8-bit RGB config (glgo#GNOME/mutter#2). + + Misc. bug fixes: glgo#GNOME/mutter#6, glgo#GNOME/mutter#27, + bgo#792203. + + Updated translations. +- Drop mutter-force-rgb8.patch: fixed upstream. +- Rename libmutter-1-0 subpackage to libmutter-2-0, following + upstreams sover bump. + +------------------------------------------------------------------- +Thu Mar 1 03:27:51 UTC 2018 - dimstar@opensuse.org + +- Update to version 3.27.91: + + Fix handling of trackball settings on wayland (bgo#787804). + + Apply font settings on wayland (bgo645433). + + Fix keybindings getting mixed up with some layouts + (bgo#789300). + + Fix bluetooth mouse cursor disappearing after idle + (bgo#761067). + + Support platforms that export EGL_KHR_platform_gbm + (bgo#780668). + + Add keyboard accessibility support on wayland (bgo#788564). + + Fix missing cursor when using screen magnifier (bgo#754806). + + Fix external monitor shutting off on wayland when lid closes + (bgo#788915). + + Add xdg-output support (bgo#787363). + + Add Xwayland grab keyboard support (bgo#783342). + + Allow shortcut inhibition of the super key (bgo#790627). + + Take "panel orientation" drm_connector property into account + (bgo#782294). + + Fix focus window ending up below other windows on wayland + (bgo#780820). + + Fix maximized windows restoring to a tiny size on wayland + (bgo#783901). + + Fix tap-and-drag setting on X11 (bgo#775755). + + Fix handling of single-touch devices on wayland + (bgo#792005). + + Support tiled/compressed buffers (bgo#785779). + + Port screencast support to pipewire 0.1.8 (bgo#792854). + + Add support for third stylus button on newer tablets + (bgo#790033). + + Fix background corruption regression on nvidia (bgo#739178). + + Misc. bug fixes: bgo#789153, bgo#788493, bgo#784314, + bgo#789227, bgo#789223, bgo#789277, bgo#782344, bgo#789552, + bgo#789553, bgo#788695, bgo#789984, bgo#788764, bgo#789386, + bgo#784545, bgo#790336, bgo#790358, bgo#791022, bgo#791006, + bgo#789070, bgo#772218, bgo#791383, bgo#791809, bgo#776220, + bgo#791916, bgo#792281, bgo#790309, bgo#791371, bgo#792527, + bgo#792599, bgo#788834, bgo#792765, bgo#792062, bgo#645460, + bgo#792853, bgo#792818, bgo#789501, bgo#789961, + glgo#GNOME/mutter#2, glgo#GNOME/mutter#8, glgo#GNOME/mutter#12, + glgo#GNOME/mutter#10, glgo#GNOME/mutter#13, + glgo#GNOME/mutter#1, glgo#GNOME/mutter#26, + glgo#GNOME/mutter#28, glgo#GNOME/mutter#35, + glgo#GNOME/mutter#36, glgo#GNOME/mutter#38. +- Rebase mutter-force-rgb8.patch. + +------------------------------------------------------------------- +Thu Mar 1 03:27:01 UTC 2018 - badshah400@gmail.com + +- Update to version 3.27.1: + + Support hybrid GPU systems (bgo#785381). + + Fix monitor-manager not chaining up to the parent after new + implementation addition (bgo#788921). +- Add BuildRequires: Mesa-libGLESv3-devel, new upstream + dependency; this is actually not detected by the configure + script, so builds end up failing at the make stage when the + headers are not installed (bgo#789192). +- Stop using git-checkout via source service, return to upstream + released tarballs. +- Following the above, drop libtool BuildRequires and stop passing + autogen.sh, no longer needed. + ------------------------------------------------------------------- Wed Feb 28 09:36:10 UTC 2018 - fcrozat@suse.com - Add mutter-force-rgb8.patch: force 8-bit RGB EGL config, - to prevent slowness when using Wayland with 10-bit display - (bsc#1081931 glgo#GNOME/mutter#2). + to prevent slowness when using Wayland with 10-bit display. ------------------------------------------------------------------- Sun Feb 18 13:11:19 UTC 2018 - bjorn.lie@gmail.com @@ -249,27 +330,6 @@ Tue Aug 8 18:34:12 UTC 2017 - coolo@suse.com - libinput is needed also without wayland, so buildrequire it unconditionally -------------------------------------------------------------------- -Thu Jul 20 13:25:04 UTC 2017 - zaitor@opensuse.org - -- Update to version 3.25.4: - + Do not throttle motion events on tablet tools (bgo#783535). - + Handle left-handed mode on pen/eraser devices (bgo#782027). - + Add wl_surface.damage_buffer() support (bgo#784080). - + Fix crash when moving across on-adjacent monitors (bgo#783630). - + Fix window moving/resizing via tablet tools (bgo#777333). - + Support fractional monitor scaling (bgo#765011). - + Keep override-redirect windows stacked on top (bgo#780485). - + Implement tablet rings/strips configuration (bgo#782033). - + Support tablet wheel events on wayland (bgo#783716). - + Move g-s-d xrandr functionality into mutter (bgo#781906). - + Misc. bug fixes: bgo#783502, bgo#784009, bgo#784223, - bgo#784272, bgo#784402, bgo#784881, bgo#762083, bgo#784867, - bgo#781723. -- Drop desktop_database_post(un) and - glib2_gsettings_schema_post(un) from post(un), no longer needed - as we have file-triggers to take care of this for us now. - ------------------------------------------------------------------- Thu Jul 20 13:25:04 UTC 2017 - dimstar@opensuse.org diff --git a/mutter.spec b/mutter.spec index 19d3577..50f11b8 100644 --- a/mutter.spec +++ b/mutter.spec @@ -17,22 +17,17 @@ Name: mutter -Version: 3.26.2+20180207.4b2d21ff0 +Version: 3.27.92 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0-or-later Group: System/GUI/GNOME -Url: https://www.gnome.org -#Source0: https://download.gnome.org/sources/mutter/3.26/%%{name}-%%{version}.tar.xz -Source: %{name}-%{version}.tar.xz - +URL: https://www.gnome.org +Source0: http://download.gnome.org/sources/mutter/3.27/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch -# PATCH-FIX-UPSTREAM mutter-force-rgb8.patch bsc#1081931 glgo#GNOME/mutter#2 fcrozat@suse.Com -- Force RGB8 to prevent Wayland slowness -Patch2: mutter-force-rgb8.patch - # SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch @@ -40,15 +35,16 @@ Patch1000: mutter-SLE-bell.patch Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch # PATCH-FIX-UPSTREAM mutter-SLE-bsc984738-grab-display.patch bsc#984738 bgo#769387 hpj@suse.com -- Revert a upstream commit to avoid X11 race condition that results in wrong dialog sizes. Patch1002: mutter-SLE-bsc984738-grab-display.patch - +# Not available in openSUSE yet +# BuildRequires: pkgconfig(libpipewire-0.1) +BuildRequires: Mesa-libGLESv3-devel BuildRequires: fdupes BuildRequires: intltool -BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: zenity BuildRequires: pkgconfig(cairo) >= 1.10.0 BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(gbm) >= 10.3 +BuildRequires: pkgconfig(gbm) >= 17.1 BuildRequires: pkgconfig(gio-unix-2.0) >= 2.53.2 BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(gnome-desktop-3.0) @@ -58,10 +54,8 @@ BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.7 BuildRequires: pkgconfig(gudev-1.0) >= 232 BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libcanberra-gtk3) -BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libdrm) >= 2.4.83 BuildRequires: pkgconfig(libinput) -# Not available in openSUSE yet -# BuildRequires: pkgconfig(libpipewire-0.1) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libudev) >= 136 @@ -69,7 +63,7 @@ BuildRequires: pkgconfig(libwacom) BuildRequires: pkgconfig(pango) >= 1.2.0 BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(upower-glib) >= 0.99.0 -BuildRequires: pkgconfig(wayland-protocols) >= 1.9 +BuildRequires: pkgconfig(wayland-protocols) >= 1.10 BuildRequires: pkgconfig(wayland-server) >= 1.13.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) @@ -101,7 +95,7 @@ BuildRequires: translation-update-upstream Mutter is a window and compositing manager based on Clutter, forked from Metacity. -%package -n libmutter-1-0 +%package -n libmutter-2-0 Summary: Window and compositing manager based on Clutter # we need the gsettings schema; hopefully, they'll stay backwards compatible # (since we can't require = version, to not break SLPP) @@ -109,7 +103,7 @@ Group: System/Libraries Requires: %{name}-data >= %{version} Obsoletes: libmutter0 -%description -n libmutter-1-0 +%description -n libmutter-2-0 Mutter is a window and compositing manager based on Clutter, forked from Metacity. @@ -130,7 +124,7 @@ This package contains data files needed by mutter and its library. Summary: Development files for mutter, a window and compositing manager Group: Development/Libraries/GNOME Requires: %{name} = %{version} -Requires: libmutter-1-0 = %{version} +Requires: libmutter-2-0 = %{version} %description devel This subpackage contains libraries and header files for developing @@ -142,7 +136,6 @@ applications that want to make use of the mutter library. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 # SLE-only patches and translations. %if !0%{?is_opensuse} @@ -154,7 +147,6 @@ translation-update-upstream %build # FIXME add --enable-remote-desktop when libpipewire-0.1 is available -NOCONFIGURE=1 ./autogen.sh %configure \ --enable-wayland \ --enable-native-backend \ @@ -170,8 +162,8 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %find_lang %{name} %{?no_lang_C} %fdupes %{buildroot}%{_prefix} -%post -n libmutter-1-0 -p /sbin/ldconfig -%postun -n libmutter-1-0 -p /sbin/ldconfig +%post -n libmutter-2-0 -p /sbin/ldconfig +%postun -n libmutter-2-0 -p /sbin/ldconfig %files %license COPYING @@ -179,25 +171,25 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %{_mandir}/man1/mutter.1%{?ext_man} %{_bindir}/mutter # These so files are not split out since they are private to mutter -%{_libdir}/mutter/libmutter-clutter-1.so -%{_libdir}/mutter/libmutter-cogl-pango-1.so -%{_libdir}/mutter/libmutter-cogl-path-1.so -%{_libdir}/mutter/libmutter-cogl-1.so +%{_libdir}/mutter/libmutter-clutter-2.so +%{_libdir}/mutter/libmutter-cogl-pango-2.so +%{_libdir}/mutter/libmutter-cogl-path-2.so +%{_libdir}/mutter/libmutter-cogl-2.so %{_libdir}/mutter/plugins/default.so # %{_libexecdir}/mutter-restart-helper %{_datadir}/applications/mutter.desktop # These typelibs are not split out since they are private to mutter -%{_libdir}/mutter/Cally-1.typelib -%{_libdir}/mutter/Clutter-1.typelib -%{_libdir}/mutter/ClutterX11-1.typelib -%{_libdir}/mutter/Cogl-1.typelib -%{_libdir}/mutter/CoglPango-1.typelib -%{_libdir}/mutter/Meta-1.typelib +%{_libdir}/mutter/Cally-2.typelib +%{_libdir}/mutter/Clutter-2.typelib +%{_libdir}/mutter/ClutterX11-2.typelib +%{_libdir}/mutter/Cogl-2.typelib +%{_libdir}/mutter/CoglPango-2.typelib +%{_libdir}/mutter/Meta-2.typelib # -%files -n libmutter-1-0 -%{_libdir}/libmutter-1.so.* +%files -n libmutter-2-0 +%{_libdir}/libmutter-2.so.* %dir %{_libdir}/mutter/ # users of libmutter need this directory %dir %{_libdir}/mutter/plugins/ @@ -218,18 +210,18 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %files devel %{_includedir}/mutter/ -%{_libdir}/libmutter-1.so -%{_libdir}/mutter/Meta-1.gir -%{_libdir}/mutter/Cally-1.gir -%{_libdir}/mutter/Clutter-1.gir -%{_libdir}/mutter/ClutterX11-1.gir -%{_libdir}/mutter/Cogl-1.gir -%{_libdir}/mutter/CoglPango-1.gir -%{_libdir}/pkgconfig/libmutter-1.pc -%{_libdir}/pkgconfig/mutter-clutter-1.pc -%{_libdir}/pkgconfig/mutter-clutter-x11-1.pc -%{_libdir}/pkgconfig/mutter-cogl-1.pc -%{_libdir}/pkgconfig/mutter-cogl-pango-1.pc -%{_libdir}/pkgconfig/mutter-cogl-path-1.pc +%{_libdir}/libmutter-2.so +%{_libdir}/mutter/Meta-2.gir +%{_libdir}/mutter/Cally-2.gir +%{_libdir}/mutter/Clutter-2.gir +%{_libdir}/mutter/ClutterX11-2.gir +%{_libdir}/mutter/Cogl-2.gir +%{_libdir}/mutter/CoglPango-2.gir +%{_libdir}/pkgconfig/libmutter-2.pc +%{_libdir}/pkgconfig/mutter-clutter-2.pc +%{_libdir}/pkgconfig/mutter-clutter-x11-2.pc +%{_libdir}/pkgconfig/mutter-cogl-2.pc +%{_libdir}/pkgconfig/mutter-cogl-pango-2.pc +%{_libdir}/pkgconfig/mutter-cogl-path-2.pc %changelog From 4bcafa89d8dc21d3827d2bfd5dbc1ea148d896736f032d5943b8c210c2d95cd2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 10 Mar 2018 12:40:53 +0000 Subject: [PATCH 2/5] Accepting request 585291 from GNOME:Next Update to 3.27.92 OBS-URL: https://build.opensuse.org/request/show/585291 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=280 --- mutter.changes | 31 +++++++++++++++++++- mutter.spec | 76 +++++++++++++++++++++++++++----------------------- 2 files changed, 71 insertions(+), 36 deletions(-) diff --git a/mutter.changes b/mutter.changes index 969feac..fdfd3d8 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Mar 9 19:26:49 UTC 2018 - bjorn.lie@gmail.com + +- Add mutter_major and mutter_minor define, and set them to 2 and + 0 respectively, make future sover bumps less painfull to + package. + ------------------------------------------------------------------- Tue Mar 6 08:37:38 UTC 2018 - dimstar@opensuse.org @@ -84,7 +91,8 @@ Thu Mar 1 03:27:01 UTC 2018 - badshah400@gmail.com Wed Feb 28 09:36:10 UTC 2018 - fcrozat@suse.com - Add mutter-force-rgb8.patch: force 8-bit RGB EGL config, - to prevent slowness when using Wayland with 10-bit display. + to prevent slowness when using Wayland with 10-bit display + (bsc#1081931 glgo#GNOME/mutter#2). ------------------------------------------------------------------- Sun Feb 18 13:11:19 UTC 2018 - bjorn.lie@gmail.com @@ -330,6 +338,27 @@ Tue Aug 8 18:34:12 UTC 2017 - coolo@suse.com - libinput is needed also without wayland, so buildrequire it unconditionally +------------------------------------------------------------------- +Thu Jul 20 13:25:04 UTC 2017 - zaitor@opensuse.org + +- Update to version 3.25.4: + + Do not throttle motion events on tablet tools (bgo#783535). + + Handle left-handed mode on pen/eraser devices (bgo#782027). + + Add wl_surface.damage_buffer() support (bgo#784080). + + Fix crash when moving across on-adjacent monitors (bgo#783630). + + Fix window moving/resizing via tablet tools (bgo#777333). + + Support fractional monitor scaling (bgo#765011). + + Keep override-redirect windows stacked on top (bgo#780485). + + Implement tablet rings/strips configuration (bgo#782033). + + Support tablet wheel events on wayland (bgo#783716). + + Move g-s-d xrandr functionality into mutter (bgo#781906). + + Misc. bug fixes: bgo#783502, bgo#784009, bgo#784223, + bgo#784272, bgo#784402, bgo#784881, bgo#762083, bgo#784867, + bgo#781723. +- Drop desktop_database_post(un) and + glib2_gsettings_schema_post(un) from post(un), no longer needed + as we have file-triggers to take care of this for us now. + ------------------------------------------------------------------- Thu Jul 20 13:25:04 UTC 2017 - dimstar@opensuse.org diff --git a/mutter.spec b/mutter.spec index 50f11b8..45380e0 100644 --- a/mutter.spec +++ b/mutter.spec @@ -16,6 +16,9 @@ # +%define mutter_major 2 +%define mutter_minor 0 + Name: mutter Version: 3.27.92 Release: 0 @@ -24,10 +27,12 @@ License: GPL-2.0-or-later Group: System/GUI/GNOME URL: https://www.gnome.org Source0: http://download.gnome.org/sources/mutter/3.27/%{name}-%{version}.tar.xz + # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch + # SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch @@ -35,6 +40,7 @@ Patch1000: mutter-SLE-bell.patch Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch # PATCH-FIX-UPSTREAM mutter-SLE-bsc984738-grab-display.patch bsc#984738 bgo#769387 hpj@suse.com -- Revert a upstream commit to avoid X11 race condition that results in wrong dialog sizes. Patch1002: mutter-SLE-bsc984738-grab-display.patch + # Not available in openSUSE yet # BuildRequires: pkgconfig(libpipewire-0.1) BuildRequires: Mesa-libGLESv3-devel @@ -95,7 +101,7 @@ BuildRequires: translation-update-upstream Mutter is a window and compositing manager based on Clutter, forked from Metacity. -%package -n libmutter-2-0 +%package -n libmutter-%{mutter_major}-%{mutter_minor} Summary: Window and compositing manager based on Clutter # we need the gsettings schema; hopefully, they'll stay backwards compatible # (since we can't require = version, to not break SLPP) @@ -103,7 +109,7 @@ Group: System/Libraries Requires: %{name}-data >= %{version} Obsoletes: libmutter0 -%description -n libmutter-2-0 +%description -n libmutter-%{mutter_major}-%{mutter_minor} Mutter is a window and compositing manager based on Clutter, forked from Metacity. @@ -124,7 +130,7 @@ This package contains data files needed by mutter and its library. Summary: Development files for mutter, a window and compositing manager Group: Development/Libraries/GNOME Requires: %{name} = %{version} -Requires: libmutter-2-0 = %{version} +Requires: libmutter-%{mutter_major}-%{mutter_minor} = %{version} %description devel This subpackage contains libraries and header files for developing @@ -162,34 +168,34 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %find_lang %{name} %{?no_lang_C} %fdupes %{buildroot}%{_prefix} -%post -n libmutter-2-0 -p /sbin/ldconfig -%postun -n libmutter-2-0 -p /sbin/ldconfig +%post -n libmutter-%{mutter_major}-%{mutter_minor} -p /sbin/ldconfig +%postun -n libmutter-%{mutter_major}-%{mutter_minor} -p /sbin/ldconfig %files %license COPYING %doc NEWS %{_mandir}/man1/mutter.1%{?ext_man} %{_bindir}/mutter -# These so files are not split out since they are private to mutter -%{_libdir}/mutter/libmutter-clutter-2.so -%{_libdir}/mutter/libmutter-cogl-pango-2.so -%{_libdir}/mutter/libmutter-cogl-path-2.so -%{_libdir}/mutter/libmutter-cogl-2.so -%{_libdir}/mutter/plugins/default.so -# %{_libexecdir}/mutter-restart-helper %{_datadir}/applications/mutter.desktop -# These typelibs are not split out since they are private to mutter -%{_libdir}/mutter/Cally-2.typelib -%{_libdir}/mutter/Clutter-2.typelib -%{_libdir}/mutter/ClutterX11-2.typelib -%{_libdir}/mutter/Cogl-2.typelib -%{_libdir}/mutter/CoglPango-2.typelib -%{_libdir}/mutter/Meta-2.typelib -# -%files -n libmutter-2-0 -%{_libdir}/libmutter-2.so.* +# These so files are not split out since they are private to mutter +%{_libdir}/mutter/libmutter-clutter-%{mutter_major}.so +%{_libdir}/mutter/libmutter-cogl-pango-%{mutter_major}.so +%{_libdir}/mutter/libmutter-cogl-path-%{mutter_major}.so +%{_libdir}/mutter/libmutter-cogl-%{mutter_major}.so +%{_libdir}/mutter/plugins/default.so + +# These typelibs are not split out since they are private to mutter +%{_libdir}/mutter/Cally-%{mutter_major}.typelib +%{_libdir}/mutter/Clutter-%{mutter_major}.typelib +%{_libdir}/mutter/ClutterX11-%{mutter_major}.typelib +%{_libdir}/mutter/Cogl-%{mutter_major}.typelib +%{_libdir}/mutter/CoglPango-%{mutter_major}.typelib +%{_libdir}/mutter/Meta-%{mutter_major}.typelib + +%files -n libmutter-%{mutter_major}-%{mutter_minor} +%{_libdir}/libmutter-%{mutter_major}.so.* %dir %{_libdir}/mutter/ # users of libmutter need this directory %dir %{_libdir}/mutter/plugins/ @@ -210,18 +216,18 @@ find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print %files devel %{_includedir}/mutter/ -%{_libdir}/libmutter-2.so -%{_libdir}/mutter/Meta-2.gir -%{_libdir}/mutter/Cally-2.gir -%{_libdir}/mutter/Clutter-2.gir -%{_libdir}/mutter/ClutterX11-2.gir -%{_libdir}/mutter/Cogl-2.gir -%{_libdir}/mutter/CoglPango-2.gir -%{_libdir}/pkgconfig/libmutter-2.pc -%{_libdir}/pkgconfig/mutter-clutter-2.pc -%{_libdir}/pkgconfig/mutter-clutter-x11-2.pc -%{_libdir}/pkgconfig/mutter-cogl-2.pc -%{_libdir}/pkgconfig/mutter-cogl-pango-2.pc -%{_libdir}/pkgconfig/mutter-cogl-path-2.pc +%{_libdir}/libmutter-%{mutter_major}.so +%{_libdir}/mutter/Meta-%{mutter_major}.gir +%{_libdir}/mutter/Cally-%{mutter_major}.gir +%{_libdir}/mutter/Clutter-%{mutter_major}.gir +%{_libdir}/mutter/ClutterX11-%{mutter_major}.gir +%{_libdir}/mutter/Cogl-%{mutter_major}.gir +%{_libdir}/mutter/CoglPango-%{mutter_major}.gir +%{_libdir}/pkgconfig/libmutter-%{mutter_major}.pc +%{_libdir}/pkgconfig/mutter-clutter-%{mutter_major}.pc +%{_libdir}/pkgconfig/mutter-clutter-x11-%{mutter_major}.pc +%{_libdir}/pkgconfig/mutter-cogl-%{mutter_major}.pc +%{_libdir}/pkgconfig/mutter-cogl-pango-%{mutter_major}.pc +%{_libdir}/pkgconfig/mutter-cogl-path-%{mutter_major}.pc %changelog From d43ef8abb1fc4574cac594d2555cbac768ae7eaa168528c73029bd6738b67c3d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 12 Mar 2018 17:33:48 +0000 Subject: [PATCH 3/5] Accepting request 586033 from GNOME:Next - Obsolete libmutter-1-0 by libmutter-2-0: Needed in order to make upgrades work reliably. As libmutter is so closely tied to mutter itself, we should probably consider in the future to fold it back into the main package. OBS-URL: https://build.opensuse.org/request/show/586033 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=281 --- mutter.changes | 8 ++++++++ mutter.spec | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/mutter.changes b/mutter.changes index fdfd3d8..8f78dc6 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Mar 12 17:29:02 UTC 2018 - dimstar@opensuse.org + +- Obsolete libmutter-1-0 by libmutter-2-0: Needed in order to make + upgrades work reliably. As libmutter is so closely tied to mutter + itself, we should probably consider in the future to fold it back + into the main package. + ------------------------------------------------------------------- Fri Mar 9 19:26:49 UTC 2018 - bjorn.lie@gmail.com diff --git a/mutter.spec b/mutter.spec index 45380e0..674e237 100644 --- a/mutter.spec +++ b/mutter.spec @@ -18,7 +18,6 @@ %define mutter_major 2 %define mutter_minor 0 - Name: mutter Version: 3.27.92 Release: 0 @@ -27,12 +26,10 @@ License: GPL-2.0-or-later Group: System/GUI/GNOME URL: https://www.gnome.org Source0: http://download.gnome.org/sources/mutter/3.27/%{name}-%{version}.tar.xz - # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch - # SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch @@ -40,7 +37,6 @@ Patch1000: mutter-SLE-bell.patch Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch # PATCH-FIX-UPSTREAM mutter-SLE-bsc984738-grab-display.patch bsc#984738 bgo#769387 hpj@suse.com -- Revert a upstream commit to avoid X11 race condition that results in wrong dialog sizes. Patch1002: mutter-SLE-bsc984738-grab-display.patch - # Not available in openSUSE yet # BuildRequires: pkgconfig(libpipewire-0.1) BuildRequires: Mesa-libGLESv3-devel @@ -107,7 +103,11 @@ Summary: Window and compositing manager based on Clutter # (since we can't require = version, to not break SLPP) Group: System/Libraries Requires: %{name}-data >= %{version} +# We need to obsolete the old mutter libs, as otherwise upgrading is impossible +# This makes me believe we should probably fold libmutter into the main package +# with the next update (3.30) Obsoletes: libmutter0 +Obsoletes: libmutter-1-0 %description -n libmutter-%{mutter_major}-%{mutter_minor} Mutter is a window and compositing manager based on Clutter, forked From 0d6883406c2e514c3dc15b30543d866a5103b81c939e3a7dd04b6835aff6fda6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Mar 2018 08:24:03 +0000 Subject: [PATCH 4/5] Accepting request 586107 from GNOME:Next OBS-URL: https://build.opensuse.org/request/show/586107 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=282 --- mutter-3.27.92.tar.xz | 3 --- mutter-3.28.0.tar.xz | 3 +++ mutter.changes | 7 +++++++ mutter.spec | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 mutter-3.27.92.tar.xz create mode 100644 mutter-3.28.0.tar.xz diff --git a/mutter-3.27.92.tar.xz b/mutter-3.27.92.tar.xz deleted file mode 100644 index d3b731d..0000000 --- a/mutter-3.27.92.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:227e5f6681634eb16708688e2621f7276878d0ab5eb770d056fdb1f34700ade3 -size 3691300 diff --git a/mutter-3.28.0.tar.xz b/mutter-3.28.0.tar.xz new file mode 100644 index 0000000..3bdbce0 --- /dev/null +++ b/mutter-3.28.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58fffc8025f21fb6da27bd2189b6db4d20c54f950b1a46aa7f7cbf0a82d386b0 +size 3690644 diff --git a/mutter.changes b/mutter.changes index 8f78dc6..d3620a3 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 12 22:55:24 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 3.28.0: + + Fix xdg-foreign regression (glgo#mutter#63). + + Updated translations. + ------------------------------------------------------------------- Mon Mar 12 17:29:02 UTC 2018 - dimstar@opensuse.org diff --git a/mutter.spec b/mutter.spec index 674e237..60c582c 100644 --- a/mutter.spec +++ b/mutter.spec @@ -19,13 +19,13 @@ %define mutter_major 2 %define mutter_minor 0 Name: mutter -Version: 3.27.92 +Version: 3.28.0 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0-or-later Group: System/GUI/GNOME URL: https://www.gnome.org -Source0: http://download.gnome.org/sources/mutter/3.27/%{name}-%{version}.tar.xz +Source0: http://download.gnome.org/sources/mutter/3.28/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 zaitor@opensuse.org -- Fix slow startup notification on wayland Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions From d16845c4feec3923367c8c19f6f92be70d199f18b5791532911686241e19ab61 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 14 Mar 2018 10:46:21 +0000 Subject: [PATCH 5/5] Accepting request 586752 from GNOME:Next - Add mutter-xwayland-use-gdm-auth-file.patch (bsc#1084737): If an Xauthority file was created for us by the display manager, pass it to Xwayland -auth. OBS-URL: https://build.opensuse.org/request/show/586752 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=283 --- mutter-xwayland-use-gdm-auth-file.patch | 123 ++++++++++++++++++++++++ mutter.changes | 7 ++ mutter.spec | 3 + 3 files changed, 133 insertions(+) create mode 100644 mutter-xwayland-use-gdm-auth-file.patch diff --git a/mutter-xwayland-use-gdm-auth-file.patch b/mutter-xwayland-use-gdm-auth-file.patch new file mode 100644 index 0000000..b795bb9 --- /dev/null +++ b/mutter-xwayland-use-gdm-auth-file.patch @@ -0,0 +1,123 @@ +Index: mutter-3.28.0/src/wayland/meta-xwayland.c +=================================================================== +--- mutter-3.28.0.orig/src/wayland/meta-xwayland.c ++++ mutter-3.28.0/src/wayland/meta-xwayland.c +@@ -32,6 +32,12 @@ + #include + #include + ++/* For g_open() */ ++#include ++#include ++#include ++#include ++ + #include "compositor/meta-surface-actor-wayland.h" + #include "wayland/meta-wayland-actor-surface.h" + +@@ -508,6 +514,37 @@ on_displayfd_ready (int fd, + return G_SOURCE_REMOVE; + } + ++/* Look for an Xauthority file that may have been created by gdm */ ++static char * ++find_auth_file (void) ++{ ++ char *auth_dir = NULL; ++ char *auth_file = NULL; ++ int fd; ++ ++ auth_dir = g_build_filename (g_get_user_runtime_dir (), ++ "gdm", ++ NULL); ++ ++ auth_file = g_build_filename (auth_dir, "Xauthority", NULL); ++ g_clear_pointer (&auth_dir, g_free); ++ ++ /* Check that we can open the file. In theory it could still go away before ++ * Xwayland gets a chance to run, but at least we can be fairly sure. */ ++ ++ fd = g_open (auth_file, O_RDWR, 0700); ++ ++ if (fd < 0) { ++ g_clear_pointer (&auth_file, g_free); ++ goto out; ++ } ++ ++ g_close (fd, NULL); ++ ++out: ++ return auth_file; ++} ++ + gboolean + meta_xwayland_start (MetaXWaylandManager *manager, + struct wl_display *wl_display) +@@ -517,11 +554,14 @@ meta_xwayland_start (MetaXWaylandManager + gboolean started = FALSE; + g_autoptr(GSubprocessLauncher) launcher = NULL; + GSubprocessFlags flags; ++ gchar *auth_file = NULL; + GError *error = NULL; + + if (!choose_xdisplay (manager)) + goto out; + ++ auth_file = find_auth_file (); ++ + /* We want xwayland to be a wayland client so we make a socketpair to setup a + * wayland protocol connection. */ + if (socketpair (AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, xwayland_client_fd) < 0) +@@ -560,16 +600,34 @@ meta_xwayland_start (MetaXWaylandManager + * won't try to reconnect and crash, leaving uninteresting core dumps. We do + * want core dumps from Xwayland but only if a real bug occurs... + */ +- manager->proc = g_subprocess_launcher_spawn (launcher, &error, +- XWAYLAND_PATH, manager->display_name, +- "-rootless", +- "-terminate", +- "-accessx", +- "-core", +- "-listen", "4", +- "-listen", "5", +- "-displayfd", "6", +- NULL); ++ if (auth_file) ++ { ++ manager->proc = g_subprocess_launcher_spawn (launcher, &error, ++ XWAYLAND_PATH, manager->display_name, ++ "-rootless", ++ "-terminate", ++ "-accessx", ++ "-core", ++ "-auth", auth_file, ++ "-listen", "4", ++ "-listen", "5", ++ "-displayfd", "6", ++ NULL); ++ } ++ else ++ { ++ manager->proc = g_subprocess_launcher_spawn (launcher, &error, ++ XWAYLAND_PATH, manager->display_name, ++ "-rootless", ++ "-terminate", ++ "-accessx", ++ "-core", ++ "-listen", "4", ++ "-listen", "5", ++ "-displayfd", "6", ++ NULL); ++ } ++ + if (!manager->proc) + { + g_error ("Failed to spawn Xwayland: %s", error->message); +@@ -591,6 +649,7 @@ meta_xwayland_start (MetaXWaylandManager + started = TRUE; + + out: ++ g_free (auth_file); + if (!started) + { + unlink (manager->lock_file); diff --git a/mutter.changes b/mutter.changes index d3620a3..a6d27f7 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Mar 14 01:58:11 CET 2018 - hpj@suse.com + +- Add mutter-xwayland-use-gdm-auth-file.patch (bsc#1084737): If + an Xauthority file was created for us by the display manager, + pass it to Xwayland -auth. + ------------------------------------------------------------------- Mon Mar 12 22:55:24 UTC 2018 - bjorn.lie@gmail.com diff --git a/mutter.spec b/mutter.spec index 60c582c..9f07d27 100644 --- a/mutter.spec +++ b/mutter.spec @@ -30,6 +30,8 @@ Source0: http://download.gnome.org/sources/mutter/3.28/%{name}-%{version} Patch0: mutter-fix-startup.patch # PATCH-FEATURE-UPSTREAM mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch FATE#323412 bgo#781704 bsc#1024748 vliaskovitis@suse.com -- iconcache: Support RGB16_565 format for 16-bit sessions Patch1: mutter-iconcache-Support-RGB16_565-format-for-16-bit-color-.patch +# PATCH-FIX-OPENSUSE mutter-xwayland-use-gdm-auth-file.patch bsc#1084737 hpj@suse.com -- Pass an Xauthority file to Xwayland -auth if found +Patch2: mutter-xwayland-use-gdm-auth-file.patch # SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch @@ -142,6 +144,7 @@ applications that want to make use of the mutter library. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 # SLE-only patches and translations. %if !0%{?is_opensuse}