From 2bb95a60b721de207bc2d5db4eb2905aa93f1bc0 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 26 May 2014 12:53:33 -0300 Subject: kdelibs-libre-4.13.1-3: fix CIFS mount (FS#40475 => https://bugs.archlinux.org/task/40475) --- libre/kdelibs-libre/PKGBUILD | 11 ++++--- libre/kdelibs-libre/fix-cifs-mount.patch | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 libre/kdelibs-libre/fix-cifs-mount.patch 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 # Maintainer: André Silva @@ -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 +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 + #include + #else +-#include + #include + #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)) { -- cgit v1.2.3