commit: 5bef168f0205671187ec9958477db21a519ec0cb Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Sun Jun 29 22:05:36 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Sun Jun 29 22:14:46 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bef168f
kde-frameworks/kwallet: Backport use desktop file to launch kwalletmanager See also: https://invent.kde.org/frameworks/kwallet/-/merge_requests/119 Bug: https://bugs.gentoo.org/957631 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../kwallet-6.13.0-kstart-use-desktop-file.patch | 62 ++++++++++++++++++++++ kde-frameworks/kwallet/kwallet-6.13.0-r2.ebuild | 54 +++++++++++++++++++ 2 files changed, 116 insertions(+) diff --git a/kde-frameworks/kwallet/files/kwallet-6.13.0-kstart-use-desktop-file.patch b/kde-frameworks/kwallet/files/kwallet-6.13.0-kstart-use-desktop-file.patch new file mode 100644 index 000000000000..c30c5f9132b8 --- /dev/null +++ b/kde-frameworks/kwallet/files/kwallet-6.13.0-kstart-use-desktop-file.patch @@ -0,0 +1,62 @@ +From 9ef0eb38cf3c9fe57ec3edcb8aaee5e49453b2f6 Mon Sep 17 00:00:00 2001 +From: Nicolas Fella <[email protected]> +Date: Fri, 23 May 2025 09:47:34 +0200 +Subject: [PATCH 1/2] Drop codepath for kstart5 + +By now kstart should be available everywhere + +Make it consistent with startManagerForKwalletd +--- + src/runtime/kwalletd/kwalletd.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/runtime/kwalletd/kwalletd.cpp b/src/runtime/kwalletd/kwalletd.cpp +index 72384176..4914128b 100644 +--- a/src/runtime/kwalletd/kwalletd.cpp ++++ b/src/runtime/kwalletd/kwalletd.cpp +@@ -58,8 +58,6 @@ static void startManagerForKSecretD() + { + if (!QStandardPaths::findExecutable(QStringLiteral("kstart")).isEmpty()) { + QProcess::startDetached(QStringLiteral("kstart"), {QStringLiteral("kwalletmanager5"), QStringLiteral("--"), QStringLiteral("--kwalletd")}); +- } else if (!QStandardPaths::findExecutable(QStringLiteral("kstart5")).isEmpty()) { +- QProcess::startDetached(QStringLiteral("kstart"), {QStringLiteral("kwalletmanager5"), QStringLiteral("--"), QStringLiteral("--kwalletd")}); + } else { + QProcess::startDetached(QStringLiteral("kwalletmanager5"), QStringList{QStringLiteral("--kwalletd")}); + } +-- +GitLab + + +From ec907efee65039f148f3cabb33e6df64ddd6e09b Mon Sep 17 00:00:00 2001 +From: Nicolas Fella <[email protected]> +Date: Thu, 22 May 2025 11:00:40 +0200 +Subject: [PATCH 2/2] Use desktop file to launch kwalletmanager + +kstart puts the started process in a cgroup, which is good +and what we want. However when started like this the cgroup +naming doesn't follow the standard pattern to encode the desktop +file name so tools like plasma-systemmonitor can't resolve +the desktop file from it. + +Instead of giving the raw command ask kstart to start the +corresponding desktop file, which makes this work +--- + src/runtime/kwalletd/kwalletd.cpp | 2 +- + 1 file changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/runtime/kwalletd/kwalletd.cpp b/src/runtime/kwalletd/kwalletd.cpp +index 537c4b75..34e896d1 100644 +--- a/src/runtime/kwalletd/kwalletd.cpp ++++ b/src/runtime/kwalletd/kwalletd.cpp +@@ -25,7 +25,7 @@ unsigned int KWalletD::s_lastTransaction = 0; + static void startManagerForKwalletd() + { + if (!QStandardPaths::findExecutable(QStringLiteral("kstart")).isEmpty()) { +- QProcess::startDetached(QStringLiteral("kstart"), {QStringLiteral("kwalletmanager5"), QStringLiteral("--"), QStringLiteral("--kwalletd")}); ++ QProcess::startDetached(QStringLiteral("kstart"), {QStringLiteral("--application"), QStringLiteral("kwalletmanager5-kwalletd")}); + } else { + QProcess::startDetached(QStringLiteral("kwalletmanager5"), QStringList{QStringLiteral("--kwalletd")}); + } +-- +GitLab + diff --git a/kde-frameworks/kwallet/kwallet-6.13.0-r2.ebuild b/kde-frameworks/kwallet/kwallet-6.13.0-r2.ebuild new file mode 100644 index 000000000000..20225bf3f650 --- /dev/null +++ b/kde-frameworks/kwallet/kwallet-6.13.0-r2.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QTMIN=6.7.2 +inherit ecm frameworks.kde.org optfeature + +DESCRIPTION="Framework providing desktop-wide storage for passwords" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="gpg +man X" + +DEPEND=" + >=app-crypt/qca-2.3.9:2[qt6(+)] + dev-libs/libgcrypt:0= + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets] + =kde-frameworks/kcolorscheme-${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/ki18n-${KDE_CATV}*:6 + =kde-frameworks/knotifications-${KDE_CATV}*:6 + =kde-frameworks/kservice-${KDE_CATV}*:6 + =kde-frameworks/kwidgetsaddons-${KDE_CATV}*:6 + =kde-frameworks/kwindowsystem-${KDE_CATV}*:6[X?] + gpg? ( app-crypt/gpgme:=[qt6(-)] ) +" +RDEPEND="${DEPEND} + !<kde-frameworks/kwallet-5.116.0-r2:5[-kf6compat(-)] +" +BDEPEND="man? ( >=kde-frameworks/kdoctools-${KDE_CATV}:6 )" + +PATCHES=( "${FILESDIR}/${P}-kstart-use-desktop-file.patch" ) # bug 957631, in 6.15 + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package gpg Gpgmepp) + $(cmake_use_find_package man KF6DocTools) + -DWITH_X11=$(usex X) + ) + + ecm_src_configure +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "Auto-unlocking after Plasma login" "kde-plasma/kwallet-pam" + optfeature "KWallet management" "kde-apps/kwalletmanager" + elog "For more information, read https://wiki.gentoo.org/wiki/KDE#KWallet" + fi +}
