Accepting request 406811 from KDE:Frameworks5

- Update to 5.7.0
  * New feature release
  * For more details please see:
    https://www.kde.org/announcements/plasma-5.7.0.php
- Drop create_kdehome.patch and fix-breeze-sddm-theme-with-many-users.patch
- Add require-qt56.diff: we know our Qt package has the right patch,
  so we don't need to depend on 5.6.1

OBS-URL: https://build.opensuse.org/request/show/406811
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plasma5-workspace?expand=0&rev=41
This commit is contained in:
Dominique Leuenberger 2016-07-15 10:28:42 +00:00 committed by Git OBS Bridge
commit ac256f6101
8 changed files with 54 additions and 214 deletions

View File

@ -2,7 +2,7 @@ diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
index 91c8a3c..0c658bd 100644
--- a/startkde/startkde.cmake
+++ b/startkde/startkde.cmake
@@ -20,13 +20,13 @@ unset DYLD_FORCE_FLAT_NAMESPACE
@@ -21,13 +21,13 @@ unset DYLD_FORCE_FLAT_NAMESPACE
bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
if [ -n "$bindir" ]; then
qbindir=`qtpaths --binaries-dir`
@ -18,7 +18,7 @@ index 91c8a3c..0c658bd 100644
fi
# Check if a KDE session already is running and whether it's possible to connect to X
@@ -300,9 +300,9 @@ fi
@@ -291,9 +291,9 @@ export XDG_DATA_DIRS
if $qdbus >/dev/null 2>/dev/null; then
: # ok
else

View File

@ -1,19 +0,0 @@
diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
index 0c658bd..51721d1 100644
--- a/startkde/startkde.cmake
+++ b/startkde/startkde.cmake
@@ -64,6 +64,14 @@ fi
mkdir -p $configDir
+kdehome=$HOME/@KDE_DEFAULT_HOME@
+test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^~/,$HOME/,"`
+
+# see kstartupconfig source for usage
+mkdir -m 700 -p $kdehome
+mkdir -m 700 -p $kdehome/share
+mkdir -m 700 -p $kdehome/share/config
+
#This is basically setting defaults so we can use them with kstartupconfig5
cat >$configDir/startupconfigkeys <<EOF
kcminputrc Mouse cursorTheme 'breeze_cursors'

View File

@ -1,181 +0,0 @@
Index: plasma-workspace-5.5.0/lookandfeel/contents/components/UserSelect.qml
===================================================================
--- plasma-workspace-5.5.0.orig/lookandfeel/contents/components/UserSelect.qml
+++ plasma-workspace-5.5.0/lookandfeel/contents/components/UserSelect.qml
@@ -27,11 +27,15 @@ FocusScope {
id: root
property alias model: usersList.model
property alias selectedUser: usersList.selectedUser
+ property var username: usersList.visible ? usersList.selectedUser : userPasswordPrompt.username
+ property alias password: userPasswordPrompt.password
property alias selectedIndex: usersList.currentIndex
property alias selectedItem: usersList.currentItem
property alias delegate: usersList.delegate
property alias notification: notificationLabel.text
property alias infoPaneVisible: infoPaneLoader.active
+ property bool showUserList: (usersList.model.count && usersList.model.disableAvatarsThreshold) ? usersList.model.count <= usersList.model.disableAvatarsThreshold : true
+ property alias pwFieldEnabled: userPasswordPrompt.pwFieldEnabled
activeFocusOnTab: true
@@ -43,6 +47,10 @@ FocusScope {
usersList.decrementCurrentIndex()
}
+ function reenablePasswordInput() {
+ userPasswordPrompt.reenablePasswordInput();
+ }
+
Loader {
id: infoPaneLoader
anchors {
@@ -57,6 +65,7 @@ FocusScope {
id: usersList
focus: true
+ visible: root.showUserList
anchors {
top: parent.top
@@ -96,6 +105,21 @@ FocusScope {
]
}
+ UserPasswordPrompt {
+ id: userPasswordPrompt
+
+ focus: true
+ visible: !root.showUserList
+
+ anchors {
+ left: parent.horizontalCenter
+ top: parent.top
+ right: parent.right
+
+ topMargin: parent.height*0.2
+ }
+ }
+
BreezeLabel {
id: notificationLabel
anchors {
Index: plasma-workspace-5.4.3/lookandfeel/contents/components/UserPasswordPrompt.qml
===================================================================
--- plasma-workspace-5.4.3.orig/lookandfeel/contents/components/UserPasswordPrompt.qml 2015-11-11 16:14:28.277434982 +0100
+++ plasma-workspace-5.4.3/lookandfeel/contents/components/UserPasswordPrompt.qml 2015-11-11 15:25:12.528242834 +0100
@@ -0,0 +1,54 @@
+import QtQuick 2.2
+import SddmComponents 2.0
+import QtQuick.Layouts 1.1
+import org.kde.plasma.components 2.0 as PlasmaComponents
+
+Rectangle {
+ readonly property string username: usernameInput.text
+ readonly property string password: passwordInput.text
+ property alias pwFieldEnabled: passwordInput.enabled
+ color: "transparent"
+
+ function reenablePasswordInput() {
+ passwordInput.enabled = true
+ passwordInput.selectAll()
+ passwordInput.forceActiveFocus()
+ }
+
+ ColumnLayout {
+ anchors.fill: parent
+ PlasmaComponents.TextField {
+ id: usernameInput
+ placeholderText: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Username")
+ onAccepted: nextItemInFocusChain().forceActiveFocus();
+ focus: true
+ text: userModel.lastUser
+ }
+
+ PlasmaComponents.TextField {
+ id: passwordInput
+ placeholderText: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Password")
+ echoMode: TextInput.Password
+ onAccepted: loginPrompt.startLogin()
+ focus: true
+
+ //focus works in qmlscene
+ //but this seems to be needed when loaded from SDDM
+ //I don't understand why, but we have seen this before in the old lock screen
+ Timer {
+ interval: 200
+ running: parent.visible
+ onTriggered: passwordInput.forceActiveFocus()
+ }
+ //end hack
+
+ Keys.onEscapePressed: {
+ //nextItemInFocusChain(false) is previous Item
+ nextItemInFocusChain(false).forceActiveFocus();
+ }
+
+ }
+
+ } // ColumnLayout
+
+}
Index: plasma-workspace-5.4.3/lookandfeel/contents/loginmanager/Main.qml
===================================================================
--- plasma-workspace-5.4.3.orig/lookandfeel/contents/loginmanager/Main.qml 2015-11-05 13:49:30.000000000 +0100
+++ plasma-workspace-5.4.3/lookandfeel/contents/loginmanager/Main.qml 2015-11-11 15:25:12.832242854 +0100
@@ -74,6 +74,9 @@ Image {
initialItem: BreezeBlock {
id: loginPrompt
+ property var showUserList: mainItem.showUserList
+ property var username: mainItem.username
+ property var password: mainItem.showUserList ? controlsItem.password : mainItem.password
//Enable clipping whilst animating, otherwise the items would be shifted to other screens in multiscreen setups
//As there are only 2 items (loginPrompt and logoutScreenComponent), it's sufficient to do it only in this component
@@ -141,13 +144,14 @@ Image {
echoMode: TextInput.Password
onAccepted: loginPrompt.startLogin()
focus: true
+ visible: loginPrompt.mainItem.showUserList
//focus works in qmlscene
//but this seems to be needed when loaded from SDDM
//I don't understand why, but we have seen this before in the old lock screen
Timer {
interval: 200
- running: true
+ running: passwordInput.visible
onTriggered: passwordInput.forceActiveFocus()
}
//end hack
@@ -235,9 +239,13 @@ Image {
target: sddm
onLoginFailed: {
//Re-enable button and textfield
- passwordInput.enabled = true
- passwordInput.selectAll()
- passwordInput.forceActiveFocus()
+ if (loginPrompt.showUserList) {
+ passwordInput.enabled = true
+ passwordInput.selectAll()
+ passwordInput.forceActiveFocus()
+ } else {
+ loginPrompt.mainItem.reenablePasswordInput(true);
+ }
loginButton.enabled = true;
}
}
@@ -246,11 +254,12 @@ Image {
function startLogin () {
//Disable button and textfield while password check is running
+ loginPrompt.mainItem.pwFieldEnabled = false
controlsItem.pwFieldEnabled = false;
controlsItem.buttonEnabled = false;
//Clear notification in case the notificationResetTimer hasn't expired yet
mainItem.notification = ""
- sddm.login(mainItem.selectedUser, controlsItem.password, controlsItem.sessionIndex)
+ sddm.login(loginPrompt.username, loginPrompt.password, controlsItem.sessionIndex)
}
Component {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b058bd04a7d5a7b358fa8763c4a9f21fa34889eeacb4e110263a10c47e030e7
size 7031012

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca890502d6979348703a3a006e57dfb0c81255c77d7191caf5fe7d11f9c5f710
size 6702696

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Thu Jun 30 12:02:33 UTC 2016 - hrvoje.senjan@gmail.com
- Update to 5.7.0
* New feature release
* For more details please see:
https://www.kde.org/announcements/plasma-5.7.0.php
- Drop create_kdehome.patch and fix-breeze-sddm-theme-with-many-users.patch
- Add require-qt56.diff: we know our Qt package has the right patch,
so we don't need to depend on 5.6.1
-------------------------------------------------------------------
Mon Jun 13 07:20:45 UTC 2016 - fvogt@suse.com

View File

@ -18,9 +18,9 @@
%bcond_without lang
Name: plasma5-workspace
Version: 5.6.4
Version: 5.7.0
Release: 0
%define plasma_version 5.6.4
%define plasma_version 5.7.0
Summary: The KDE Plasma Workspace Components
License: GPL-2.0+
Group: System/GUI/KDE
@ -30,14 +30,13 @@ Source1: baselibs.conf
Source99: %{name}-rpmlintrc
# 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
# PATCH-FIX_OPENSUSE create_kdehome.patch -- https://bugs.kde.org/show_bug.cgi?id=338422#c8
Patch1: create_kdehome.patch
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
Patch2: fix-breeze-sddm-theme-with-many-users.patch
# PATCH-FIX_OPENSUSE require-qt56.diff
Patch1: require-qt56.diff
# PATCH-FIX-OPENSUSE plasmashell-disable-windowclosing-on-logout.patch kde#349805 wbauer@tmo.at -- Prevent plasma from closing too early on logout resulting in an unusable desktop if the logout is cancelled
Patch4: plasmashell-disable-windowclosing-on-logout.patch
# PATCHES 100-200 and above are from upstream 5.6 branch
# PATCHES 201-300 and above are from upstream master/5.7 branch
# PATCHES 100-200 and above are from upstream 5.7 branch
# PATCHES 201-300 and above are from upstream master/5.8 branch
BuildRequires: breeze5-icons
BuildRequires: fdupes
BuildRequires: kf5-filesystem
BuildRequires: phonon4qt5-devel >= 4.6.60
@ -50,6 +49,9 @@ BuildRequires: cmake(KF5DBusAddons) >= 5.15.0
BuildRequires: cmake(KF5Declarative) >= 5.15.0
BuildRequires: cmake(KF5DocTools) >= 5.15.0
BuildRequires: cmake(KF5GlobalAccel) >= 5.15.0
%if 0%{?is_opensuse} || 0%{?suse_version} > 1320
BuildRequires: cmake(KF5Holidays)
%endif
BuildRequires: cmake(KF5I18n) >= 5.15.0
BuildRequires: cmake(KF5IdleTime) >= 5.15.0
BuildRequires: cmake(KF5JsEmbed) >= 5.15.0
@ -193,9 +195,14 @@ Summary: The KDE Plasma Workspace Components
Group: Development/Libraries/KDE
Requires: %{name}-libs = %{version}-%{release}
Requires: cmake(KF5SysGuard) >= %{plasma_version}
Requires: cmake(KF5Wayland) >= 5.15.0
Requires: cmake(Qt5Core) >= 5.4.0
Requires: cmake(Qt5Gui) >= 5.4.0
Requires: cmake(Qt5Quick) >= 5.4.0
Conflicts: kdebase4-workspace-devel
Provides: plasma-workspace5-devel = %{version}
Obsoletes: plasma-workspace5-devel <= %{version}
Conflicts: kapptemplate <= 16.03.80
%description devel
This package contains the basic packages for a K Desktop Environment
@ -206,7 +213,6 @@ workspace. Development files.
%setup -q -n plasma-workspace-%{plasma_version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%if 0%{?is_opensuse} || 0%{?suse_version} > 1315
%patch4 -p1
%endif
@ -219,6 +225,9 @@ workspace. Development files.
%kf5_makeinstall -C build
install -p -D -m755 drkonqi/doc/examples/installdbgsymbols_suse.sh \
%{buildroot}/usr/bin/installdbgsymbols.sh
%suse_update_desktop_file -r %{buildroot}%{_kf5_applicationsdir}/org.kde.klipper.desktop System TrayIcon
mkdir -p %{buildroot}%{_kf5_iconsdir}/hicolor/48x48/apps/
cp %{_kf5_iconsdir}/breeze/apps/48/klipper.svg %{buildroot}%{_kf5_iconsdir}/hicolor/48x48/apps/
# we have a separate package for Plasma5 session
rm -rfv %{buildroot}%{_kf5_sharedir}/xsessions
rm -rfv %{buildroot}%{_kf5_sharedir}/wayland-sessions
@ -239,6 +248,7 @@ workspace. Development files.
%{_kf5_libdir}/libplasma-geolocation-interface.so.*
%{_kf5_libdir}/libtaskmanager.so.*
%{_kf5_libdir}/libweather_ion.so.*
%{_kf5_libdir}/liblegacytaskmanager.so.*
%files
%defattr(-,root,root)
@ -266,6 +276,7 @@ workspace. Development files.
%config %{_kf5_configdir}/plasmoids.knsrc
%config %{_kf5_configdir}/wallpaper.knsrc
%config %{_kf5_configdir}/taskmanagerrulesrc
%config %{_kf5_configdir}/legacytaskmanagerrulesrc
%dir %{_kf5_libdir}/libexec
%{_kf5_libdir}/libexec/ksyncdbusenv
%{_kf5_libdir}/libexec/startplasma
@ -295,6 +306,7 @@ workspace. Development files.
%{_kf5_plasmadir}/
%{_kf5_sharedir}/solid/
%{_kf5_sharedir}/kio_desktop/
%{_kf5_iconsdir}/hicolor/48x48/apps/klipper.svg
%files -n drkonqi5
%defattr(-,root,root)
@ -317,14 +329,18 @@ workspace. Development files.
%{_kf5_prefix}/include/kworkspace5/
%{_kf5_prefix}/include/plasma/
%{_kf5_prefix}/include/taskmanager/
%{_kf5_prefix}/include/legacytaskmanager/
%{_kf5_libdir}/cmake/KRunnerAppDBusInterface/
%{_kf5_libdir}/cmake/KSMServerDBusInterface/
%{_kf5_libdir}/cmake/LibKWorkspace/
%{_kf5_libdir}/cmake/LibTaskManager/
%{_kf5_libdir}/cmake/LibLegacyTaskManager/
%{_kf5_libdir}/libkworkspace5.so
%{_kf5_libdir}/libplasma-geolocation-interface.so
%{_kf5_libdir}/libtaskmanager.so
%{_kf5_libdir}/liblegacytaskmanager.so
%{_kf5_libdir}/libweather_ion.so
%{_kf5_sharedir}/kdevappwizard/
%{_kf5_sharedir}/dbus-1/interfaces/
%if %{with lang}

13
require-qt56.diff Normal file
View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74e1518..b8c52a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@ set(PROJECT_VERSION_MAJOR 5)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
-set(QT_MIN_VERSION "5.6.1")
+set(QT_MIN_VERSION "5.6.0")
set(KF5_MIN_VERSION "5.18.0")
set(INSTALL_SDDM_THEME TRUE)
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets Quick QuickWidgets Concurrent Test Script Network)