From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kio/, kde-frameworks/kio/files/
Date: Wed, 15 Oct 2025 21:22:56 +0000 (UTC) [thread overview]
Message-ID: <1760563139.3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9.asturm@gentoo> (raw)
commit: 3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 15 21:18:12 2025 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 15 21:18:59 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3758a2b3
kde-frameworks/kio: Fix pasting into smb share
See also:
https://bugs.kde.org/show_bug.cgi?id=510567
Closes: https://bugs.gentoo.org/964352
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../kio/files/kio-6.19.0-fix-smb-access.patch | 58 +++++++++++++++
kde-frameworks/kio/kio-6.19.0-r1.ebuild | 85 ++++++++++++++++++++++
2 files changed, 143 insertions(+)
diff --git a/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch b/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch
new file mode 100644
index 000000000000..a0ec1e3f7cd5
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-6.19.0-fix-smb-access.patch
@@ -0,0 +1,58 @@
+From bcc840654fa2af68a4942fba6f58b2955e80e7ec Mon Sep 17 00:00:00 2001
+From: Akseli Lahtinen <akselmo@akselmo.dev>
+Date: Tue, 14 Oct 2025 13:14:20 +0300
+Subject: [PATCH] CopyJob: Skip permission check if there is no UDS_ACCESS
+ entry
+
+Lack of UDS_ACCESS or S_IWUSR flag in it does *not* mean
+that the item is definitely unwritable.
+
+The access can be indefinite until the item is
+actually worked with.
+
+KIO should not assume that items are unwritable,
+even if we lack the flag. We should just try working
+with the file and handle the results, not try
+pre-emptively decide the actions.
+
+BUG: 510567
+---
+ src/core/copyjob.cpp | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/src/core/copyjob.cpp b/src/core/copyjob.cpp
+index 587a5d6805..16258ba3ae 100644
+--- a/src/core/copyjob.cpp
++++ b/src/core/copyjob.cpp
+@@ -546,16 +546,19 @@ void CopyJobPrivate::slotResultStating(KJob *job)
+ } else {
+ const bool isDir = entry.isDir();
+
+- // Check for writability, before spending time stat'ing everything (#141564).
+- // This assumes all KIO workers set permissions correctly...
+ const int permissions = entry.numberValue(KIO::UDSEntry::UDS_ACCESS, -1);
+- const bool isWritable = (permissions != -1) && (permissions & S_IWUSR);
+- if (!isWritable) {
+- const QUrl dest = m_asMethod ? m_dest.adjusted(QUrl::RemoveFilename) : m_dest;
+- q->setError(ERR_WRITE_ACCESS_DENIED);
+- q->setErrorText(dest.toDisplayString(QUrl::PreferLocalFile));
+- q->emitResult();
+- return;
++ // Skip check if we have no definite permissions set (BUG: 510567)
++ if (permissions != -1) {
++ // Check for writability, before spending time stat'ing everything (#141564).
++ // This assumes all KIO workers set permissions correctly...
++ const bool isWritable = (permissions & S_IWUSR);
++ if (!isWritable) {
++ const QUrl dest = m_asMethod ? m_dest.adjusted(QUrl::RemoveFilename) : m_dest;
++ q->setError(ERR_WRITE_ACCESS_DENIED);
++ q->setErrorText(dest.toDisplayString(QUrl::PreferLocalFile));
++ q->emitResult();
++ return;
++ }
+ }
+
+ // Treat symlinks to dirs as dirs here, so no test on isLink
+--
+GitLab
+
diff --git a/kde-frameworks/kio/kio-6.19.0-r1.ebuild b/kde-frameworks/kio/kio-6.19.0-r1.ebuild
new file mode 100644
index 000000000000..4f664971b546
--- /dev/null
+++ b/kde-frameworks/kio/kio-6.19.0-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_DESIGNERPLUGIN="true"
+ECM_HANDBOOK="optional"
+ECM_HANDBOOK_DIR="docs"
+ECM_TEST="forceoptional"
+QTMIN=6.7.2
+inherit ecm frameworks.kde.org xdg
+
+DESCRIPTION="Framework providing transparent file and data management"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="acl +kwallet wayland X"
+
+# tests hang
+RESTRICT="test"
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,ssl,widgets,X?]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ =kde-frameworks/kbookmarks-${KDE_CATV}*:6
+ =kde-frameworks/kcodecs-${KDE_CATV}*:6
+ =kde-frameworks/kcolorscheme-${KDE_CATV}*:6
+ =kde-frameworks/kcompletion-${KDE_CATV}*:6
+ =kde-frameworks/kconfig-${KDE_CATV}*:6
+ =kde-frameworks/kcoreaddons-${KDE_CATV}*:6
+ =kde-frameworks/kcrash-${KDE_CATV}*:6
+ =kde-frameworks/kdbusaddons-${KDE_CATV}*:6
+ =kde-frameworks/kguiaddons-${KDE_CATV}*:6
+ =kde-frameworks/ki18n-${KDE_CATV}*:6
+ =kde-frameworks/kiconthemes-${KDE_CATV}*:6
+ =kde-frameworks/kitemviews-${KDE_CATV}*:6
+ =kde-frameworks/kjobwidgets-${KDE_CATV}*:6
+ =kde-frameworks/knotifications-${KDE_CATV}*:6
+ =kde-frameworks/kservice-${KDE_CATV}*:6
+ =kde-frameworks/ktextwidgets-${KDE_CATV}*:6
+ =kde-frameworks/kwidgetsaddons-${KDE_CATV}*:6
+ =kde-frameworks/kwindowsystem-${KDE_CATV}*:6[wayland?,X?]
+ =kde-frameworks/solid-${KDE_CATV}*:6
+ sys-apps/util-linux
+ acl? (
+ sys-apps/attr
+ virtual/acl
+ )
+ handbook? (
+ dev-libs/libxml2:=
+ dev-libs/libxslt
+ =kde-frameworks/karchive-${KDE_CATV}*:6
+ =kde-frameworks/kdoctools-${KDE_CATV}*:6
+ )
+ kwallet? ( =kde-frameworks/kwallet-${KDE_CATV}*:6 )
+ X? ( >=dev-qt/qtbase-${QTMIN}:6=[gui] )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtbase-${QTMIN}:6[libproxy]
+ sys-power/switcheroo-control
+"
+# bug 944812: File Properties is accessible from KFileWidget (KIO); this
+# provides access to keditfiletype binary via KWidgetsAddons (Tier1)
+# Typical KIO revdeps (dolphin, krusader et al.) can rely on this dep
+PDEPEND="
+ >=kde-frameworks/kded-${KDE_CATV}:6
+ kde-plasma/keditfiletype
+"
+
+PATCHES=( "${FILESDIR}/${P}-fix-smb-access.patch" ) # KDE-bug 510567
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package acl ACL)
+ $(cmake_use_find_package kwallet KF6Wallet)
+ -DWITH_WAYLAND=$(usex wayland)
+ -DWITH_X11=$(usex X)
+ )
+
+ ecm_src_configure
+}
next reply other threads:[~2025-10-15 21:22 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-15 21:22 Andreas Sturmlechner [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-15 13:46 [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kio/, kde-frameworks/kio/files/ Andreas Sturmlechner
2024-08-10 7:57 Andreas Sturmlechner
2024-07-16 16:32 Andreas Sturmlechner
2024-03-24 21:03 Andreas Sturmlechner
2024-03-19 9:10 Andreas Sturmlechner
2023-06-22 21:16 Andreas Sturmlechner
2023-03-26 9:52 Andreas Sturmlechner
2023-03-23 16:47 Andreas Sturmlechner
2023-03-23 8:11 Andreas Sturmlechner
2023-01-25 10:22 Andreas Sturmlechner
2022-11-27 11:20 Andreas Sturmlechner
2022-08-08 14:40 Andreas Sturmlechner
2022-07-26 12:08 Andreas Sturmlechner
2022-07-19 13:29 Andreas Sturmlechner
2022-06-29 19:53 Andreas Sturmlechner
2021-12-08 15:08 Andreas Sturmlechner
2021-11-18 10:38 Andreas Sturmlechner
2021-08-15 18:57 Andreas Sturmlechner
2021-08-14 17:09 Andreas Sturmlechner
2021-07-16 15:21 Andreas Sturmlechner
2021-07-14 12:41 Andreas Sturmlechner
2021-05-30 15:51 Andreas Sturmlechner
2021-05-15 10:49 Andreas Sturmlechner
2021-04-11 14:23 Andreas Sturmlechner
2021-04-04 13:23 Andreas Sturmlechner
2021-03-25 23:13 Andreas Sturmlechner
2021-02-13 20:49 Andreas Sturmlechner
2021-02-12 21:48 Andreas Sturmlechner
2021-01-24 13:02 Andreas Sturmlechner
2021-01-11 12:28 Andreas Sturmlechner
2020-12-23 21:32 Andreas Sturmlechner
2020-11-16 23:41 Andreas Sturmlechner
2020-09-29 12:49 Andreas Sturmlechner
2020-05-16 22:38 Andreas Sturmlechner
2019-01-16 12:50 Andreas Sturmlechner
2018-07-21 16:51 Andreas Sturmlechner
2017-12-03 12:34 Andreas Sturmlechner
2017-09-30 20:34 Andreas Sturmlechner
2017-05-17 22:08 Andreas Sturmlechner
2017-02-28 21:02 Johannes Huber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1760563139.3758a2b32f4f5918f5f40bfd8fc5c11faf1bbda9.asturm@gentoo \
--to=asturm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox