summaryrefslogtreecommitdiff
path: root/libre/kdelibs-libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-26 12:53:33 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-26 12:53:33 -0300
commit2bb95a60b721de207bc2d5db4eb2905aa93f1bc0 (patch)
treee9c7b4fa6a51496162b06595071d6925dba5d39f /libre/kdelibs-libre
parentd21915a8e1c4130cbd5cf6d0d58ae8448de8b085 (diff)
kdelibs-libre-4.13.1-3: fix CIFS mount (FS#40475 => https://bugs.archlinux.org/task/40475)
Diffstat (limited to 'libre/kdelibs-libre')
-rw-r--r--libre/kdelibs-libre/PKGBUILD11
-rw-r--r--libre/kdelibs-libre/fix-cifs-mount.patch49
2 files changed, 56 insertions, 4 deletions
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
index 62ca967ad..696ab790d 100644
--- a/libre/kdelibs-libre/PKGBUILD
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 212815 2014-05-15 13:45:14Z tpowa $
+# $Id: PKGBUILD 213594 2014-05-26 08:53:32Z andrea $
# Maintainer (Arch): Andrea Scarpino <andrea@archlinux.org
# Contributor (Arch): Pierre Schmitz <pierre@archlinux.de>
# Maintainer: André Silva <emulatorman@parabola.nu>
@@ -6,7 +6,7 @@
_pkgname=kdelibs
pkgname=kdelibs-libre
pkgver=4.13.1
-pkgrel=2
+pkgrel=3
pkgdesc="KDE Core Libraries, without nonfree plugins recommendation support"
arch=('i686' 'x86_64' 'mips64el')
url='https://projects.kde.org/projects/kde/kdelibs'
@@ -21,11 +21,12 @@ depends=('attica' 'libxss' 'krb5' 'grantlee' 'qca' 'libdbusmenu-qt' 'polkit-qt'
makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa')
install=${_pkgname}.install
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
- 'kde-applications-menu.patch' 'qt4.patch'
- 'khtml-fsdg.diff')
+ 'kde-applications-menu.patch' 'qt4.patch'
+ 'fix-cifs-mount.patch' 'khtml-fsdg.diff')
sha1sums=('1008effc37f316bf6e3a4d527c4257937fc572ec'
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
'ed1f57ee661e5c7440efcaba7e51d2554709701c'
+ '26bbebeaf3f882d84030fd9b39b7b4c9debbbeec'
'a1502a964081ad583a00cf90c56e74bf60121830')
prepare() {
@@ -34,6 +35,8 @@ prepare() {
patch -p1 -i "${srcdir}"/kde-applications-menu.patch
# qmake refers to Qt5
patch -p1 -i "${srcdir}"/qt4.patch
+
+ patch -p1 -i "${srcdir}"/fix-cifs-mount.patch
# Don't ask the user to download a plugin, it's probably nonfree.
patch -p1 -i "${srcdir}"/khtml-fsdg.diff
}
diff --git a/libre/kdelibs-libre/fix-cifs-mount.patch b/libre/kdelibs-libre/fix-cifs-mount.patch
new file mode 100644
index 000000000..98bae4594
--- /dev/null
+++ b/libre/kdelibs-libre/fix-cifs-mount.patch
@@ -0,0 +1,49 @@
+commit 9a8426ae2ed35ac900b89a623618fc158d24ee6a
+Author: Tomáš Trnka <tomastrnka@gmx.com>
+Date: Sun May 25 16:12:36 2014 +0200
+
+ Revert "Avoid unnecessary automounting in KDiskFreeSpaceInfo::freeSpaceInfo"
+
+ This reverts commit 6246e99b43f3d1a9e15d563fbb5e173ed50ba5e5.
+
+ It breaks KIO on CIFS mounts as the check for automounts copied over
+ from frameworks/kfileitem.cpp isDirectoryMounted() apparently matches
+ CIFS as well (and for some weird reason KIO checks for available space
+ before trying to copy files).
+
+ We'll probably have to return to v1 of the abovementioned commit, i.e.
+ checking for "autofs" explicitly. However, more testing is apparently
+ necessary to avoid further nasty surprises.
+
+ REVIEW: 117044
+ BUG: 334776
+ FIXED-IN: 4.13.2
+
+diff --git a/kio/kfile/kdiskfreespaceinfo.cpp b/kio/kfile/kdiskfreespaceinfo.cpp
+index 5c1fa72..f11eb09 100644
+--- a/kio/kfile/kdiskfreespaceinfo.cpp
++++ b/kio/kfile/kdiskfreespaceinfo.cpp
+@@ -33,7 +33,6 @@
+ #include <QtCore/QDir>
+ #include <windows.h>
+ #else
+-#include <QtCore/QFileInfo>
+ #include <sys/statvfs.h>
+ #endif
+
+@@ -131,15 +130,6 @@ KDiskFreeSpaceInfo KDiskFreeSpaceInfo::freeSpaceInfo( const QString& path )
+ #else
+ struct statvfs statvfs_buf;
+
+- // Ignore autofs mountpoints as statvfs would trigger (expensive) automounting
+- // This also matches "special" filesystems like /proc where free space has no meaning
+- if (mp) {
+- QFileInfo fi(info.d->mountPoint);
+- if (fi.isDir() && fi.size() == 0) {
+- return info;
+- }
+- }
+-
+ // Prefer mountPoint if available, so that it even works with non-existing files.
+ const QString pathArg = info.d->mountPoint.isEmpty() ? path : info.d->mountPoint;
+ if (!statvfs(QFile::encodeName(pathArg).constData(), &statvfs_buf)) {