summaryrefslogtreecommitdiff
path: root/kde-misc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-31 18:57:01 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-31 18:57:01 +0000
commit69051588e2f955485fe5d45d45e616bc60a2de57 (patch)
treeef8699cca7ce3773b1de747b167ceeacdc60cb92 /kde-misc
parentd7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (diff)
gentoo resync : 31.01.2021
Diffstat (limited to 'kde-misc')
-rw-r--r--kde-misc/Manifest.gzbin5279 -> 5277 bytes
-rw-r--r--kde-misc/kio-fuse/Manifest4
-rw-r--r--kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch32
-rw-r--r--kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch49
-rw-r--r--kde-misc/kio-fuse/kio-fuse-5.0.0-r1.ebuild (renamed from kde-misc/kio-fuse/kio-fuse-5.0.0.ebuild)17
5 files changed, 98 insertions, 4 deletions
diff --git a/kde-misc/Manifest.gz b/kde-misc/Manifest.gz
index d641fb79c7ba..a506abc57977 100644
--- a/kde-misc/Manifest.gz
+++ b/kde-misc/Manifest.gz
Binary files differ
diff --git a/kde-misc/kio-fuse/Manifest b/kde-misc/kio-fuse/Manifest
index 39ca0ba95e0d..838c4a058c08 100644
--- a/kde-misc/kio-fuse/Manifest
+++ b/kde-misc/kio-fuse/Manifest
@@ -1,3 +1,5 @@
+AUX kio-fuse-5.0.0-fix-segfault-on-links-1.patch 984 BLAKE2B b3c820a69a32a47c21c7f8e0112cd90f9a387cffd3f55bd3b1e5bd3435845d60f2a836a52e322dac74ac22b5452ba4fe3142ef8601cbf2e5fffa3a1bc12e1d4a SHA512 fb02b002a4669a8136f28f3c7b2783fddafa1c4d9523991e5a291eab50fe91b58091bc3d9e532b876de413d3115692991751a1ce883d250673e0fc4ab095b71c
+AUX kio-fuse-5.0.0-fix-segfault-on-links-2.patch 2014 BLAKE2B 5279b07685d23b6eb0c7047ec168e59ab2272f05abcbbf1aaf58f7e9d80d325fc6907b1522600117dffc137cd0a60282d37e3095d2e73088144b3f51dfebd1e2 SHA512 36986f096f4c22f78ed4bb1ddd7a2b70cb589bdc12ae093328f5c7b6b1bf6ba22fd64934df64520874a6a857dbfef2ea7d6bf85efe3a1f725297a9c3edb56c59
DIST kio-fuse-5.0.0.tar.xz 46672 BLAKE2B 4e3dbf9ad8c00140c6d3ca2c364bde1c4a8a9eacf875101cf5089460357e05421df73420f030cbef5c6aeab213eed18fa53490b335b0e00ee86cf284b3d02faf SHA512 3c75e1abc0c357be4291e9a93902e510f249e8a980ae39e997ba0f252058114b0a717667e32528afc055eccd96576acfd0942f9f45526c3be69627d399dbf575
-EBUILD kio-fuse-5.0.0.ebuild 758 BLAKE2B cbca3beab4b273c9ecdacd6912017489bd13dafe971ec61a45bd3a79d74b3b0bb0f3fb22c00f13ab17638e016b80cfd267e8b70c48eecaf447305bd03c07c325 SHA512 31037f02fcba848a0cee12a03464585e44c9f2845836556d87b9e36b5b06ee9f71e5aaecc559d406b6a893f157e6dc12d288ca1173d77d1b2f8d78dc11ec2e33
+EBUILD kio-fuse-5.0.0-r1.ebuild 939 BLAKE2B f638e4d322670168f431f0f9b06995bcb42f8f50bf0cecd7506e857ffccb47a25faa383ef9fade5387d0c280ccef51111c30d2daf4b0f8b5b8206b0870f06d49 SHA512 ae1195b05ed2254ee81bc6233b4afad6e8b8b4abe2c3509d4115ba6012cc2d50f1002e2c20f5529295581bdbce3bd5a37eca9fbe3aea473dbd36c004cdc1f84a
MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
diff --git a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch
new file mode 100644
index 000000000000..7ef61ca22028
--- /dev/null
+++ b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch
@@ -0,0 +1,32 @@
+From 1ee510baa80c834bbcf77a008e5668dbf3eccf4d Mon Sep 17 00:00:00 2001
+From: Alexander Saoutkin <a.saoutkin@gmail.com>
+Date: Sat, 2 Jan 2021 20:01:16 +0000
+Subject: [PATCH] Check return value of createNodeFromUDSEntry()
+
+createNodeFromUDSEntry() can return a nullptr, which it does when
+passed any URL from the baloosearch protocol.
+
+BUG: 431079
+---
+ kiofusevfs.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/kiofusevfs.cpp b/kiofusevfs.cpp
+index 6f275cb..fbf6e27 100644
+--- a/kiofusevfs.cpp
++++ b/kiofusevfs.cpp
+@@ -393,6 +393,11 @@ void KIOFuseVFS::findAndCreateOrigin(QUrl url, QStringList pathElements, std::fu
+ if(!finalNode)
+ {
+ finalNode = createNodeFromUDSEntry(statJob->statResult(), currentNode->m_stat.st_ino, targetPathComponents.last());
++ if(!finalNode)
++ {
++ qWarning(KIOFUSE_LOG) << "Unable to create a valid final node for" << url << "from its UDS Entry";
++ return callback({}, EIO);
++ }
+ insertNode(finalNode);
+ }
+
+--
+GitLab
+
diff --git a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch
new file mode 100644
index 000000000000..a16da6d75357
--- /dev/null
+++ b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch
@@ -0,0 +1,49 @@
+From d69959e226b1b49a1fc2d1a566acd4fdde0f97c3 Mon Sep 17 00:00:00 2001
+From: Fabian Vogt <fabian@ritter-vogt.de>
+Date: Thu, 7 Jan 2021 22:46:19 +0100
+Subject: [PATCH] UDS_URL is not meant for links, Use UDS_TARGET_URL instead
+
+The KIO documentation for UDS_URL says:
+`use UDS_TARGET_URL if you want "links" to unrelated urls.`
+So the use of UDS_URL here was probably wrong.
+Switching to UDS_TARGET_URL fixes mounting of some slaves such as baloosearch,
+which set UDS_URL to the URL of the entry itself for some reason.
+
+BUG: 431079
+---
+ kiofusevfs.cpp | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/kiofusevfs.cpp b/kiofusevfs.cpp
+index fbf6e27..5c775b7 100644
+--- a/kiofusevfs.cpp
++++ b/kiofusevfs.cpp
+@@ -1736,12 +1736,12 @@ std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEn
+ attr.st_gid = gr->gr_gid;
+ }
+
+- if(entry.contains(KIO::UDSEntry::UDS_LOCAL_PATH) || entry.contains(KIO::UDSEntry::UDS_URL))
++ if(entry.contains(KIO::UDSEntry::UDS_LOCAL_PATH) || entry.contains(KIO::UDSEntry::UDS_TARGET_URL))
+ {
+ // Create as symlink if possible
+ QString target = entry.stringValue(KIO::UDSEntry::UDS_LOCAL_PATH);
+ if(target.isEmpty())
+- target = QUrl(entry.stringValue(KIO::UDSEntry::UDS_URL)).toLocalFile();
++ target = QUrl(entry.stringValue(KIO::UDSEntry::UDS_TARGET_URL)).toLocalFile();
+
+ if(!target.isEmpty())
+ {
+@@ -1760,7 +1760,9 @@ std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEn
+ {
+ attr.st_mode |= S_IFREG;
+ std::shared_ptr<KIOFuseRemoteFileNode> ret = nullptr;
+- const QUrl nodeUrl = QUrl{entry.stringValue(KIO::UDSEntry::UDS_URL)};
++ const QUrl nodeUrl = QUrl{entry.stringValue(KIO::UDSEntry::UDS_TARGET_URL)};
++ if(nodeUrl.isEmpty())
++ return nullptr;
+ if(m_useFileJob && KProtocolManager::supportsOpening(nodeUrl) && KProtocolManager::supportsTruncating(nodeUrl))
+ ret = std::make_shared<KIOFuseRemoteFileJobBasedFileNode>(parentIno, name, attr);
+ else
+--
+GitLab
+
diff --git a/kde-misc/kio-fuse/kio-fuse-5.0.0.ebuild b/kde-misc/kio-fuse/kio-fuse-5.0.0-r1.ebuild
index 17752f91f319..cd68a3fafc42 100644
--- a/kde-misc/kio-fuse/kio-fuse-5.0.0.ebuild
+++ b/kde-misc/kio-fuse/kio-fuse-5.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
ECM_TEST="true"
KFMIN=5.74.0
QTMIN=5.15.1
-inherit ecm kde.org
+inherit ecm kde.org linux-info
DESCRIPTION="FUSE interface for KIO"
HOMEPAGE="https://feverfew.home.blog/2019/12/24/kiofuse-beta-4-9-0-released/"
@@ -20,6 +20,8 @@ LICENSE="GPL-3+"
SLOT="5"
IUSE=""
+RESTRICT+=" test" # depend on fuse kernel module
+
DEPEND="
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
@@ -31,4 +33,13 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-RESTRICT+=" test" # depend on fuse kernel module
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-segfault-on-links-{1,2}.patch # KDE-Bug 431079
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~FUSE_FS"
+ linux-info_pkg_setup
+
+ ecm_pkg_setup
+}