Hello community,

here is the log from the commit of package kwin5 for openSUSE:Factory checked 
in at 2019-06-12 13:29:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwin5 (Old)
 and      /work/SRC/openSUSE:Factory/.kwin5.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwin5"

Wed Jun 12 13:29:32 2019 rev:98 rq:708309 version:5.16.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwin5/kwin5.changes      2019-05-09 
10:06:22.488506609 +0200
+++ /work/SRC/openSUSE:Factory/.kwin5.new.4811/kwin5.changes    2019-06-12 
13:29:34.120260744 +0200
@@ -1,0 +2,34 @@
+Thu Jun  6 14:07:08 UTC 2019 - [email protected]
+
+- Update to 5.16.0
+  * New bugfix release
+  * For more details please see:
+  * https://www.kde.org/announcements/plasma-5.16.0.php
+- Changes since 5.15.90:
+  * Avoid again invalid geometry of internal clients (kde#386304)
+  * [effects/screenshot] Upload data to xpixmap in chunks
+  * Move knsrc files to the new location
+  * Avoid potential assert in SM saving (kde#395712)
+
+-------------------------------------------------------------------
+Sun Jun  2 19:51:52 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Use the right require type for permissions.
+
+-------------------------------------------------------------------
+Fri May 17 19:18:45 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Mention Qt plugins and QML modules explicitly
+- Move htmldoc translations to -lang subpackage
+
+-------------------------------------------------------------------
+Thu May 16 16:56:38 UTC 2019 - [email protected]
+
+- Update to 5.15.90
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/plasma-5.15.90.php
+- Too many changes to list here
+- Adjust 0001-Use-Xauthority-for-Xwayland.patch for upstream changes
+
+-------------------------------------------------------------------

Old:
----
  kwin-5.15.5.tar.xz
  kwin-5.15.5.tar.xz.sig

New:
----
  kwin-5.16.0.tar.xz
  kwin-5.16.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kwin5.spec ++++++
--- /var/tmp/diff_new_pack.nmXW6d/_old  2019-06-12 13:29:34.820260377 +0200
+++ /var/tmp/diff_new_pack.nmXW6d/_new  2019-06-12 13:29:34.824260375 +0200
@@ -21,7 +21,7 @@
 %global wayland (0%{?suse_version} >= 1330)
 %bcond_without lang
 Name:           kwin5
-Version:        5.15.5
+Version:        5.16.0
 Release:        0
 # Full Plasma 5 version (e.g. 5.8.95)
 %{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}}
@@ -31,9 +31,9 @@
 License:        GPL-2.0-or-later AND GPL-3.0-or-later
 Group:          System/GUI/KDE
 Url:            http://www.kde.org
-Source:         
https://download.kde.org/stable/plasma/%{version}/kwin-%{version}.tar.xz
+Source:         kwin-%{version}.tar.xz
 %if %{with lang}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/kwin-%{version}.tar.xz.sig
+Source1:        kwin-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 # PATCH-FIX-OPENSUSE
@@ -120,6 +120,7 @@
 BuildRequires:  pkgconfig(xcb-shape) >= 1.10
 BuildRequires:  pkgconfig(xcb-shm) >= 1.10
 BuildRequires:  pkgconfig(xcb-sync) >= 1.10
+BuildRequires:  pkgconfig(xcb-util)
 BuildRequires:  pkgconfig(xcb-xfixes) >= 1.10
 BuildRequires:  pkgconfig(xi)
 BuildRequires:  pkgconfig(xkbcommon) >= 0.7.0
@@ -142,6 +143,9 @@
 %requires_eq    libQt5Core5
 %requires_eq    libQt5Gui5
 Provides:       windowmanager
+# For post and verifyscript
+Requires(post): permissions
+Requires(verify): permissions
 %requires_ge Mesa-libEGL1
 %requires_ge libKF5WindowSystem5
 %requires_ge plasma-framework
@@ -187,8 +191,10 @@
 %endif
 %if %{with lang}
   %kf5_find_lang
+  %kf5_find_htmldocs
 %endif
-  %fdupes %{buildroot}%{_kf5_libdir} %{buildroot}%{_datadir}
+  %fdupes %{buildroot}%{_kf5_libdir}
+  %fdupes %{buildroot}%{_datadir}
 
 %post
 /sbin/ldconfig
@@ -209,8 +215,9 @@
 %verify(not caps) %{_kf5_bindir}/kwin_wayland
 %endif
 %{_kf5_bindir}/kwin_x11
-%config %{_kf5_configdir}/*.knsrc
 %config %{_kf5_configdir}/org_kde_kwin.categories
+%{_kf5_knsrcfilesdir}/*.knsrc
+
 %{_kf5_libdir}/kconf_update_bin/
 %{_kf5_libdir}/libexec/
 %{_kf5_libdir}/libkwin.so.*
@@ -221,21 +228,97 @@
 %{_kf5_libdir}/libkwinxrenderutils.so.*
 %{_kf5_libdir}/libkcmkwincommon.so.5
 %{_kf5_libdir}/libkcmkwincommon.so.5.*
-%{_kf5_plugindir}/
-%{_kf5_qmldir}/
+%{_kf5_plugindir}/kcm_kwin_scripts.so
+%{_kf5_plugindir}/kcm_kwinoptions.so
+%{_kf5_plugindir}/kcm_kwinrules.so
+%{_kf5_plugindir}/kcm_kwinscreenedges.so
+%{_kf5_plugindir}/kcm_kwintabbox.so
+%{_kf5_plugindir}/kcm_kwintouchscreen.so
+%dir %{_kf5_plugindir}/kcms/
+%{_kf5_plugindir}/kcms/kcm_kwin_effects.so
+%{_kf5_plugindir}/kcms/kcm_kwin_virtualdesktops.so
+%{_kf5_plugindir}/kcms/kcm_kwindecoration.so
+%dir %{_kf5_plugindir}/kf5/
+%dir %{_kf5_plugindir}/kf5/org.kde.kidletime.platforms/
+%{_kf5_plugindir}/kf5/org.kde.kidletime.platforms/KF5IdleTimeKWinWaylandPrivatePlugin.so
+%dir %{_kf5_plugindir}/kf5/org.kde.kwindowsystem.platforms/
+%{_kf5_plugindir}/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemKWinPrivatePlugin.so
+%dir %{_kf5_plugindir}/kpackage/
+%dir %{_kf5_plugindir}/kpackage/packagestructure/
+%{_kf5_plugindir}/kpackage/packagestructure/kwin_packagestructure_aurorae.so
+%{_kf5_plugindir}/kpackage/packagestructure/kwin_packagestructure_decoration.so
+%{_kf5_plugindir}/kpackage/packagestructure/kwin_packagestructure_effect.so
+%{_kf5_plugindir}/kpackage/packagestructure/kwin_packagestructure_scripts.so
+%{_kf5_plugindir}/kpackage/packagestructure/kwin_packagestructure_windowswitcher.so
+%dir %{_kf5_plugindir}/kwin/
+%dir %{_kf5_plugindir}/kwin/effects/
+%dir %{_kf5_plugindir}/kwin/effects/configs/
+%{_kf5_plugindir}/kwin/effects/configs/kcm_kwin4_genericscripted.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_blur_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_coverswitch_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_cube_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_cubeslide_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_desktopgrid_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_diminactive_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_flipswitch_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_glide_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_invert_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_lookingglass_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_magiclamp_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_magnifier_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_mouseclick_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_mousemark_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_presentwindows_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_resize_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_showfps_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_showpaint_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_slide_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_thumbnailaside_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_trackmouse_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_windowgeometry_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_wobblywindows_config.so
+%{_kf5_plugindir}/kwin/effects/configs/kwin_zoom_config.so
+%{_kf5_plugindir}/kwincompositing.so
+%dir %{_kf5_plugindir}/org.kde.kdecoration2/
+%{_kf5_plugindir}/org.kde.kdecoration2/kwin5_aurorae.so
+%dir %{_kf5_plugindir}/org.kde.kglobalaccel5.platforms/
+%{_kf5_plugindir}/org.kde.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
+%dir %{_kf5_plugindir}/org.kde.kwin.platforms/
+%{_kf5_plugindir}/org.kde.kwin.platforms/KWinX11Platform.so
+%dir %{_kf5_plugindir}/org.kde.kwin.scenes/
+%{_kf5_plugindir}/org.kde.kwin.scenes/KWinSceneOpenGL.so
+%{_kf5_plugindir}/org.kde.kwin.scenes/KWinSceneQPainter.so
+%{_kf5_plugindir}/org.kde.kwin.scenes/KWinSceneXRender.so
+%dir %{_kf5_plugindir}/org.kde.kwin.waylandbackends/
+%{_kf5_plugindir}/org.kde.kwin.waylandbackends/KWinWaylandDrmBackend.so
+%{_kf5_plugindir}/org.kde.kwin.waylandbackends/KWinWaylandFbdevBackend.so
+%{_kf5_plugindir}/org.kde.kwin.waylandbackends/KWinWaylandVirtualBackend.so
+%{_kf5_plugindir}/org.kde.kwin.waylandbackends/KWinWaylandWaylandBackend.so
+%{_kf5_plugindir}/org.kde.kwin.waylandbackends/KWinWaylandX11Backend.so
+%{_kf5_plugindir}/platforms/KWinQpaPlugin.so
+
+%dir %{_kf5_qmldir}/org/
+%dir %{_kf5_qmldir}/org/kde/
+%dir %{_kf5_qmldir}/org/kde/kwin/
+%{_kf5_qmldir}/org/kde/kwin/decoration/
+%{_kf5_qmldir}/org/kde/kwin/decorations/
+%{_kf5_qmldir}/org/kde/kwin/private/
+
 %{_kf5_sharedir}/config.kcfg/
-%{_kf5_sharedir}/icons/hicolor/
+%{_kf5_sharedir}/icons/hicolor/*/apps/kwin.png
+%{_kf5_sharedir}/icons/hicolor/scalable/apps/kwin.svgz
 %{_kf5_servicesdir}/
 %{_kf5_servicetypesdir}/
 %{_kf5_sharedir}/kwin/
-%{_kf5_sharedir}/kwincompositing/
 %dir %{_kf5_sharedir}/kconf_update/
 %{_kf5_sharedir}/kconf_update/kwin.upd
 %{_kf5_notifydir}/
-%doc %{_kf5_htmldir}/
-%dir %{_kf5_sharedir}/kpackage
-%dir %{_kf5_sharedir}/kpackage/kcms
+%doc %{_kf5_htmldir}/en/
+%dir %{_kf5_sharedir}/kpackage/
+%dir %{_kf5_sharedir}/kpackage/kcms/
 %{_kf5_sharedir}/kpackage/kcms/kcm_kwin_virtualdesktops
+%{_kf5_sharedir}/kpackage/kcms/kcm_kwindecoration
+%{_kf5_sharedir}/kpackage/kcms/kcm_kwin_effects
 
 %files devel
 %license COPYING*

++++++ 0001-Use-Xauthority-for-Xwayland.patch ++++++
--- /var/tmp/diff_new_pack.nmXW6d/_old  2019-06-12 13:29:34.856260358 +0200
+++ /var/tmp/diff_new_pack.nmXW6d/_new  2019-06-12 13:29:34.860260356 +0200
@@ -1,22 +1,27 @@
-From 10011387cd146f6b92f337b4c10ac4000c981891 Mon Sep 17 00:00:00 2001
+From 02cdcb383b938a3e17ea2bf63a14682473dc8d5b Mon Sep 17 00:00:00 2001
 From: Fabian Vogt <[email protected]>
 Date: Sat, 17 Mar 2018 23:25:56 +0100
-Subject: [PATCH] Use Xauthority for Xwayland
-References: boo#1084737
+Subject: [PATCH] Use Xauthority for Xwayland authorization
 
-Needed by kdesu, su, ...
-If creation fails, it will fall back to not using it.
+Currently Xwayland only looks at the uid of the application connecting to it.
+Using Xauthority gives more flexibility here, by having a token which can be
+passed around.
+
+Not only does this allow to grant only certain applications the right to
+connect to the display (e.g. su user xterm) while keeping other applications
+outside, this allows also
+starting applications as other users again
 ---
  CMakeLists.txt   |   1 +
- main_wayland.cpp | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
- main_wayland.h   |   2 ++
- 3 files changed, 102 insertions(+), 2 deletions(-)
+ xwl/xwayland.cpp | 103 ++++++++++++++++++++++++++++++++++++++++++++++-
+ xwl/xwayland.h   |   3 ++
+ 3 files changed, 105 insertions(+), 2 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cbf9529ca..ba9ac6584 100644
+index ec780a9d5..1a5a72698 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -579,6 +579,7 @@ set(kwin_XLIB_LIBS
+@@ -594,6 +594,7 @@ set(kwin_XLIB_LIBS
      ${X11_X11_LIB}
      ${X11_ICE_LIB}
      ${X11_SM_LIB}
@@ -24,38 +29,21 @@
  )
  
  set(kwin_XCB_LIBS
-diff --git a/main_wayland.cpp b/main_wayland.cpp
-index 2107bc85a..b3e5c6cf3 100644
---- a/main_wayland.cpp
-+++ b/main_wayland.cpp
-@@ -70,6 +70,8 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
- #include <sys/capability.h>
- #endif
+diff --git a/xwl/xwayland.cpp b/xwl/xwayland.cpp
+index a521f27c0..2cc8d398c 100644
+--- a/xwl/xwayland.cpp
++++ b/xwl/xwayland.cpp
+@@ -48,6 +48,8 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
+ #include <sys/socket.h>
+ #include <iostream>
  
 +#include <X11/Xauth.h>
 +
- #include <sched.h>
- 
- #include <iostream>
-@@ -157,6 +159,16 @@ void ApplicationWayland::performStartup()
+ static void readDisplay(int pipe)
  {
-     if (m_startXWayland) {
-         setOperationMode(OperationModeXwayland);
-+
-+        QString dir = 
QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
-+        if (!dir.isEmpty()) {
-+            m_xwaylandAuthority.setFileTemplate(dir + 
QStringLiteral("/xauth_XXXXXX"));
-+            m_xwaylandAuthority.open();
-+        }
-+
-+        if (m_xwaylandAuthority.fileName().isEmpty()) {
-+            std::cerr << "Warning: Could not create a Xauthority file for 
Xwayland." << std::endl;
-+        }
-     }
-     // first load options - done internally by a different thread
-     createOptions();
-@@ -206,8 +218,89 @@ void ApplicationWayland::continueStartupWithSceen()
-     notifyKSplash();
+     QFile readPipe;
+@@ -105,8 +107,84 @@ Xwayland::~Xwayland()
+     s_self = nullptr;
  }
  
 +static QByteArray getRandomData(qint64 bytes)
@@ -124,27 +112,22 @@
 +    return success;
 +}
 +
- void ApplicationWayland::continueStartupWithX()
+ void Xwayland::init()
  {
-+    if (!m_xwaylandAuthority.fileName().isEmpty()) {
-+        QString hostname;
-+        if (addCookieToFile(m_xwaylandAuthority.fileName(), hostname)) {
-+            setenv("XAUTHORITY", qPrintable(m_xwaylandAuthority.fileName()), 
1);
-+            setenv("XAUTHLOCALHOSTNAME", qPrintable(hostname), 1);
-+            m_environment.insert(QStringLiteral("XAUTHORITY"), 
m_xwaylandAuthority.fileName());
-+            m_environment.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), 
hostname);
-+        }
-+        else {
-+            std::cerr << "Could not generate Xauthority entry" << std::endl;
-+            // We can't authenticate using it so the server must not see any 
entries either
-+            m_xwaylandAuthority.resize(0);
-+        }
++    QString dir = 
QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
++    if (!dir.isEmpty()) {
++        m_xwaylandAuthority.setFileTemplate(dir + 
QStringLiteral("/xauth_XXXXXX"));
++        m_xwaylandAuthority.open();
++    }
++
++    if (m_xwaylandAuthority.fileName().isEmpty()) {
++        std::cerr << "Warning: Could not create a Xauthority file for 
Xwayland." << std::endl;
 +    }
 +
-     createX11Connection();
-     xcb_connection_t *c = x11Connection();
-     if (!c) {
-@@ -377,11 +470,15 @@ void ApplicationWayland::startXwaylandServer()
+     int pipeFds[2];
+     if (pipe(pipeFds) != 0) {
+         std::cerr << "FATAL ERROR failed to create pipe to start Xwayland " 
<< std::endl;
+@@ -148,11 +226,15 @@ void Xwayland::init()
      env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
      env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM"));
      m_xwaylandProcess->setProcessEnvironment(env);
@@ -160,28 +143,53 @@
 +    }
 +    m_xwaylandProcess->setArguments(args);
      m_xwaylandFailConnection = connect(m_xwaylandProcess, static_cast<void 
(QProcess::*)(QProcess::ProcessError)>(&QProcess::error), this,
-         [] (QProcess::ProcessError error) {
+         [this] (QProcess::ProcessError error) {
              if (error == QProcess::FailedToStart) {
-diff --git a/main_wayland.h b/main_wayland.h
-index 31b7ebd55..37f9b2882 100644
---- a/main_wayland.h
-+++ b/main_wayland.h
-@@ -21,6 +21,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
- #define KWIN_MAIN_WAYLAND_H
- #include "main.h"
- #include <QProcessEnvironment>
+@@ -184,6 +266,23 @@ void Xwayland::prepareDestroy()
+ 
+ void Xwayland::createX11Connection()
+ {
++    if (!m_xwaylandAuthority.fileName().isEmpty()) {
++        QString hostname;
++        if (addCookieToFile(m_xwaylandAuthority.fileName(), hostname)) {
++            setenv("XAUTHORITY", qPrintable(m_xwaylandAuthority.fileName()), 
1);
++            setenv("XAUTHLOCALHOSTNAME", qPrintable(hostname), 1);
++            auto env = m_app->processStartupEnvironment();
++            env.insert(QStringLiteral("XAUTHORITY"), 
m_xwaylandAuthority.fileName());
++            env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), hostname);
++            m_app->setProcessStartupEnvironment(env);
++        }
++        else {
++            std::cerr << "Could not generate Xauthority entry" << std::endl;
++            // We can't authenticate using it so the server must not see any 
entries either
++            m_xwaylandAuthority.resize(0);
++        }
++    }
++
+     int screenNumber = 0;
+     xcb_connection_t *c = nullptr;
+     if (m_xcbConnectionFd == -1) {
+diff --git a/xwl/xwayland.h b/xwl/xwayland.h
+index 2ee1e607f..a8b89242b 100644
+--- a/xwl/xwayland.h
++++ b/xwl/xwayland.h
+@@ -23,6 +23,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
+ #include "xwayland_interface.h"
+ 
+ #include <xcb/xproto.h>
 +#include <QTemporaryFile>
  
  class QProcess;
  
-@@ -74,6 +75,7 @@ private:
-     QMetaObject::Connection m_xwaylandFailConnection;
-     QProcessEnvironment m_environment;
-     QString m_sessionArgument;
+@@ -72,6 +73,8 @@ private:
+     const xcb_query_extension_reply_t *m_xfixes = nullptr;
+     DataBridge *m_dataBridge = nullptr;
+ 
 +    QTemporaryFile m_xwaylandAuthority;
++
+     ApplicationWaylandAbstract *m_app;
  };
  
- }
 -- 
-2.16.2
+2.20.1
 

++++++ kwin-5.15.5.tar.xz -> kwin-5.16.0.tar.xz ++++++
++++ 131320 lines of diff (skipped)



Reply via email to