Merge branch 'master' into f19

Conflicts:
	.gitignore
	kdelibs.spec
	sources
This commit is contained in:
Rex Dieter 2013-09-04 21:56:55 -05:00
commit f6cb502cd2
6 changed files with 181 additions and 14 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/kdelibs-4.10.4.tar.xz
/kdelibs-4.10.5.tar.xz
/kdelibs-4.11.1.tar.xz

View File

@ -0,0 +1,86 @@
From f8fea3f01c85eb0d6d479647ac27fe431846a1ae Mon Sep 17 00:00:00 2001
From: Valentin Rusu <kde@rusu.info>
Date: Sun, 1 Sep 2013 01:16:28 +0200
Subject: Fix the synchronous-mode wallet open logic
BUG: 254198
The wallet opening logic, for the synchronous mode, had a nested
event loops problem, leading to frozen kwalletd. That was because
kwalletd wasn't using qdbus delayed replies. kdelibs used
asynchronous open methods even for the synchronous mode, coupled
with an internal event loop to simulate synchronous mode.
This commit removes that internal event loop, as the kwalletd now
blocks on synchronous wallet open requests.
---
kdeui/util/kwallet.cpp | 28 ++++++++--------------------
1 file changed, 8 insertions(+), 20 deletions(-)
diff --git a/kdeui/util/kwallet.cpp b/kdeui/util/kwallet.cpp
index bbb7129..67a33d6 100644
--- a/kdeui/util/kwallet.cpp
+++ b/kdeui/util/kwallet.cpp
@@ -221,7 +221,6 @@ public:
QString folder;
int handle;
int transactionId;
- QPointer<QEventLoop> loop;
};
#ifdef HAVE_KSECRETSSERVICE
@@ -477,18 +476,18 @@ Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) {
connect(&walletLauncher->getInterface(), SIGNAL(walletAsyncOpened(int,int)),
wallet, SLOT(walletAsyncOpened(int,int)));
- // Use an eventloop for synchronous calls
- QEventLoop loop;
- if (ot == Synchronous || ot == Path) {
- connect(wallet, SIGNAL(walletOpened(bool)), &loop, SLOT(quit()));
- }
-
// Make sure the password prompt window will be visible and activated
KWindowSystem::allowExternalProcessWindowActivation();
// do the call
QDBusReply<int> r;
- if (ot == Synchronous || ot == Asynchronous) {
+ if (ot == Synchronous) {
+ r = walletLauncher->getInterface().open(name, (qlonglong)w, appid());
+ // after this call, r would contain a transaction id >0 if OK or -1 if NOK
+ // if OK, the slot walletAsyncOpened should have been received, but the transaction id
+ // will not match. We'll get that handle from the reply - see below
+ }
+ else if (ot == Asynchronous) {
r = walletLauncher->getInterface().openAsync(name, (qlonglong)w, appid(), true);
} else if (ot == Path) {
r = walletLauncher->getInterface().openPathAsync(name, (qlonglong)w, appid(), true);
@@ -510,14 +509,7 @@ Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) {
delete wallet;
wallet = 0;
} else {
- // wait for the daemon's reply
- // store a pointer to the event loop so it can be quit in error case
- wallet->d->loop = &loop;
- loop.exec();
- if (wallet->d->handle < 0) {
- delete wallet;
- return 0;
- }
+ wallet->d->handle = r.value();
}
} else if (ot == Asynchronous) {
if (wallet->d->transactionId < 0) {
@@ -1517,10 +1509,6 @@ Wallet::EntryType Wallet::entryType(const QString& key) {
void Wallet::WalletPrivate::walletServiceUnregistered()
{
- if (loop) {
- loop->quit();
- }
-
if (handle >= 0) {
q->slotWalletClosed(handle);
}
--
1.8.3.1

6
SOLID_HAL_LEGACY.sh Normal file
View File

@ -0,0 +1,6 @@
if [ -z "${SOLID_HAL_LEGACY}" ] ; then
SOLID_HAL_LEGACY=1
export SOLID_HAL_LEGACY
fi

View File

@ -1,4 +1,4 @@
%define attica_ver 0.4.0
%define attica_ver 0.4.2
%define dbusmenu_qt_ver 0.9.0
%define phonon_ver 4.6.0
%define qt4_ver 4.8.1
@ -20,9 +20,10 @@
%endif
%if 0%{?rhel} == 6
%define hal 1
%define cmake cmake28
Source10: SOLID_HAL_LEGACY.sh
%define cmake_pkg cmake28
%else
%define cmake cmake
%define cmake_pkg cmake
%define upower 1
%endif
@ -32,9 +33,12 @@
%global strigi_version %(pkg-config --modversion libstreams 2>/dev/null || echo %{strigi_ver})
%global dbusmenu_qt_version %(pkg-config --modversion dbusmenu-qt 2>/dev/null || echo %{dbusmenu_qt_ver})
# trim changelog included in binary rpms
%global _changelog_trimtime %(date +%s -d "1 year ago")
Summary: KDE Libraries
Version: 4.10.5
Release: 1%{?dist}
Version: 4.11.1
Release: 2%{?dist}
Name: kdelibs
Epoch: 6
@ -161,6 +165,12 @@ Patch090: return-not-break.-copy-paste-error.patch
Patch091: coding-style-fixes.patch
Patch092: return-application-icons-properly.patch
# revert disabling of packagekit
Patch093: turn-the-packagekit-support-feature-off-by-default.patch
# https://bugs.kde.org/254198
Patch100: Fix-the-synchronous-mode-wallet-open-logic.patch
## security fix
# rhel patches
@ -187,7 +197,7 @@ Requires(postun): /sbin/ldconfig
BuildRequires: automoc4 >= 0.9.88
BuildRequires: bison flex
BuildRequires: bzip2-devel
BuildRequires: %{cmake} >= 2.8.9
BuildRequires: %{cmake_pkg} >= 2.8.9
BuildRequires: cups-devel cups
BuildRequires: gettext-devel
BuildRequires: giflib-devel
@ -276,7 +286,7 @@ Obsoletes: kdelibs-experimental-devel < 4.3.75
Provides: kdelibs-experimental-devel = %{version}-%{release}
%endif
Requires: automoc4 >= 0.9.88
Requires: %{cmake} >= 2.8.9
Requires: %{cmake_pkg} >= 2.8.9
Requires: pkgconfig(libattica) >= %{attica_ver}
Requires: pkgconfig(openssl)
Requires: pkgconfig(phonon)
@ -352,6 +362,9 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%patch090 -p1 -R -b .return-not-break.-copy-paste-error
%patch091 -p1 -R -b .coding-style-fixes.patch
%patch092 -p1 -R -b .return-application-icons-properly
%patch093 -p1 -R -b .turn-the-packagekit-support-feature-off-by-default
%patch100 -p1 -b .Fix-the-synchronous-mode-wallet-open-logic
# security fixes
@ -369,6 +382,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
mkdir -p %{_target_platform}
pushd %{_target_platform}
%{cmake_kde4} \
-DHUPNP_ENABLED:BOOL=ON \
-DKAUTH_BACKEND:STRING="PolkitQt-1" \
-DKDE_DISTRIBUTION_TEXT="%{version}-%{release}%{?fedora: Fedora}%{?rhel: Red Hat Enterprise Linux}" \
%{?udisks2:-DWITH_SOLID_UDISKS2:BOOL=ON} \
@ -452,6 +466,10 @@ done
%endif
%endif
%if 0%{?hal:1}
install -p -m644 -D %{SOURCE10} /etc/kde/env/SOLID_HAL_LEGACY.sh
%endif
%post
/sbin/ldconfig
@ -461,19 +479,22 @@ touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
/sbin/ldconfig ||:
if [ $1 -eq 0 ] ; then
update-desktop-database -q &> /dev/null
update-mime-database %{_kde4_datadir}/mime &> /dev/null
update-mime-database %{_datadir}/mime >& /dev/null
touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null
gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
fi
%posttrans
update-desktop-database -q &> /dev/null
update-mime-database %{_kde4_datadir}/mime >& /dev/null
update-mime-database %{_datadir}/mime >& /dev/null
gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
%files
%doc AUTHORS README TODO
%doc COPYING.LIB
%if 0%{?hal:1}
/etc/kde/env/SOLID_HAL_LEGACY.sh
%endif
%{_kde4_bindir}/checkXML
%{_kde4_bindir}/kbuildsycoca4
%{_kde4_bindir}/kcookiejar4
@ -514,7 +535,7 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
%{_sysconfdir}/dbus-1/system.d/*
%{_kde4_datadir}/applications/kde4/kmailservice.desktop
%{_kde4_datadir}/applications/kde4/ktelnetservice.desktop
%{_kde4_datadir}/mime/packages/kde.xml
%{_datadir}/mime/packages/kde.xml
%{_kde4_sharedir}/kde4/services/*
%{_kde4_sharedir}/kde4/servicetypes/*
%{_kde4_iconsdir}/hicolor/*/*/*
@ -593,8 +614,27 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
%changelog
* Sun Jun 30 2013 Than Ngo <than@redhat.com> - 4.10.5-1
- 4.10.5
* Tue Sep 03 2013 Rex Dieter <rdieter@fedoraproject.org> 6:4.11.1-2
- backport kwallet synchronous mode fix (kde#254198)
* Tue Sep 03 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.1-1
- 4.11.1
- include SOLID_HAL_LEGACY hack (el6)
* Wed Aug 14 2013 Rex Dieter <rdieter@fedoraproject.org> 6:4.11.0-2
- upstream patches, including plasma crasher fix (kde#320855)
* Thu Aug 08 2013 Than Ngo <than@redhat.com> - 6:4.11.0-1
- 4.11.0
* Thu Jul 25 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.10.97-1
- 4.10.97
* Tue Jul 23 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.10.95-1
- 4.10.95
* Thu Jun 27 2013 Rex Dieter <rdieter@fedoraproject.org> 4.10.90-1
- 4.10.90
* Sat Jun 01 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.10.4-1
- 4.10.4

View File

@ -1 +1 @@
3e581954a6d82babfe6489905d0039c8 kdelibs-4.10.5.tar.xz
94673d3c379a673f7ee89527c7514bea kdelibs-4.11.1.tar.xz

View File

@ -0,0 +1,35 @@
From e87117d7074b112f46a7c9ebc66422c581c64fc1 Mon Sep 17 00:00:00 2001
From: Aaron Seigo <aseigo@kde.org>
Date: Wed, 5 Jun 2013 15:26:47 +0200
Subject: [PATCH] turn the packagekit support feature off by default
it only works on fedora, there is no way to tell the dialog to not show
again. these are fixable, but they aren't fixed yet and may not be for
a while and i'd rather not annoy people for the lifetime of 4.11
---
plasma/CMakeLists.txt | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/plasma/CMakeLists.txt b/plasma/CMakeLists.txt
index 674550d..eeda974 100644
--- a/plasma/CMakeLists.txt
+++ b/plasma/CMakeLists.txt
@@ -6,14 +6,11 @@ if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
set(PLASMA_NO_KNEWSTUFF TRUE)
set(PLASMA_NO_SOLID TRUE)
set(PLASMA_NO_KIO TRUE)
- set(PLASMA_NO_PACKAGEKIT TRUE)
set(PLASMA_NO_KUTILS TRUE)
set(PLASMA_NO_GLOBAL_SHORTCUTS TRUE)
endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
-if(NOT Q_WS_X11)
- set(PLASMA_NO_PACKAGEKIT TRUE)
-endif(NOT Q_WS_X11)
+set(PLASMA_NO_PACKAGEKIT TRUE)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${KDE4_KDECORE_INCLUDES}
--
1.8.3.1