commit plasma5-workspace for openSUSE:Factory
Hello community, here is the log from the commit of package plasma5-workspace for openSUSE:Factory checked in at 2018-03-30 12:06:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma5-workspace (Old) and /work/SRC/openSUSE:Factory/.plasma5-workspace.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "plasma5-workspace" Fri Mar 30 12:06:38 2018 rev:88 rq:592013 version:5.12.4 Changes: -------- --- /work/SRC/openSUSE:Factory/plasma5-workspace/plasma5-workspace.changes 2018-03-20 21:49:51.676364100 +0100 +++ /work/SRC/openSUSE:Factory/.plasma5-workspace.new/plasma5-workspace.changes 2018-03-30 12:06:53.690879217 +0200 @@ -1,0 +2,46 @@ +Wed Mar 28 11:46:36 UTC 2018 - fabian@ritter-vogt.de + +- Don't require plasma5-workspace in plasma5-workspace-devel, + it pulls in a lot of unnecessary requirements and can cause + build loops + +------------------------------------------------------------------- +Tue Mar 27 15:40:48 CEST 2018 - fabian@ritter-vogt.de + +- Update to 5.12.4 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.12.4.php +- Changes since 5.12.3: + * [notifications applet] Fix two qml warnings about assigning [undefined] + * Remove long-time deprecated Encoding=UTF-8 from desktop format files + * [Run Command] Pass "event" to runCurrentIndex + * Move to KRunner's second results item with a single keypress (kde#392197) + * Pass proper click coordinates to SNI ContextMenu calls + * libdbusmenu-qt: Remove nonexistant actions directly from the menu + * Set a transient parent for SNI context menus + * [DeviceNotifications Engine] Never show safely remove message when mounting (kde#391180) + * Use dbus-run-session instead of dbus-launch --exit-with-session + * [System Tray] Fix hiding applets with HiddenStatus + * [Notifications] Remove NoAccessNetworkAccessManagerFactory + * Improve By Desktop sorting for task groups (kde#384747) + * Use separate config group for each wallpaper plugin + * Fix duplicated [Desktop Entry] sections in two menu directory files +- Remove patches, now upstream: + * 0001-Use-dbus-run-session-instead-of-dbus-launch-exit-wit.patch + +------------------------------------------------------------------- +Sat Mar 24 11:11:34 UTC 2018 - fabian@ritter-vogt.de + +- Add patches to not set QT_QPA_PLATFORM in a wayland session: + * 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch + * 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch + * 0003-No-longer-export-QT_QPA_PLATFORM-env-variable-to-the.patch + * 0001-Set-XDG_SESSION_TYPE-wayland-in-startplasmacomposito.patch +- Set GDK_BACKEND=x11 to work around GTK3 bugs: + * 0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch +- Add a suffix to the wayland session's name: + * 0001-Add-suffix-to-the-wayland-session-s-name.patch +- Apply upstream patches before downstream patches + +------------------------------------------------------------------- Old: ---- 0001-Use-dbus-run-session-instead-of-dbus-launch-exit-wit.patch plasma-workspace-5.12.3.tar.xz New: ---- 0001-Add-suffix-to-the-wayland-session-s-name.patch 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch 0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch 0001-Set-XDG_SESSION_TYPE-wayland-in-startplasmacomposito.patch 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch 0003-No-longer-export-QT_QPA_PLATFORM-env-variable-to-the.patch plasma-workspace-5.12.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma5-workspace.spec ++++++ --- /var/tmp/diff_new_pack.2bWMEM/_old 2018-03-30 12:06:57.158753829 +0200 +++ /var/tmp/diff_new_pack.2bWMEM/_new 2018-03-30 12:06:57.162753685 +0200 @@ -27,7 +27,7 @@ %{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}} # Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.9.1 in KUF) %{!?_plasma5_version: %global _plasma5_version %(echo %{_plasma5_bugfix} | awk -F. '{print $1"."$2}')} -Version: 5.12.3 +Version: 5.12.4 Release: 0 Summary: The KDE Plasma Workspace Components License: GPL-2.0+ @@ -35,13 +35,21 @@ Url: http://www.kde.org/ Source: http://download.kde.org/stable/plasma/%{version}/plasma-workspace-%{version}.tar.xz Source1: baselibs.conf +# PATCHES 000-100 and above are from upstream 5.12 branch +# PATCHES 101-500 are from upstream master/5.13 branch +Patch201: 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch +Patch202: 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch +Patch203: 0003-No-longer-export-QT_QPA_PLATFORM-env-variable-to-the.patch +# PATCHES 501-??? are PATCH-FIX-OPENSUSE # PATCH-FIX-OPENSUSE 0001-Rename-qdbus-in-startkde.patch cgiboudeaux@gmx.com -- Rename the qdbus executable in startkde -Patch0: 0001-Rename-qdbus-in-startkde.patch +Patch501: 0001-Rename-qdbus-in-startkde.patch # PATCH-FIX-OPENSUSE 0001-Ignore-default-sddm-face-icons.patch boo#1001364 fabian@ritter-vogt.de -- Ignore default sddm face icons -Patch1: 0001-Ignore-default-sddm-face-icons.patch -# PATCHES 100-200 and above are from upstream 5.12 branch -Patch100: 0001-Use-dbus-run-session-instead-of-dbus-launch-exit-wit.patch -# PATCHES 201-300 and above are from upstream master/5.13 branch +Patch502: 0001-Ignore-default-sddm-face-icons.patch +Patch503: 0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch +# PATCH-FIX-UPSTREAM (once sddm part merged) +Patch504: 0001-Add-suffix-to-the-wayland-session-s-name.patch +# PATCH-FIX-UPSTRAM (or alternative solution) +Patch505: 0001-Set-XDG_SESSION_TYPE-wayland-in-startplasmacomposito.patch BuildRequires: breeze5-icons BuildRequires: fdupes BuildRequires: kf5-filesystem @@ -194,7 +202,6 @@ %package devel Summary: The KDE Plasma Workspace Components Group: Development/Libraries/KDE -Requires: %{name} >= %{version} Requires: %{name}-libs = %{version}-%{release} Requires: cmake(KF5SysGuard) >= %{_plasma5_version} Requires: cmake(KF5Wayland) >= %{kf5_version} ++++++ 0001-Add-suffix-to-the-wayland-session-s-name.patch ++++++
From e430354b3628d250cba1e271ddc13024b4f59d8a Mon Sep 17 00:00:00 2001 From: Fabian Vogt
Date: Sat, 24 Mar 2018 14:51:47 +0100 Subject: [PATCH] Add suffix to the wayland session's name
Sddm added the prefix previously, this is not the case anymore. --- plasmawayland.desktop.cmake | 46 +-------------------------------------------- 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/plasmawayland.desktop.cmake b/plasmawayland.desktop.cmake index 5d7db306..d2f98ee0 100644 --- a/plasmawayland.desktop.cmake +++ b/plasmawayland.desktop.cmake @@ -2,51 +2,7 @@ Exec=dbus-run-session ${CMAKE_INSTALL_FULL_BINDIR}/startplasmacompositor TryExec=${CMAKE_INSTALL_FULL_BINDIR}/startplasmacompositor DesktopNames=KDE -Name=Plasma -Name[ar]=بلازما -Name[bs]=Plazma -Name[ca]=Plasma -Name[ca@valencia]=Plasma -Name[cs]=Plasma -Name[da]=Plasma -Name[de]=Plasma -Name[el]=Plasma -Name[en_GB]=Plasma -Name[es]=Plasma -Name[et]=Plasma -Name[eu]=Plasma -Name[fi]=Plasma -Name[fr]=Plasma -Name[gl]=Plasma -Name[he]=פלזמה -Name[hu]=Plasma -Name[id]=Plasma -Name[is]=Plasma -Name[it]=Plasma -Name[ja]=プラズマ -Name[ko]=Plasma -Name[lt]=Plasma -Name[nb]=Plasma -Name[nds]=Plasma -Name[nl]=Plasma -Name[nn]=Plasma -Name[pa]=ਪਲਾਜ਼ਮਾ -Name[pl]=Plazma -Name[pt]=Plasma -Name[pt_BR]=Plasma -Name[ru]=Plasma -Name[sk]=Plasma -Name[sl]=Plasma -Name[sr]=Плазма -Name[sr@ijekavian]=Плазма -Name[sr@ijekavianlatin]=Plasma -Name[sr@latin]=Plasma -Name[sv]=Plasma -Name[tr]=Plama -Name[uk]=Плазма -Name[x-test]=xxPlasmaxx -Name[zh_CN]=Plasma -Name[zh_TW]=Plasma +Name=Plasma (Wayland) Comment=Plasma by KDE Comment[ar]=بلازما كدي Comment[bs]=Plazma od strane KDe -- 2.16.2 ++++++ 0001-Call-KLocalizedString-setApplicationDomain-after-Q-A.patch ++++++
From 6eb5d00b48a67b415c0770434dbb6bc8a0e6d9d9 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau"
Date: Sat, 10 Feb 2018 00:34:10 +0100 Subject: [PATCH 1/3] Call KLocalizedString::setApplicationDomain after Q*App creation
As now recommended, to ensure all locale settings are done from Qt side --- klipper/main.cpp | 2 +- krunner/main.cpp | 3 +-- shell/main.cpp | 3 +-- startkde/kcminit/main.cpp | 2 +- systemmonitor/main.cpp | 3 +-- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/klipper/main.cpp b/klipper/main.cpp index 58a07783..36539b63 100644 --- a/klipper/main.cpp +++ b/klipper/main.cpp @@ -34,8 +34,8 @@ extern "C" int Q_DECL_EXPORT kdemain(int argc, char *argv[]) { - KLocalizedString::setApplicationDomain("klipper"); QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("klipper"); KAboutData aboutData(QStringLiteral("klipper"), i18n("Klipper"), diff --git a/krunner/main.cpp b/krunner/main.cpp index b63156d2..24fe5a9f 100644 --- a/krunner/main.cpp +++ b/krunner/main.cpp @@ -43,10 +43,9 @@ int main(int argc, char **argv) qunsetenv("QT_DEVICE_PIXEL_RATIO"); QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); - KLocalizedString::setApplicationDomain("krunner"); - QQuickWindow::setDefaultAlphaBuffer(true); QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("krunner"); KQuickAddons::QtQuickSettings::init(); diff --git a/shell/main.cpp b/shell/main.cpp index ed42ed40..22ef0388 100644 --- a/shell/main.cpp +++ b/shell/main.cpp @@ -56,9 +56,8 @@ int main(int argc, char *argv[]) QQuickWindow::setDefaultAlphaBuffer(true); - KLocalizedString::setApplicationDomain("plasmashell"); - QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("plasmashell"); // The executable's path is added to the library/plugin paths. // This does not make much sense for plasmashell. diff --git a/startkde/kcminit/main.cpp b/startkde/kcminit/main.cpp index 6d6692b9..7181281c 100644 --- a/startkde/kcminit/main.cpp +++ b/startkde/kcminit/main.cpp @@ -221,9 +221,9 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[]) startup = ( strcmp( argv[ 0 ], "kcminit_startup" ) == 0 ); // started from startkde? - KLocalizedString::setApplicationDomain("kcminit"); QGuiApplication::setDesktopSettingsAware(false); QGuiApplication app(argc, argv); //gui is needed for several modules + KLocalizedString::setApplicationDomain("kcminit"); KAboutData about(QStringLiteral("kcminit"), i18n("KCMInit"), QString(), i18n("KCMInit - runs startup initialization for Control Modules."), KAboutLicense::GPL); KAboutData::setApplicationData(about); diff --git a/systemmonitor/main.cpp b/systemmonitor/main.cpp index 5e6be4f8..ccf6cae7 100644 --- a/systemmonitor/main.cpp +++ b/systemmonitor/main.cpp @@ -25,9 +25,8 @@ int main(int argc, char** argv) { - KLocalizedString::setApplicationDomain("systemmonitor"); - QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("systemmonitor"); app.setOrganizationDomain(QStringLiteral("kde.org")); app.setDesktopFileName(QStringLiteral("org.kde.systemmonitor")); -- 2.16.2 ++++++ 0001-Set-GTK_BACKEND-x11-in-a-wayland-session.patch ++++++
From 6de8c88ad78bb5b3d6e599b7dacd1b2359cf4fbb Mon Sep 17 00:00:00 2001 From: Fabian Vogt
Date: Sat, 24 Mar 2018 12:15:10 +0100 Subject: [PATCH] Set GTK_BACKEND=x11 in a wayland session
Works around missing window decorations and broken config file reading. --- startkde/startplasmacompositor.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake index dd9e304d..53be3be8 100644 --- a/startkde/startplasmacompositor.cmake +++ b/startkde/startplasmacompositor.cmake @@ -174,6 +174,10 @@ XDG_DATA_DIRS="@KDE_INSTALL_FULL_DATADIR@:/usr/share:/usr/local/share" fi export XDG_DATA_DIRS +# GTK3 uses the wayland backend by default, but its implementation is not correct +# enough to work well here. Window decorations are missing, for instance. +export GDK_BACKEND=x11 + # Make sure that D-Bus is running if qdbus-qt5 >/dev/null 2>/dev/null; then : # ok -- 2.16.2 ++++++ 0001-Set-XDG_SESSION_TYPE-wayland-in-startplasmacomposito.patch ++++++
From f7fd48a7103c20e1484d7d07de650729ff48eda5 Mon Sep 17 00:00:00 2001 From: Fabian Vogt
Date: Sat, 24 Mar 2018 19:43:19 +0100 Subject: [PATCH] Set XDG_SESSION_TYPE=wayland in startplasmacompositor
KWorkSpace::detectPlatform uses that, so make sure it's set. --- startkde/startplasmacompositor.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake index 53be3be8..7be28e32 100644 --- a/startkde/startplasmacompositor.cmake +++ b/startkde/startplasmacompositor.cmake @@ -222,6 +222,9 @@ export KDE_SESSION_UID XDG_CURRENT_DESKTOP=KDE export XDG_CURRENT_DESKTOP +XDG_SESSION_TYPE=wayland +export XDG_SESSION_TYPE + # kwin_wayland can possibly also start dbus-activated services which need env variables. # In that case, the update in startplasma might be too late. if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then -- 2.16.2 ++++++ 0002-Add-platform-detection-to-KWorkspace-library-to-adju.patch ++++++
From 909eff21cca3cdb08ed683b126d83e20aa266608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Fl=C3=B6ser?=
Date: Sun, 25 Feb 2018 09:15:07 +0100 Subject: [PATCH 2/3] Add platform detection to KWorkspace library to adjust QT_QPA_PLATFORM
Summary:
This is a preparation step to unset QT_QPA_PLATFORM from the wayland
startup session script. Setting QT_QPA_PLATFORM breaks 3rd-party Qt
software which does not bundle QtWayland. Most prominent example is
the Qt installer itself (see
https://bugreports.qt.io/browse/QTBUG-60222).
On the other hand our Plasma workspace applications need to be forced to
Wayland on a Wayland system. So we have a conflict between we want to
set QT_QPA_PLATFORM and we don't want to set QT_QPA_PLATFORM.
This change adds new API to KWorkspace to address this problem. The new
method adjusts the QT_QPA_PLATFORM based on the XDG_SESSION_TYPE
enviornment variable. It is completely opt-in. Meaning applications need
to explicitly add the call prior to creating the QGuiApplication and if
the user specifies either QT_QPA_PLATFORM env variable or any of the
-platform command line argument variants, the platform detection is
skipped.
The change also adjusts all plasma-workspace applications which should
use Wayland on Wayland to use the new API. The startup script on the
other hand still sets QT_QPA_PLATFORM. We also have applications outside
of plasma-workspace which needs this detection. Examples are:
* powerdevil
* systemsettings
* kinfocenter
Once this change is merged those applications can be adjusted by linking
against PW::KWorkspace and afterwards QT_QPA_PLATFORM can be unset from
startplasmacompositor.
Test Plan: See added autotest
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10816
---
krunner/CMakeLists.txt | 3 +-
krunner/main.cpp | 2 +
ksmserver/logout-greeter/main.cpp | 1 +
ksmserver/switchuser-greeter/main.cpp | 1 +
ksplash/ksplashqml/CMakeLists.txt | 1 +
ksplash/ksplashqml/main.cpp | 3 +
kuiserver/CMakeLists.txt | 1 +
kuiserver/main.cpp | 3 +
libkworkspace/CMakeLists.txt | 4 +
libkworkspace/autotests/CMakeLists.txt | 5 +
libkworkspace/autotests/testPlatformDetection.cpp | 128 ++++++++++++++++++++++
libkworkspace/kworkspace.cpp | 24 ++++
libkworkspace/kworkspace.h | 15 +++
shell/CMakeLists.txt | 1 +
shell/main.cpp | 2 +
startkde/kcminit/CMakeLists.txt | 4 +-
startkde/kcminit/main.cpp | 2 +
systemmonitor/CMakeLists.txt | 1 +
systemmonitor/main.cpp | 3 +
19 files changed, 201 insertions(+), 3 deletions(-)
create mode 100644 libkworkspace/autotests/CMakeLists.txt
create mode 100644 libkworkspace/autotests/testPlatformDetection.cpp
diff --git a/krunner/CMakeLists.txt b/krunner/CMakeLists.txt
index c73216e4..46aa92f8 100644
--- a/krunner/CMakeLists.txt
+++ b/krunner/CMakeLists.txt
@@ -23,6 +23,7 @@ target_link_libraries(krunner
KF5::Crash
KF5::WaylandClient
KF5::QuickAddons
+ PW::KWorkspace
)
target_compile_definitions(krunner PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
@@ -38,4 +39,4 @@ ecm_configure_package_config_file(KRunnerAppDBusInterfaceConfig.cmake.in
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/KRunnerAppDBusInterfaceConfig.cmake
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
-add_subdirectory(update)
\ No newline at end of file
+add_subdirectory(update)
diff --git a/krunner/main.cpp b/krunner/main.cpp
index 24fe5a9f..06bf47c0 100644
--- a/krunner/main.cpp
+++ b/krunner/main.cpp
@@ -33,6 +33,7 @@
#include
From 9dd3d4711ac74fd9d93344db7e6c2691026f21c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Fl=C3=B6ser?=
Date: Sun, 18 Mar 2018 11:08:02 +0100 Subject: [PATCH 3/3] No longer export QT_QPA_PLATFORM env variable to the session
Summary: As discussed the env variables are no longer exported. Thus Qt applications follow the default qpa platform they are compiled with and thus still function if they are packaged with a Qt without QtWayland. Plasma's internal processes pick the qpa platform depending on the session type as well as our flatpak apps. KRunner and Plasmashell are adjusted to not leak the env variable they set for themselves. Test Plan: Started a wayland session, verified with KWin's debug console that plasmashell and krunner are wayland. Launched kwrite from both plasma and krunner and verified that it's xcb Reviewers: #plasma Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D11447 --- krunner/main.cpp | 5 +++++ shell/main.cpp | 5 +++++ startkde/startplasmacompositor.cmake | 4 ---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/krunner/main.cpp b/krunner/main.cpp index 06bf47c0..329eca7e 100644 --- a/krunner/main.cpp +++ b/krunner/main.cpp @@ -44,9 +44,14 @@ int main(int argc, char **argv) qunsetenv("QT_DEVICE_PIXEL_RATIO"); QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling); + const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM"); KWorkSpace::detectPlatform(argc, argv); QQuickWindow::setDefaultAlphaBuffer(true); QApplication app(argc, argv); + if (!qpaVariable) { + // don't leak the env variable to processes we start + qunsetenv("QT_QPA_PLATFORM"); + } KLocalizedString::setApplicationDomain("krunner"); KQuickAddons::QtQuickSettings::init(); diff --git a/shell/main.cpp b/shell/main.cpp index 09cca77a..037eb8f3 100644 --- a/shell/main.cpp +++ b/shell/main.cpp @@ -57,8 +57,13 @@ int main(int argc, char *argv[]) QQuickWindow::setDefaultAlphaBuffer(true); + const bool qpaVariable = qEnvironmentVariableIsSet("QT_QPA_PLATFORM"); KWorkSpace::detectPlatform(argc, argv); QApplication app(argc, argv); + if (!qpaVariable) { + // don't leak the env variable to processes we start + qunsetenv("QT_QPA_PLATFORM"); + } KLocalizedString::setApplicationDomain("plasmashell"); // The executable's path is added to the library/plugin paths. diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake index 8ac47aa7..dd9e304d 100644 --- a/startkde/startplasmacompositor.cmake +++ b/startkde/startplasmacompositor.cmake @@ -218,10 +218,6 @@ export KDE_SESSION_UID XDG_CURRENT_DESKTOP=KDE export XDG_CURRENT_DESKTOP -#enforce wayland QPA -QT_QPA_PLATFORM=wayland -export QT_QPA_PLATFORM - # kwin_wayland can possibly also start dbus-activated services which need env variables. # In that case, the update in startplasma might be too late. if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then -- 2.16.2 ++++++ plasma-workspace-5.12.3.tar.xz -> plasma-workspace-5.12.4.tar.xz ++++++ ++++ 12332 lines of diff (skipped)
participants (1)
-
root@hilbert.suse.de