KDE Frameworks 5.38.0 checkin

OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kio?expand=0&rev=197
This commit is contained in:
Luca Beltrame 2017-09-12 18:59:10 +00:00 committed by Git OBS Bridge
parent 6a8778cc7e
commit 98b5de5b34
7 changed files with 19 additions and 165 deletions

View File

@ -1,29 +0,0 @@
From a0fc624d50bbd7942834913ece52d26849ba7243 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Thu, 17 Aug 2017 12:51:53 +0200
Subject: [KDesktopPropsPlugin] Create destination directory if it doesn't
exist
If the directory doesn't exist, applying the changes will fail with
"Could not save properties. You do not have sufficient access to write
to xxx".
---
src/widgets/kpropertiesdialog.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/widgets/kpropertiesdialog.cpp b/src/widgets/kpropertiesdialog.cpp
index 860ad0e..0abcc9c 100644
--- a/src/widgets/kpropertiesdialog.cpp
+++ b/src/widgets/kpropertiesdialog.cpp
@@ -3674,6 +3674,8 @@ void KDesktopPropsPlugin::applyChanges()
const QString path(url.toLocalFile());
+ // make sure the directory exists
+ QDir().mkpath(QFileInfo(path).absolutePath());
QFile f(path);
if (!f.open(QIODevice::ReadWrite)) {
KMessageBox::sorry(nullptr, i18n("<qt>Could not save properties. You do not have "
--
cgit v0.11.2

View File

@ -1,41 +0,0 @@
From 801f58e7e76acd4bcb23d6e8092825cdda203a81 Mon Sep 17 00:00:00 2001
From: Kevin Funk <kfunk@kde.org>
Date: Tue, 22 Aug 2017 14:11:03 +0200
Subject: Really rate-limit INF_PROCESSED_SIZE messages
Summary:
Fixing an ancient porting bug which popped up when porting from Qt4 to
Qt5.
FIXED-IN: 5.38
BUG: 383843
Reviewers: dfaure
Reviewed By: dfaure
Subscribers: dfaure, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D7463
---
src/core/slavebase.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/slavebase.cpp b/src/core/slavebase.cpp
index 3778df8..149564b 100644
--- a/src/core/slavebase.cpp
+++ b/src/core/slavebase.cpp
@@ -535,7 +535,7 @@ void SlaveBase::processedSize(KIO::filesize_t _bytes)
emitSignal = true;
} else {
if (d->lastTimeout.isValid()) {
- emitSignal = d->lastTimeout.msecsTo(now); // emit size 10 times a second
+ emitSignal = d->lastTimeout.msecsTo(now) >= 100; // emit size 10 times a second
} else {
emitSignal = true;
}
--
cgit v0.11.2

View File

@ -1,81 +0,0 @@
From 9ac7832b859bfcbc88448c4ae0f6dc14b2d54a06 Mon Sep 17 00:00:00 2001
From: Kai Uwe Broulik <kde@privat.broulik.de>
Date: Tue, 15 Aug 2017 14:41:36 +0200
Subject: [File KIO slave] Fix applying special file attributes
QFile does not support special attributes like sticky. This would cause us to always discard them.
BUG: 365795
Differential Revision: https://phabricator.kde.org/D7326
---
autotests/jobtest.cpp | 20 ++++++++++++++++++++
autotests/jobtest.h | 3 +++
src/ioslaves/file/file.cpp | 5 +++++
3 files changed, 28 insertions(+)
diff --git a/autotests/jobtest.cpp b/autotests/jobtest.cpp
index 80a8921..557d1b5 100644
--- a/autotests/jobtest.cpp
+++ b/autotests/jobtest.cpp
@@ -1473,6 +1473,26 @@ void JobTest::chmodFile()
QFile::remove(filePath);
}
+#ifdef Q_OS_UNIX
+void JobTest::chmodSticky()
+{
+ const QString filePath = homeTmpDir() + "fileForChmodSticky";
+ createTestFile(filePath);
+ KFileItem item(QUrl::fromLocalFile(filePath));
+ const mode_t origPerm = item.permissions();
+ mode_t newPerm = origPerm ^ S_ISVTX;
+ QVERIFY(newPerm != origPerm);
+ KFileItemList items({item});
+ KIO::Job *job = KIO::chmod(items, newPerm, S_ISVTX, QString(), QString(), false, KIO::HideProgressInfo);
+ job->setUiDelegate(nullptr);
+ QVERIFY(job->exec());
+
+ KFileItem newItem(QUrl::fromLocalFile(filePath));
+ QCOMPARE(QString::number(newItem.permissions(), 8), QString::number(newPerm, 8));
+ QFile::remove(filePath);
+}
+#endif
+
void JobTest::chmodFileError()
{
// chown(root) should fail
diff --git a/autotests/jobtest.h b/autotests/jobtest.h
index 96b4264..e3d800a 100644
--- a/autotests/jobtest.h
+++ b/autotests/jobtest.h
@@ -84,6 +84,9 @@ private Q_SLOTS:
#endif
void mostLocalUrl();
void chmodFile();
+#ifdef Q_OS_UNIX
+ void chmodSticky();
+#endif
void chmodFileError();
void mimeType();
void mimeTypeError();
diff --git a/src/ioslaves/file/file.cpp b/src/ioslaves/file/file.cpp
index 47fb0a5..a7f1a47 100644
--- a/src/ioslaves/file/file.cpp
+++ b/src/ioslaves/file/file.cpp
@@ -225,7 +225,12 @@ void FileProtocol::chmod(const QUrl &url, int permissions)
const QString path(url.toLocalFile());
const QByteArray _path(QFile::encodeName(path));
/* FIXME: Should be atomic */
+#ifdef Q_OS_UNIX
+ // QFile::Permissions does not support special attributes like sticky
+ if (::chmod(QFile::encodeName(path).constData(), permissions) == -1 ||
+#else
if (!QFile::setPermissions(path, modeToQFilePermissions(permissions)) ||
+#endif
(setACL(_path.data(), permissions, false) == -1) ||
/* if not a directory, cannot set default ACLs */
(setACL(_path.data(), permissions, true) == -1 && errno != ENOTDIR)) {
--
cgit v0.11.2

View File

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

3
kio-5.38.0.tar.xz Normal file
View File

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

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Tue Sep 12 07:11:17 CEST 2017 - lbeltrame@kde.org
- Update to 5.38.0
* New feature release
* For more details please see:
* https://www.kde.org/announcements/kde-frameworks-5.38.0.php
- Changes since 5.37.0:
* Too many changes to list here
- Dropped patches, now upstream:
* fix-applying-special-file-attributes.patch
* KDesktopPropsPlugin-create-destination-dir.patch
* Really-rate-limit-INF_PROCESSED_SIZE-messages.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 22 14:53:37 UTC 2017 - wbauer@tmo.at Tue Aug 22 14:53:37 UTC 2017 - wbauer@tmo.at

View File

@ -17,9 +17,9 @@
%bcond_without lang %bcond_without lang
%define _tar_path 5.37 %define _tar_path 5.38
Name: kio Name: kio
Version: 5.37.0 Version: 5.38.0
Release: 0 Release: 0
%define kf5_version %{version} %define kf5_version %{version}
BuildRequires: cmake >= 3.0 BuildRequires: cmake >= 3.0
@ -75,12 +75,6 @@ Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%
Source1: baselibs.conf Source1: baselibs.conf
# PATCH-FIX-OPENSUSE kio_help-fallback-to-kde4-docs.patch -- allow kio_help to see into kde4 documentation, needed especially for khelpcenter5 # PATCH-FIX-OPENSUSE kio_help-fallback-to-kde4-docs.patch -- allow kio_help to see into kde4 documentation, needed especially for khelpcenter5
Patch0: kio_help-fallback-to-kde4-docs.patch Patch0: kio_help-fallback-to-kde4-docs.patch
# PATCH-FIX-UPSTREAM
Patch1: fix-applying-special-file-attributes.patch
# PATCH-FIX-UPSTREAM
Patch2: KDesktopPropsPlugin-create-destination-dir.patch
# PATCH-FIX-UPSTREAM
Patch3: Really-rate-limit-INF_PROCESSED_SIZE-messages.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
@ -127,9 +121,6 @@ Development files.
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build %build
%cmake_kf5 -d build %cmake_kf5 -d build