Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 512334 | Differences between
and this patch

Collapse All | Expand All

(-)a/kde-base/kdelibs/Manifest (+1 lines)
Line 1 Link Here
1
DIST kdelibs-4.13.3.tar.xz 11557152 SHA256 d291b4bc159a3f686ad93ff3dfbe90a0a7e33600357e8390c84154ec050efc82 SHA512 9bc6f154cbf1b6e8b46ee255ce099d9ba9e530dd478d4a1bf2d24f8f9a063221da3a938f9520ad9149c6b82c4135dc72ab652c410bd82ad4b7100e16fff7a661 WHIRLPOOL c4f4872d27244d84112ced58bfc1fbde3e1d9e6b13d77c2209a968145c35d3151ba0526279a8f8bd8007d992e762b8902f9cacfb49789992501c7ccc4d497532
1
DIST kdelibs-4.13.97.tar.xz 11589028 SHA256 ab8d13d2f1871c47206f31c310458010c91aa8f36d7c082e2d377d3f5bc513e4 SHA512 c1064f6a6d55841f7f2e38382282dccf55967b48f823e40e43d42a23253e720613837c79ae4c227574f9cbdf0cddfddc5794b1bc5ba956e02c3983c30e0ba645 WHIRLPOOL 9e19d8ea9ed2d05072467fa8127220341d6015226be74a5e3d8e054ad3f9359c5c087eeaf41fa7b5a6ad51f93e2da47bdcf9ed5e72041e482b48ad0dccca5ce4
2
DIST kdelibs-4.13.97.tar.xz 11589028 SHA256 ab8d13d2f1871c47206f31c310458010c91aa8f36d7c082e2d377d3f5bc513e4 SHA512 c1064f6a6d55841f7f2e38382282dccf55967b48f823e40e43d42a23253e720613837c79ae4c227574f9cbdf0cddfddc5794b1bc5ba956e02c3983c30e0ba645 WHIRLPOOL 9e19d8ea9ed2d05072467fa8127220341d6015226be74a5e3d8e054ad3f9359c5c087eeaf41fa7b5a6ad51f93e2da47bdcf9ed5e72041e482b48ad0dccca5ce4
(-)a/kde-base/kdelibs/files/kdelibs-4.13.1-kio-diskfree.patch (+49 lines)
Line 0 Link Here
1
commit 9a8426ae2ed35ac900b89a623618fc158d24ee6a
2
Author: Tomáš Trnka <tomastrnka@gmx.com>
3
Date:   Sun May 25 16:12:36 2014 +0200
4
5
    Revert "Avoid unnecessary automounting in KDiskFreeSpaceInfo::freeSpaceInfo"
6
    
7
    This reverts commit 6246e99b43f3d1a9e15d563fbb5e173ed50ba5e5.
8
    
9
    It breaks KIO on CIFS mounts as the check for automounts copied over
10
    from frameworks/kfileitem.cpp isDirectoryMounted() apparently matches
11
    CIFS as well (and for some weird reason KIO checks for available space
12
    before trying to copy files).
13
    
14
    We'll probably have to return to v1 of the abovementioned commit, i.e.
15
    checking for "autofs" explicitly. However, more testing is apparently
16
    necessary to avoid further nasty surprises.
17
    
18
    REVIEW: 117044
19
    BUG: 334776
20
    FIXED-IN: 4.13.2
21
22
diff --git a/kio/kfile/kdiskfreespaceinfo.cpp b/kio/kfile/kdiskfreespaceinfo.cpp
23
index 5c1fa72..f11eb09 100644
24
--- a/kio/kfile/kdiskfreespaceinfo.cpp
25
+++ b/kio/kfile/kdiskfreespaceinfo.cpp
26
@@ -33,7 +33,6 @@
27
 #include <QtCore/QDir>
28
 #include <windows.h>
29
 #else
30
-#include <QtCore/QFileInfo>
31
 #include <sys/statvfs.h>
32
 #endif
33
 
34
@@ -131,15 +130,6 @@ KDiskFreeSpaceInfo KDiskFreeSpaceInfo::freeSpaceInfo( const QString& path )
35
 #else
36
     struct statvfs statvfs_buf;
37
 
38
-    // Ignore autofs mountpoints as statvfs would trigger (expensive) automounting
39
-    // This also matches "special" filesystems like /proc where free space has no meaning
40
-    if (mp) {
41
-        QFileInfo fi(info.d->mountPoint);
42
-        if (fi.isDir() && fi.size() == 0) {
43
-            return info;
44
-        }
45
-    }
46
-
47
     // Prefer mountPoint if available, so that it even works with non-existing files.
48
     const QString pathArg = info.d->mountPoint.isEmpty() ? path : info.d->mountPoint;
49
     if (!statvfs(QFile::encodeName(pathArg).constData(), &statvfs_buf)) {
(-)a/kde-base/kdelibs/files/kdelibs-4.13.2-CVE-2014-3494.patch (+55 lines)
Line 0 Link Here
1
From: David Faure <faure@kde.org>
2
Date: Wed, 18 Jun 2014 18:29:04 +0000
3
Subject: Don't require a job to handle messageboxes.
4
X-Git-Url: http://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=bbae87dc1be3ae063796a582774bd5642cacdd5d
5
---
6
Don't require a job to handle messageboxes.
7
8
The POP3 ioslave doesn't have a job when it gets here.
9
---
10
11
12
--- a/kio/kio/usernotificationhandler.cpp
13
+++ b/kio/kio/usernotificationhandler.cpp
14
@@ -19,7 +19,7 @@
15
 #include "usernotificationhandler_p.h"
16
 
17
 #include "slave.h"
18
-#include "job_p.h"
19
+#include "jobuidelegate.h"
20
 
21
 #include <kdebug.h>
22
 
23
@@ -76,19 +76,18 @@
24
 
25
         if (m_cachedResults.contains(key)) {
26
             result = *(m_cachedResults[key]);
27
-        } else if (r->slave->job()) {
28
-            SimpleJobPrivate* jobPrivate = SimpleJobPrivate::get(r->slave->job());
29
-            if (jobPrivate) {
30
-                result = jobPrivate->requestMessageBox(r->type,
31
-                                                      r->data.value(MSG_TEXT).toString(),
32
-                                                      r->data.value(MSG_CAPTION).toString(),
33
-                                                      r->data.value(MSG_YES_BUTTON_TEXT).toString(),
34
-                                                      r->data.value(MSG_NO_BUTTON_TEXT).toString(),
35
-                                                      r->data.value(MSG_YES_BUTTON_ICON).toString(),
36
-                                                      r->data.value(MSG_NO_BUTTON_ICON).toString(),
37
-                                                      r->data.value(MSG_DONT_ASK_AGAIN).toString(),
38
-                                                      r->data.value(MSG_META_DATA).toMap());
39
-            }
40
+        } else {
41
+            JobUiDelegate ui;
42
+            const JobUiDelegate::MessageBoxType type = static_cast<JobUiDelegate::MessageBoxType>(r->type);
43
+            result = ui.requestMessageBox(type,
44
+                                          r->data.value(MSG_TEXT).toString(),
45
+                                          r->data.value(MSG_CAPTION).toString(),
46
+                                          r->data.value(MSG_YES_BUTTON_TEXT).toString(),
47
+                                          r->data.value(MSG_NO_BUTTON_TEXT).toString(),
48
+                                          r->data.value(MSG_YES_BUTTON_ICON).toString(),
49
+                                          r->data.value(MSG_NO_BUTTON_ICON).toString(),
50
+                                          r->data.value(MSG_DONT_ASK_AGAIN).toString(),
51
+                                          r->data.value(MSG_META_DATA).toMap());
52
             m_cachedResults.insert(key, new int(result));
53
         }
54
     } else {
55
(-)a/kde-base/kdelibs/files/kdelibs-4.13.3-CVE-2014-5033.patch (+53 lines)
Line 0 Link Here
1
From c36bf4f314e6ee1203898697abe294ed0c8dcb32 Mon Sep 17 00:00:00 2001
2
From: "Martin T. H. Sandsmark" <martin.sandsmark@kde.org>
3
Date: Mon, 21 Jul 2014 22:52:40 +0200
4
Subject: [PATCH] Use dbus system bus name instead of PID for authentication.
5
6
Using the PID for authentication is prone to a PID reuse
7
race condition, and a security issue.
8
9
REVIEW: 119323
10
---
11
 kdecore/auth/backends/polkit-1/Polkit1Backend.cpp | 15 +++------------
12
 1 file changed, 3 insertions(+), 12 deletions(-)
13
14
diff --git a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
15
index cd7f6f3..732d2cb 100644
16
--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
17
+++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
18
@@ -144,7 +144,7 @@ void Polkit1Backend::setupAction(const QString &action)
19
 
20
 Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
21
 {
22
-    PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
23
+    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
24
     PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
25
                                                                                               PolkitQt1::Authority::None);
26
     switch (r) {
27
@@ -160,21 +160,12 @@ Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
28
 
29
 QByteArray Polkit1Backend::callerID() const
30
 {
31
-    QByteArray a;
32
-    QDataStream s(&a, QIODevice::WriteOnly);
33
-    s << QCoreApplication::applicationPid();
34
-
35
-    return a;
36
+    return QDBusConnection::systemBus().baseService().toUtf8();
37
 }
38
 
39
 bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
40
 {
41
-    QDataStream s(&callerID, QIODevice::ReadOnly);
42
-    qint64 pid;
43
-
44
-    s >> pid;
45
-
46
-    PolkitQt1::UnixProcessSubject subject(pid);
47
+    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
48
     PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
49
 
50
     PolkitResultEventLoop e;
51
-- 
52
1.8.5.5
53
(-)a/kde-base/kdelibs/kdelibs-4.13.3-r1.ebuild (-1 / +305 lines)
Line 0 Link Here
0
- 
1
# Copyright 1999-2014 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
3
# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.13.3-r1.ebuild,v 1.1 2014/07/23 11:07:59 kensington Exp $
4
5
EAPI=5
6
7
CPPUNIT_REQUIRED="optional"
8
DECLARATIVE_REQUIRED="always"
9
OPENGL_REQUIRED="optional"
10
KDE_HANDBOOK="optional"
11
inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic
12
13
EGIT_BRANCH="KDE/4.13"
14
15
DESCRIPTION="KDE libraries needed by all KDE programs."
16
17
KEYWORDS=" ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
18
LICENSE="LGPL-2.1"
19
IUSE="3dnow acl alsa altivec +bzip2 debug doc fam jpeg2k kerberos lzma mmx
20
nepomuk nls openexr +policykit spell sse sse2 ssl +udev +udisks +upower
21
zeroconf"
22
23
REQUIRED_USE="
24
	udisks? ( udev )
25
	upower? ( udev )
26
"
27
28
# needs the kate regression testsuite from svn
29
RESTRICT="test"
30
31
COMMONDEPEND="
32
	app-crypt/qca:2
33
	>=app-misc/strigi-0.7.7
34
	app-text/docbook-xml-dtd:4.2
35
	app-text/docbook-xsl-stylesheets
36
	>=dev-libs/libattica-0.4.2
37
	>=dev-libs/libdbusmenu-qt-0.3.2
38
	dev-libs/libpcre[unicode]
39
	dev-libs/libxml2
40
	dev-libs/libxslt
41
	media-libs/fontconfig
42
	media-libs/freetype:2
43
	media-libs/giflib
44
	media-libs/libpng:0=
45
	>=media-libs/phonon-4.4.3
46
	sys-libs/zlib
47
	virtual/jpeg:0
48
	>=x11-misc/shared-mime-info-0.60
49
	acl? ( virtual/acl )
50
	alsa? ( media-libs/alsa-lib )
51
	!aqua? (
52
		x11-libs/libICE
53
		x11-libs/libSM
54
		x11-libs/libX11
55
		x11-libs/libXau
56
		x11-libs/libXcursor
57
		x11-libs/libXdmcp
58
		x11-libs/libXext
59
		x11-libs/libXfixes
60
		x11-libs/libXft
61
		x11-libs/libXpm
62
		x11-libs/libXrender
63
		x11-libs/libXScrnSaver
64
		x11-libs/libXtst
65
		!kernel_SunOS? (
66
			|| (
67
				sys-libs/libutempter
68
				>=sys-freebsd/freebsd-lib-9.0
69
			)
70
		)
71
	)
72
	bzip2? ( app-arch/bzip2 )
73
	fam? ( virtual/fam )
74
	jpeg2k? ( media-libs/jasper )
75
	kerberos? ( virtual/krb5 )
76
	nepomuk? (
77
		>=dev-libs/shared-desktop-ontologies-0.11.0
78
		>=dev-libs/soprano-2.9.0[dbus,raptor,redland]
79
	)
80
	openexr? (
81
		media-libs/openexr:=
82
		media-libs/ilmbase:=
83
	)
84
	policykit? ( >=sys-auth/polkit-qt-0.103.0 )
85
	spell? ( app-text/enchant )
86
	ssl? ( dev-libs/openssl )
87
	udev? ( virtual/udev )
88
	zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
89
"
90
DEPEND="${COMMONDEPEND}
91
	doc? ( app-doc/doxygen )
92
	nls? ( virtual/libintl )
93
"
94
RDEPEND="${COMMONDEPEND}
95
	!dev-qt/qtphonon
96
	!<=kde-base/plasma-workspace-4.7.1:4
97
	!<=kde-base/kcontrol-4.4.50:4
98
	>=app-crypt/gnupg-2.0.11
99
	app-misc/ca-certificates
100
	$(add_kdebase_dep kde-env)
101
	sys-apps/dbus[X]
102
	!aqua? (
103
		udisks? ( sys-fs/udisks:2 )
104
		x11-apps/iceauth
105
		x11-apps/rgb
106
		>=x11-misc/xdg-utils-1.0.2-r3
107
		upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) )
108
	)
109
	udev? ( app-misc/media-player-info )
110
"
111
PDEPEND="
112
	$(add_kdebase_dep katepart)
113
	|| (
114
		$(add_kdebase_dep kfmclient)
115
		x11-misc/xdg-utils
116
	)
117
	handbook? (
118
		|| (
119
			$(add_kdebase_dep khelpcenter)
120
			kde-base/khelpcenter:5[kde4_compat]
121
		)
122
	)
123
	nepomuk? (
124
		$(add_kdebase_dep nepomuk-core)
125
		$(add_kdebase_dep nepomuk-widgets)
126
	)
127
	policykit? (
128
		>=sys-auth/polkit-kde-agent-0.99
129
	)
130
"
131
132
PATCHES=(
133
	"${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix-1.patch"
134
	"${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs-1.patch"
135
	"${FILESDIR}/${PN}-4.7.96-mimetypes.patch"
136
	"${FILESDIR}/${PN}-4.4.90-xslt.patch"
137
	"${FILESDIR}/${PN}-4.6.2-armlinking.patch"
138
	"${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch"
139
	"${FILESDIR}/${PN}-4.8.1-norpath.patch"
140
	"${FILESDIR}/${PN}-4.9.3-werror.patch"
141
	"${FILESDIR}/${PN}-4.10.0-udisks.patch"
142
	"${FILESDIR}/${PN}-4.13.3-CVE-2014-5033.patch"
143
)
144
145
pkg_pretend() {
146
	if [[ ${MERGE_TYPE} != binary ]]; then
147
		[[ $(gcc-major-version) -lt 4 ]] || \
148
				( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \
149
			&& die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)."
150
	fi
151
}
152
153
src_prepare() {
154
	kde4-base_src_prepare
155
156
	# Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix-1.patch to work)
157
	sed -e 's|FILES[[:space:]]applications.menu|FILES applications.menu RENAME kde-4-applications.menu|g' \
158
		-i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed."
159
160
	if use aqua; then
161
		sed -i -e \
162
			"s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \
163
			cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake"
164
165
		#if [[ ${CHOST} == *-darwin8 ]]; then
166
		sed -i -e \
167
			"s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \
168
			cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake"
169
		#fi
170
171
		# solid/solid/backends/iokit doesn't properly link, so disable it.
172
		sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \
173
			|| die "disabling solid/solid/backends/iokit failed"
174
		sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \
175
			|| die "disabling solid/solid/backends/iokit failed"
176
177
		# There's no fdatasync on OSX and the check fails to detect that.
178
		sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \
179
			|| die "disabling fdatasync failed"
180
181
		# Fix nameser include to nameser8_compat
182
		sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \
183
			|| die "fixing nameser include failed"
184
		append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1
185
186
		# Try to fix kkeyserver_mac
187
		epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch
188
	fi
189
}
190
191
src_configure() {
192
	local mycmakeargs=(
193
		-DWITH_HSPELL=OFF
194
		-DWITH_ASPELL=OFF
195
		-DWITH_DNSSD=OFF
196
		-DKDE_DEFAULT_HOME=.kde4
197
		-DKAUTH_BACKEND=POLKITQT-1
198
		-DBUILD_libkactivities=OFF
199
		$(cmake-utils_use_build handbook doc)
200
		$(cmake-utils_use_has 3dnow X86_3DNOW)
201
		$(cmake-utils_use_has altivec PPC_ALTIVEC)
202
		$(cmake-utils_use_has mmx X86_MMX)
203
		$(cmake-utils_use_has sse X86_SSE)
204
		$(cmake-utils_use_has sse2 X86_SSE2)
205
		$(cmake-utils_use_with acl)
206
		$(cmake-utils_use_with alsa)
207
		$(cmake-utils_use_with bzip2 BZip2)
208
		$(cmake-utils_use_with fam)
209
		$(cmake-utils_use_with jpeg2k Jasper)
210
		$(cmake-utils_use_with kerberos GSSAPI)
211
		$(cmake-utils_use_with lzma LibLZMA)
212
		$(cmake-utils_use_with nepomuk Soprano)
213
		$(cmake-utils_use_with nepomuk SharedDesktopOntologies)
214
		$(cmake-utils_use_with nls Libintl)
215
		$(cmake-utils_use_with openexr OpenEXR)
216
		$(cmake-utils_use_with opengl OpenGL)
217
		$(cmake-utils_use_with policykit PolkitQt-1)
218
		$(cmake-utils_use_with spell ENCHANT)
219
		$(cmake-utils_use_with ssl OpenSSL)
220
		$(cmake-utils_use_with udev UDev)
221
		$(cmake-utils_use_with udisks SOLID_UDISKS2)
222
		$(cmake-utils_use_with zeroconf Avahi)
223
	)
224
	kde4-base_src_configure
225
}
226
227
src_compile() {
228
	kde4-base_src_compile
229
230
	# The building of apidox is not managed anymore by the build system
231
	if use doc; then
232
		einfo "Building API documentation"
233
		cd "${S}"/doc/api/
234
		./doxygen.sh "${S}" || die "APIDOX generation failed"
235
	fi
236
}
237
238
src_install() {
239
	kde4-base_src_install
240
241
	# use system certificates
242
	rm -f "${ED}"/usr/share/apps/kssl/ca-bundle.crt || die
243
	dosym /etc/ssl/certs/ca-certificates.crt /usr/share/apps/kssl/ca-bundle.crt
244
245
	if use doc; then
246
		einfo "Installing API documentation. This could take a bit of time."
247
		cd "${S}"/doc/api/
248
		docinto /HTML/en/kdelibs-apidox
249
		dohtml -r ${P}-apidocs/*
250
	fi
251
252
	if use aqua; then
253
		einfo "fixing ${PN} plugins"
254
255
		local _PV=${PV:0:3}.0
256
		local _dir=${EPREFIX}/usr/$(get_libdir)/kde4/plugins/script
257
258
		install_name_tool -id \
259
			"${_dir}/libkrossqtsplugin.${_PV}.dylib" \
260
			"${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \
261
			|| die "failed fixing libkrossqtsplugin.${_PV}.dylib"
262
263
		einfo "fixing ${PN} cmake detection files"
264
		#sed -i -e \
265
		#	"s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \
266
		echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \
267
			"${ED}"/usr/share/apps/cmake/modules/FindXKB.cmake \
268
			|| die "failed fixing FindXKB.cmake"
269
	fi
270
271
	einfo Installing environment file.
272
	# Since 44qt4 is sourced earlier QT_PLUGIN_PATH is defined.
273
	echo "COLON_SEPARATED=QT_PLUGIN_PATH" > "${T}/77kde"
274
	echo "QT_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/kde4/plugins" >> "${T}/77kde"
275
	doenvd "${T}/77kde"
276
}
277
278
pkg_postinst() {
279
	fdo-mime_mime_database_update
280
281
	if use zeroconf; then
282
		echo
283
		elog "To make zeroconf support available in KDE make sure that the avahi daemon"
284
		elog "is running."
285
		echo
286
		einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns"
287
		einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf"
288
		einfo "to include 'mdns', e.g.:"
289
		einfo "	hosts: files mdns dns"
290
		echo
291
	fi
292
293
	kde4-base_pkg_postinst
294
}
295
296
pkg_prerm() {
297
	# Remove ksycoca4 global database
298
	rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4
299
}
300
301
pkg_postrm() {
302
	fdo-mime_mime_database_update
303
304
	kde4-base_pkg_postrm
305
}

Return to bug 512334