summaryrefslogtreecommitdiff
path: root/kde-frameworks
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-26 01:33:45 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-26 01:33:45 +0000
commit15bb7733ddb1f16a0e3936969282ecc42419829a (patch)
tree56c720cc03bec3e9758966b4083b5916feca6962 /kde-frameworks
parent026061ba423025e6713112920f290759cdee03c4 (diff)
gentoo auto-resync : 26:12:2023 - 01:33:45
Diffstat (limited to 'kde-frameworks')
-rw-r--r--kde-frameworks/Manifest.gzbin13932 -> 13935 bytes
-rw-r--r--kde-frameworks/kio/Manifest3
-rw-r--r--kde-frameworks/kio/files/kio-5.113.0-fix-crash-malformed-exec.patch41
-rw-r--r--kde-frameworks/kio/files/kio-5.113.0-fix-crash-while-copying.patch184
-rw-r--r--kde-frameworks/kio/kio-5.113.0-r1.ebuild99
5 files changed, 327 insertions, 0 deletions
diff --git a/kde-frameworks/Manifest.gz b/kde-frameworks/Manifest.gz
index fa8559258217..98c07559797a 100644
--- a/kde-frameworks/Manifest.gz
+++ b/kde-frameworks/Manifest.gz
Binary files differ
diff --git a/kde-frameworks/kio/Manifest b/kde-frameworks/kio/Manifest
index 4cdcef6e0394..3a5ce1d239c0 100644
--- a/kde-frameworks/kio/Manifest
+++ b/kde-frameworks/kio/Manifest
@@ -1,7 +1,10 @@
+AUX kio-5.113.0-fix-crash-malformed-exec.patch 1629 BLAKE2B aa05b4b860cfd17f5676227ebffa42c9f5a0454eb3c5f1e5805ab80cf0bdeaa830cdb3f60d30895598edf8fc13803498094957a78368d709bac17f9d594695ae SHA512 1a307e14847928053440eb6cdf34a99f3296026f82e25a640619027df7d76a5ea72d6586a740ab5331b2fd74c4ef093a21e9c9cef350f53e521fc712be2d6561
+AUX kio-5.113.0-fix-crash-while-copying.patch 6118 BLAKE2B 0dee76a2102cc044deceb755ca8cd9438a40ba8f1710538325e4ca4b51a28de658ee04a8cc7585e4e72e9885f418bd864ac7f196edf8c30b57b61d95110b9233 SHA512 566ff7ce4032d3a83013f24370fc4f73f4b6e2c61b8288332cda7db61f5628eced0388e953223b333d17d8d33e5f4071345ffde35c024a4007c130e2660b94b9
DIST kio-5.112.0.tar.xz 3798280 BLAKE2B 735ce95f4efff32f62f440700bf63e178686d376dcbeee57fe4d7a322fb577a023c1b54ef5a769e7045142710603e03ceaa96025e2273df204218f8664755f66 SHA512 25229d22d25efaf3cc0b172a99b724859c61638caa4cd0d8a84293697d7f734d815b97a884e48a44baf8db2697acbd0d4d3cac15b1eca7f8c6edace902680e09
DIST kio-5.113.0.tar.xz 3798768 BLAKE2B bd72d5b10cb76ffdb4074684c29764acaca53f9da3d228bf801c8b7365fe1b878b53261ed029e8836cb78a2621443d2c552e8715678d44dd484e9517258d9bff SHA512 25524882e46bec036cb8bd536c758df1570cdfd3dd037f22f9a764801ed2838aa109bf10c17021a1993d78c7f31e45e37b3861764efe47023ebfacfacf5e9024
DIST kio-5.247.0.tar.xz 3349268 BLAKE2B 7645c1181831301f217482613cf05063e6b44bfd2b1492051e6024adf341095cf8b480654e09291029118404099b69c3658deb88b7b1e39106dfc4833519caec SHA512 da56980d742d847ebe3e9156297425aba5a328a4ca0898a3e00907e0a5005b735d5712553d84c1e1e8c12bfbf14e63970df3d9f883fddf491bfddd5bc187286b
EBUILD kio-5.112.0.ebuild 2347 BLAKE2B 30baa33d0e1f157353faca3fe4a2304cc1574bcb1611a757bd669bdf8f74ebf9d7890a3acfeb203d71dd493cb3032b07b4e2eb2272ffe558699f9f7b20197d26 SHA512 a8e7b2b896a9d7721c10835527d0a578ee5a235a25883f8a09bda00639d9d18b4e56d7ae0384b8996f456fd88dd0d77baa5c91ba6afad4cffacb637b36b40405
+EBUILD kio-5.113.0-r1.ebuild 2585 BLAKE2B b6c21042dba1e8f64c2fcf89608ad696e4f8aebd88746c2f5c26bbad530697597e7c3eb1040c58c05db9f2f18c7c064a9122ee646e5dd455eaee0310a1353b8b SHA512 36cd7afa9f968cf35334eb607c7828d2d64c826d71656da99aada6be8e961b7f3b85c39e3bc60e29c380da179a30ac697d677e75d40da2f80b95da3c46090054
EBUILD kio-5.113.0.ebuild 2437 BLAKE2B 42e4cc0898c4dc6fbb30b03673f14547ee28098ec5161fe351f50cb53992a0069735acf7de17d96519e2376a895c378e9be766d0c52b4bdaf008b732b0a7f13a SHA512 b94d864d9a46d9e8de3235c3995f53751c3aa037d23564521dd0040caeec4d3aac3772bc376bb7d400a18ac92dc418c191ec0073dcec3c351914c8a3ebd1e1d4
EBUILD kio-5.247.0.ebuild 2209 BLAKE2B 318161549c9c2cae619d5d3f19bed89fa194b28e61abc2f51aeb7903eb3effeb38b2916268dc388e4565d32cb80b1fcf3b9ca14d1c1ef1f7c33cfb224007dd7d SHA512 fe5572ae56ca7ce9ba8c8f0281bcaf10d256adf8a5b61873ad52005a093132575098722bf30fa4b82f54e182b27c48a74104177c7b2ba7d27c21a33b410da8fa
MISC metadata.xml 776 BLAKE2B c30d6d930265af6c0f0d5e01e2ad7b4c7961190f013e9447dea890880f947a0ad006ac523e7363e50a58221d807e1b9ce78270800a20226906e48980eb332b6a SHA512 ccf86c003f2933287e41fcac9980f07006b3bde5a303f241d7a1fadeffa0b22656ea6e51fadd5ea5c40d7e8fa0debaf16a0ac004db317a18c99d80461bc82115
diff --git a/kde-frameworks/kio/files/kio-5.113.0-fix-crash-malformed-exec.patch b/kde-frameworks/kio/files/kio-5.113.0-fix-crash-malformed-exec.patch
new file mode 100644
index 000000000000..3688fa4af276
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.113.0-fix-crash-malformed-exec.patch
@@ -0,0 +1,41 @@
+From ebad60218b9d9e6901ae48c3dec9b90da963809c Mon Sep 17 00:00:00 2001
+From: Harald Sitter <sitter@kde.org>
+Date: Wed, 13 Dec 2023 07:44:01 +0100
+Subject: [PATCH] kpropertiesdialog: don't trip over malformed Exec
+
+when the user incorrectly put env vars into the Program field the
+resulting desktop file will be somewhat malformed and literally contain
+
+> Exec='FOO=1 Bar'
+
+this then needs careful handling when parsing so we don't accidentally
+drain the execline list. when this scenario appears we'll need to assume
+the last item in the list is the program as we can't really tell if it
+is a program that looks like an env var or an env var without program
+
+BUG: 465290
+(cherry picked from commit 78d4364677fbe658c6e05d19bb158f895403ccc9)
+---
+ src/widgets/kpropertiesdialog.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/widgets/kpropertiesdialog.cpp b/src/widgets/kpropertiesdialog.cpp
+index 93ec0759cf..25061825af 100644
+--- a/src/widgets/kpropertiesdialog.cpp
++++ b/src/widgets/kpropertiesdialog.cpp
+@@ -3379,6 +3379,12 @@ KDesktopPropsPlugin::KDesktopPropsPlugin(KPropertiesDialog *_props)
+ execLine.pop_front();
+ }
+ for (auto env : execLine) {
++ if (execLine.length() <= 1) {
++ // Don't empty out the list. If the last element contains an equal sign we have to treat it as part of the
++ // program name lest we have no program
++ // https://bugs.kde.org/show_bug.cgi?id=465290
++ break;
++ }
+ if (!env.contains(QLatin1String("="))) {
+ break;
+ }
+--
+GitLab
+
diff --git a/kde-frameworks/kio/files/kio-5.113.0-fix-crash-while-copying.patch b/kde-frameworks/kio/files/kio-5.113.0-fix-crash-while-copying.patch
new file mode 100644
index 000000000000..845e6bc64339
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.113.0-fix-crash-while-copying.patch
@@ -0,0 +1,184 @@
+From 6bea074739d5a75920d5540bc266549df5642511 Mon Sep 17 00:00:00 2001
+From: Akseli Lahtinen <akselmo@akselmo.dev>
+Date: Fri, 1 Dec 2023 11:27:26 +0000
+Subject: [PATCH] WidgetsAskUserActionHandler: Use QPointer to check the
+ validity of parent widgets
+
+If Dolphin is closed during the copying process,
+and the overwrite/skip dialog appears,
+this crashes the copying process since the
+parent shows to faulty location.
+
+Use QPointer to check that the parent widgets are still
+valid. If not, we just use nullptr, and the dialogs
+will still open.
+
+This also cleans some repetition in code.
+
+BUG:448532
+(cherry picked from commit bdef648edd54e146c30e881d8eb95990a59c5bbc)
+---
+ src/widgets/widgetsaskuseractionhandler.cpp | 90 +++++++++------------
+ 1 file changed, 39 insertions(+), 51 deletions(-)
+
+diff --git a/src/widgets/widgetsaskuseractionhandler.cpp b/src/widgets/widgetsaskuseractionhandler.cpp
+index fe2975d0ce..9cbaaec99f 100644
+--- a/src/widgets/widgetsaskuseractionhandler.cpp
++++ b/src/widgets/widgetsaskuseractionhandler.cpp
+@@ -22,6 +22,7 @@
+
+ #include <QApplication>
+ #include <QDialogButtonBox>
++#include <QPointer>
+ #include <QRegularExpression>
+ #include <QUrl>
+
+@@ -40,7 +41,10 @@
+ void savePersistentUserReply(KIO::AskUserActionInterface::MessageDialogType type, KConfigGroup &cg, const QString &dontAskAgainName, int result);
+
+ WidgetsAskUserActionHandler *const q;
+- QWidget *m_parentWidget = nullptr;
++ QPointer<QWidget> m_parentWidget = nullptr;
++
++ QWidget *getParentWidget(KJob *job);
++ QWidget *getParentWidget(QWidget *widget);
+ };
+
+ bool KIO::WidgetsAskUserActionHandlerPrivate::gotPersistentUserReply(KIO::AskUserActionInterface::MessageDialogType type,
+@@ -106,6 +110,36 @@
+ }
+ }
+
++QWidget *KIO::WidgetsAskUserActionHandlerPrivate::getParentWidget(KJob *job)
++{
++ // This needs to be in qpointer, otherwise copying process
++ // will crash if done in background and dolphin is closed
++ QPointer<QWidget> parentWidget = nullptr;
++
++ if (job) {
++ parentWidget = KJobWidgets::window(job);
++ }
++
++ return getParentWidget(parentWidget);
++}
++
++QWidget *KIO::WidgetsAskUserActionHandlerPrivate::getParentWidget(QWidget *widget)
++{
++ // This needs to be in qpointer, otherwise copying process
++ // will crash if done in background and dolphin is closed
++ QPointer<QWidget> parentWidget = widget;
++
++ if (!parentWidget) {
++ parentWidget = this->m_parentWidget;
++ }
++
++ if (!parentWidget) {
++ parentWidget = qApp->activeWindow();
++ }
++
++ return parentWidget;
++}
++
+ KIO::WidgetsAskUserActionHandler::WidgetsAskUserActionHandler(QObject *parent)
+ : KIO::AskUserActionInterface(parent)
+ , d(new WidgetsAskUserActionHandlerPrivate(this))
+@@ -128,22 +162,8 @@
+ const QDateTime &mtimeSrc,
+ const QDateTime &mtimeDest)
+ {
+- QWidget *parentWidget = nullptr;
+-
+- if (job) {
+- parentWidget = KJobWidgets::window(job);
+- }
+-
+- if (!parentWidget) {
+- parentWidget = d->m_parentWidget;
+- }
+-
+- if (!parentWidget) {
+- parentWidget = qApp->activeWindow();
+- }
+-
+ QMetaObject::invokeMethod(qGuiApp, [=] {
+- auto *dlg = new KIO::RenameDialog(parentWidget, title, src, dest, options, sizeSrc, sizeDest, ctimeSrc, ctimeDest, mtimeSrc, mtimeDest);
++ auto *dlg = new KIO::RenameDialog(d->getParentWidget(job), title, src, dest, options, sizeSrc, sizeDest, ctimeSrc, ctimeDest, mtimeSrc, mtimeDest);
+
+ dlg->setAttribute(Qt::WA_DeleteOnClose);
+ dlg->setWindowModality(Qt::WindowModal);
+@@ -161,22 +181,8 @@
+
+ void KIO::WidgetsAskUserActionHandler::askUserSkip(KJob *job, KIO::SkipDialog_Options options, const QString &errorText)
+ {
+- QWidget *parentWidget = nullptr;
+-
+- if (job) {
+- parentWidget = KJobWidgets::window(job);
+- }
+-
+- if (!parentWidget) {
+- parentWidget = d->m_parentWidget;
+- }
+-
+- if (!parentWidget) {
+- parentWidget = qApp->activeWindow();
+- }
+-
+ QMetaObject::invokeMethod(qGuiApp, [=] {
+- auto *dlg = new KIO::SkipDialog(parentWidget, options, errorText);
++ auto *dlg = new KIO::SkipDialog(d->getParentWidget(job), options, errorText);
+ dlg->setAttribute(Qt::WA_DeleteOnClose);
+ dlg->setWindowModality(Qt::WindowModal);
+
+@@ -373,16 +379,6 @@
+ return;
+ }
+
+- QWidget *parentWidget = parent;
+-
+- if (!parentWidget) {
+- parentWidget = d->m_parentWidget;
+- }
+-
+- if (!parentWidget) {
+- parentWidget = qApp->activeWindow();
+- }
+-
+ const KGuiItem primaryActionButton(primaryActionText, primaryActionIconName);
+ const KGuiItem secondaryActionButton(secondaryActionText, secondaryActionIconName);
+
+@@ -412,7 +408,7 @@
+ hasCancelButton = true;
+ break;
+ case AskUserActionInterface::SSLMessageBox:
+- d->sslMessageBox(text, metaData, parentWidget);
++ d->sslMessageBox(text, metaData, d->getParentWidget(parent));
+ return;
+ case AskUserActionInterface::Information:
+ dlgType = KMessageDialog::Information;
+@@ -442,7 +438,7 @@
+
+ QMetaObject::invokeMethod(qGuiApp, [=]() {
+ auto cancelButton = hasCancelButton ? KStandardGuiItem::cancel() : KGuiItem();
+- auto *dialog = new KMessageDialog(dlgType, text, parentWidget);
++ auto *dialog = new KMessageDialog(dlgType, text, d->getParentWidget(parent));
+
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
+ dialog->setCaption(title);
+@@ -492,15 +488,7 @@
+
+ void KIO::WidgetsAskUserActionHandlerPrivate::sslMessageBox(const QString &text, const KIO::MetaData &metaData, QWidget *parent)
+ {
+- QWidget *parentWidget = parent;
+-
+- if (!parentWidget) {
+- parentWidget = m_parentWidget;
+- }
+-
+- if (!parentWidget) {
+- parentWidget = qApp->activeWindow();
+- }
++ QWidget *parentWidget = getParentWidget(parent);
+
+ const QStringList sslList = metaData.value(QStringLiteral("ssl_peer_chain")).split(QLatin1Char('\x01'), Qt::SkipEmptyParts);
+
diff --git a/kde-frameworks/kio/kio-5.113.0-r1.ebuild b/kde-frameworks/kio/kio-5.113.0-r1.ebuild
new file mode 100644
index 000000000000..b2f3e4451367
--- /dev/null
+++ b/kde-frameworks/kio/kio-5.113.0-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 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"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.9
+inherit ecm frameworks.kde.org xdg-utils
+
+DESCRIPTION="Framework providing transparent file and data management"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="acl kerberos kf6compat +kwallet X"
+
+# tests hang
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ =kde-frameworks/kauth-${PVCUT}*:5
+ =kde-frameworks/karchive-${PVCUT}*:5
+ =kde-frameworks/kbookmarks-${PVCUT}*:5
+ =kde-frameworks/kcodecs-${PVCUT}*:5
+ =kde-frameworks/kcompletion-${PVCUT}*:5
+ =kde-frameworks/kconfig-${PVCUT}*:5
+ =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+ =kde-frameworks/kcoreaddons-${PVCUT}*:5
+ =kde-frameworks/kcrash-${PVCUT}*:5
+ =kde-frameworks/kdbusaddons-${PVCUT}*:5
+ =kde-frameworks/kguiaddons-${PVCUT}*:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+ =kde-frameworks/kiconthemes-${PVCUT}*:5
+ =kde-frameworks/kitemviews-${PVCUT}*:5
+ =kde-frameworks/kjobwidgets-${PVCUT}*:5
+ =kde-frameworks/knotifications-${PVCUT}*:5
+ =kde-frameworks/kservice-${PVCUT}*:5
+ =kde-frameworks/ktextwidgets-${PVCUT}*:5
+ =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+ =kde-frameworks/kwindowsystem-${PVCUT}*:5[X?]
+ =kde-frameworks/kxmlgui-${PVCUT}*:5
+ =kde-frameworks/solid-${PVCUT}*:5
+ sys-power/switcheroo-control
+ acl? (
+ sys-apps/attr
+ virtual/acl
+ )
+ handbook? (
+ dev-libs/libxml2
+ dev-libs/libxslt
+ =kde-frameworks/kdoctools-${PVCUT}*:5
+ )
+ kerberos? ( virtual/krb5 )
+ kf6compat? ( kde-apps/kio-extras:6 )
+ kwallet? ( =kde-frameworks/kwallet-${PVCUT}*:5 )
+ X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ test? ( sys-libs/zlib )
+"
+PDEPEND=">=kde-frameworks/kded-${PVCUT}:5"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-crash-while-copying.patch" # KDE-bug 448532
+ "${FILESDIR}/${P}-fix-crash-malformed-exec.patch" # KDE-bug 465290
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DKIO_NO_PUBLIC_QTCONCURRENT=ON
+ $(cmake_use_find_package acl ACL)
+ $(cmake_use_find_package kerberos GSSAPI)
+ $(cmake_use_find_package kwallet KF5Wallet)
+ -DKF6_COMPAT_BUILD=$(usex kf6compat)
+ -DWITH_X11=$(usex X)
+ )
+
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ ecm_pkg_postrm
+ xdg_desktop_database_update
+}