Hello community, here is the log from the commit of package mutter for openSUSE:Factory checked in at 2018-03-14 19:33:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mutter (Old) and /work/SRC/openSUSE:Factory/.mutter.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutter" Wed Mar 14 19:33:29 2018 rev:124 rq:586756 version:3.28.0 Changes: -------- --- /work/SRC/openSUSE:Factory/mutter/mutter.changes 2018-02-28 20:01:12.939255444 +0100 +++ /work/SRC/openSUSE:Factory/.mutter.new/mutter.changes 2018-03-14 19:33:34.376848238 +0100 @@ -1,0 +2,111 @@ +Wed Mar 14 01:58:11 CET 2018 - [email protected] + +- 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 - [email protected] + +- Update to version 3.28.0: + + Fix xdg-foreign regression (glgo#mutter#63). + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 12 17:29:02 UTC 2018 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- 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. + +------------------------------------------------------------------- Old: ---- _service _servicedata mutter-3.26.2+20180207.4b2d21ff0.tar.xz mutter-force-rgb8.patch New: ---- mutter-3.28.0.tar.xz mutter-xwayland-use-gdm-auth-file.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mutter.spec ++++++ --- /var/tmp/diff_new_pack.GZhgTs/_old 2018-03-14 19:33:35.420811162 +0100 +++ /var/tmp/diff_new_pack.GZhgTs/_new 2018-03-14 19:33:35.420811162 +0100 @@ -16,23 +16,22 @@ # +%define mutter_major 2 +%define mutter_minor 0 Name: mutter -Version: 3.26.2+20180207.4b2d21ff0 +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: 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.28/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM mutter-fix-startup.patch bgo#768531 [email protected] -- 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 [email protected] -- 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 [email protected] -- Force RGB8 to prevent Wayland slowness -Patch2: mutter-force-rgb8.patch - +# PATCH-FIX-OPENSUSE mutter-xwayland-use-gdm-auth-file.patch bsc#1084737 [email protected] -- 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 [email protected] -- make audible bell work out of the box. Patch1000: mutter-SLE-bell.patch @@ -40,15 +39,16 @@ Patch1001: mutter-SLE-relax-some-constraints-on-CSD-windows.patch # PATCH-FIX-UPSTREAM mutter-SLE-bsc984738-grab-display.patch bsc#984738 bgo#769387 [email protected] -- 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 +58,8 @@ 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 +67,7 @@ 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,15 +99,19 @@ Mutter is a window and compositing manager based on Clutter, forked from Metacity. -%package -n libmutter-1-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) 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-1-0 +%description -n libmutter-%{mutter_major}-%{mutter_minor} Mutter is a window and compositing manager based on Clutter, forked from Metacity. @@ -130,7 +132,7 @@ Summary: Development files for mutter, a window and compositing manager Group: Development/Libraries/GNOME Requires: %{name} = %{version} -Requires: libmutter-1-0 = %{version} +Requires: libmutter-%{mutter_major}-%{mutter_minor} = %{version} %description devel This subpackage contains libraries and header files for developing @@ -154,7 +156,6 @@ %build # FIXME add --enable-remote-desktop when libpipewire-0.1 is available -NOCONFIGURE=1 ./autogen.sh %configure \ --enable-wayland \ --enable-native-backend \ @@ -170,34 +171,34 @@ %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-%{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-1.so -%{_libdir}/mutter/libmutter-cogl-pango-1.so -%{_libdir}/mutter/libmutter-cogl-path-1.so -%{_libdir}/mutter/libmutter-cogl-1.so -%{_libdir}/mutter/plugins/default.so -# %{_libexecdir}/mutter-restart-helper %{_datadir}/applications/mutter.desktop + +# 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-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-%{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-1-0 -%{_libdir}/libmutter-1.so.* +%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/ @@ -218,18 +219,18 @@ %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-%{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 ++++++ mutter-3.26.2+20180207.4b2d21ff0.tar.xz -> mutter-3.28.0.tar.xz ++++++ ++++ 241535 lines of diff (skipped) ++++++ mutter-xwayland-use-gdm-auth-file.patch ++++++ 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 <sys/socket.h> #include <sys/un.h> +/* For g_open() */ +#include <glib/gstdio.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> + #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);
