Accepting request 518456 from KDE:Frameworks5

1

OBS-URL: https://build.opensuse.org/request/show/518456
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kio?expand=0&rev=51
This commit is contained in:
Dominique Leuenberger 2017-08-24 16:11:13 +00:00 committed by Git OBS Bridge
commit 9d93817d18
7 changed files with 205 additions and 5 deletions

View File

@ -0,0 +1,29 @@
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

@ -0,0 +1,41 @@
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

@ -0,0 +1,81 @@
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:f18f51d5d85156de52bf21e7344e06b9fcb6c815043797615171c7a66bb743c8
size 3081976

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

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

View File

@ -1,3 +1,43 @@
-------------------------------------------------------------------
Tue Aug 22 14:53:37 UTC 2017 - wbauer@tmo.at
- Add Really-rate-limit-INF_PROCESSED_SIZE-messages.patch to not
cause high CPU load during file copies (kde#383843, boo#1016920,
boo#1051349)
- Add KDesktopPropsPlugin-create-destination-dir.patch to fix
modifying applications' .desktop files in the "Edit File Type"
dialog if the corresponding directory doesn't exist in
~/.local/share/ (boo#1000946)
-------------------------------------------------------------------
Tue Aug 15 12:49:25 UTC 2017 - wbauer@tmo.at
- Add fix-applying-special-file-attributes.patch to fix modifying
advanced permissions in the file/folder properties dialog
(boo#978935, kde#365795)
-------------------------------------------------------------------
Sat Aug 12 09:23:30 UTC 2017 - christophe@krop.fr
- Update to 5.37.0
* New feature release
* For more details please see:
* https://www.kde.org/announcements/kde-frameworks-5.37.0.php
- Changes since 5.36.0 :
* Fix assert in UrlUtil::firstChildUrl()
* Add new method urlSelectionRequested to KUrlNavigator
* Revert "Emit a "." UDSEntry when not present, even on empty directories."
* KUrlNavigator: expose the KUrlNavigatorButton that received a drop event
* Fix build on musl libc by exposing setgroups(2).
* Emit a "." UDSEntry when not present, even on empty directories. (kde#382046)
* Fix test not found when setting CMAKE_RUNTIME_OUTPUT_DIRECTORY, for some reason.
* Stash without asking the user with a Copy/Cancel popup.
* Ensure KDirLister updates items whose target URL has changed. (kde#382341)
* Fix kdirwatch warning
* API dox: use official name "D-Bus" consistently
* Make advanced options of "open with" dialog collabsible and hidden by default
* Minor: Fix a couple of deprecation warnings
-------------------------------------------------------------------
Wed Jul 12 07:14:01 CEST 2017 - lbeltrame@kde.org

View File

@ -17,9 +17,9 @@
%bcond_without lang
%define _tar_path 5.36
%define _tar_path 5.37
Name: kio
Version: 5.36.0
Version: 5.37.0
Release: 0
%define kf5_version %{version}
BuildRequires: cmake >= 3.0
@ -75,6 +75,12 @@ Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%
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
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
%description
@ -121,6 +127,9 @@ Development files.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%cmake_kf5 -d build