File kf6-kwallet.spec of Package kf6-kwallet

#
# spec file for package kf6-kwallet
#
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define qt6_version 6.8.0

%define rname kwallet
# Full KF6 version (e.g. 6.23.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_without released
Name:           kf6-kwallet
Version:        6.23.0
Release:        kf.57.1
Summary:        Safe desktop-wide storage for passwords
License:        LGPL-2.1-or-later
URL:            https://www.kde.org
Source:         %{rname}-%{version}.tar.xz
%if %{with released}
Source1:        %{rname}-%{version}.tar.xz.sig
Source2:        frameworks.keyring
%endif
BuildRequires:  fdupes
BuildRequires:  kf6-extra-cmake-modules >= %{_kf6_version}
BuildRequires:  libgcrypt-devel >= 1.5.0
BuildRequires:  libgpgmepp-devel
BuildRequires:  pkgconfig
BuildRequires:  cmake(KF6ColorScheme) >= %{_kf6_version}
BuildRequires:  cmake(KF6Config) >= %{_kf6_version}
BuildRequires:  cmake(KF6CoreAddons) >= %{_kf6_version}
BuildRequires:  cmake(KF6Crash) >= %{_kf6_version}
BuildRequires:  cmake(KF6DBusAddons) >= %{_kf6_version}
BuildRequires:  cmake(KF6DocTools) >= %{_kf6_version}
BuildRequires:  cmake(KF6I18n) >= %{_kf6_version}
BuildRequires:  cmake(KF6Notifications) >= %{_kf6_version}
BuildRequires:  cmake(KF6Service) >= %{_kf6_version}
BuildRequires:  cmake(KF6WidgetsAddons) >= %{_kf6_version}
BuildRequires:  cmake(KF6WindowSystem) >= %{_kf6_version}
BuildRequires:  cmake(Qca-qt6)
BuildRequires:  cmake(Qt6DBus) >= %{qt6_version}
BuildRequires:  cmake(Qt6Gui) >= %{qt6_version}
BuildRequires:  cmake(Qt6Test) >= %{qt6_version}
BuildRequires:  cmake(Qt6ToolsTools) >= %{qt6_version}
BuildRequires:  cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires:  pkgconfig(libsecret-1)

%description
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.

%package -n libKF6Wallet6
Summary:        Safe desktop-wide storage for passwords
Requires:       kf6-kwallet >= %{version}

%description -n libKF6Wallet6
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.

%package -n libKF6WalletBackend6
Summary:        Safe desktop-wide storage for passwords

%description -n libKF6WalletBackend6
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.

%package -n kwalletd6
Summary:        Safe desktop-wide storage for passwords
Requires:       kf6-kwallet >= %{version}
Recommends:     kf6-kwallet-tools
# kwalletd6 ships a compat org.kde.kwalletd5.service file. It needs to replace
# kwalletd5 to keep using plasma5 with KF6-based apps
Provides:       kwalletd5 = %{version}
Obsoletes:      kwalletd5 < %{version}
Obsoletes:      kwalletd5-lang < %{version}

%description -n kwalletd6
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.

%package tools
Summary:        Safe desktop-wide storage for passwords
Conflicts:      kwallet-tools

%description tools
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.

%package devel
Summary:        Safe desktop-wide storage for passwords
Requires:       libKF6Wallet6 = %{version}
Requires:       cmake(Qt6Gui) >= %{qt6_version}

%description devel
This framework contains two main components:
* Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces.
* The kwalletd used to safely store the passwords on KDE work spaces.
Development files.

%lang_package -n kf6-kwallet-tools

%lang_package -n kwalletd6

%prep
%autosetup -p1 -n %{rname}-%{version}

%build
%cmake_kf6

%kf6_build

%install
%kf6_install

%fdupes %{buildroot}

%find_lang kwalletd6
%find_lang kwallet6-query

%ldconfig_scriptlets -n libKF6Wallet6
%ldconfig_scriptlets -n libKF6WalletBackend6

%files
%{_kf6_debugdir}/kwallet.categories
%{_kf6_debugdir}/kwallet.renamecategories

%files -n kwalletd6
%{_kf6_applicationsdir}/org.kde.ksecretd.desktop
%{_kf6_bindir}/ksecretd
%{_kf6_bindir}/kwalletd6
%{_kf6_notificationsdir}/ksecretd.notifyrc
%{_kf6_sharedir}/dbus-1/services/org.freedesktop.impl.portal.desktop.kwallet.service
%{_kf6_sharedir}/dbus-1/services/org.kde.kwalletd5.service
%{_kf6_sharedir}/dbus-1/services/org.kde.kwalletd6.service
%{_kf6_sharedir}/dbus-1/services/org.kde.secretservicecompat.service
%dir %{_kf6_sharedir}/xdg-desktop-portal
%dir %{_kf6_sharedir}/xdg-desktop-portal/portals
%{_kf6_sharedir}/xdg-desktop-portal/portals/kwallet.portal

%files -n libKF6Wallet6
%license LICENSES/*
%doc README.md
%{_kf6_libdir}/libKF6Wallet.so.*

%files -n libKF6WalletBackend6
%{_kf6_libdir}/libKF6WalletBackend.so.*

%files tools
%{_kf6_bindir}/kwallet-query
%{_kf6_mandir}/man1/kwallet-query.1%{?ext_man}

%files devel
%{_kf6_libdir}/libKF6Wallet.so
%{_kf6_cmakedir}/KF6Wallet/
%{_kf6_includedir}/KWallet/
%{_kf6_dbusinterfacesdir}/kf6_org.kde.KWallet.xml

%files -n kwalletd6-lang -f kwalletd6.lang

%files -n kf6-kwallet-tools-lang -f kwallet6-query.lang

%changelog
* Fri Feb  6 2026 Christophe Marin <christophe@krop.fr>
- Update to 6.23.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.23.0
- Changes since 6.22.0:
  * Update dependency version to 6.23.0
  * Fix D-Bus activation race with PAM-launched ksecretd (kde#509680)
  * Enable LSAN in CI
  * Fix QCA destruction order (kde#490788)
  * Use more portable alternative to ssize_t
  * Update version to 6.23.0
* Sun Jan  4 2026 Christophe Marin <christophe@krop.fr>
- Update to 6.22.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.22.0
- Changes since 6.21.0:
  * Update dependency version to 6.22.0
  * Update version to 6.22.0
* Fri Dec 12 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.21.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.21.0
- Changes since 6.20.0:
  * Update dependency version to 6.21.0
  * Always reload collections prior to secret_service_get_collections (kde#512135)
  * Update version to 6.21.0
* Thu Nov 13 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.20.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.20.0
- Changes since 6.19.0:
  * Update dependency version to 6.20.0
  * Use QCoreApplication for kwallet-query
  * Remove unused QtWidgets dep from API
  * Enable KCrash for kwalletd6
  * KSecretd: Use modern way of disabling session management
  * kwalletd: Disable session management
  * Fix dismissing prompt for Unlock
  * use securelySeeded like in KWalletPortalSecrets::generateSecret
  * Backend: Simplify random gathering to QRandomGenerator
  * Update version to 6.20.0
* Tue Oct  7 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.19.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.19.0
- Changes since 6.18.0:
  * Update dependency version to 6.19.0
  * ci: skip fdo_secrets_test on Windows
  * ci: require passing tests on all platforms
  * Update version to 6.19.0
* Mon Sep  8 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.18.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.18.0
- Changes since 6.17.0:
  * Update dependency version to 6.18.0
  * Add service file for portal DBus service (kde#508870)
  * Bump kf ecm_set_disabled_deprecation_versions. Make sure that it compiles fine without kf 6.17 deprecated methods
  * Fix compile kwallet using kde-builder (kde#485564)
  * Update version to 6.18.0
* Mon Aug  4 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.17.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.17.0
- Changes since 6.16.0:
  * Update dependency version to 6.17.0
  * Bump kf ecm_set_disabled_deprecation_versions
  * It compiles fine without qt 6.10 deprecated methods
  * Update version to 6.17.0
* Mon Jul  7 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.16.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.16.0
- Changes since 6.15.0:
  * Update dependency version to 6.16.0
  * Depend on what/when we use it
  * Update version to 6.16.0
* Mon Jun  9 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.15.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.15.0
- Changes since 6.14.0:
  * Update dependency version to 6.15.0
  * Don't freeze when the create wallet dialog is dismissed (kde#504678)
  * It compiles fine without kf 6.14 deprecated methods
  * Hide wallets with no name (kde#504656)
  * Add tags file to documentation
  * Add missing qhp projects
  * Remove leftover doxygen file
  * Use desktop file to launch kwalletmanager
  * Drop codepath for kstart5
  * Fix arguments in startManagerForKSecretD
  * Add landing page for QDoc
  * Don't make clients hang if kwallet is disabled (kde#504014)
  * Don't build kwalletd on macOS either
  * Fix assertion failure due to invalid DBus object path
  * It compiles fine without kf_6_13 deprecated methods
  * Port API documentation to QDoc syntax
  * Add Alpine CI
  * Update version to 6.15.0
- Replace _kf6_bugfix_version usage
- Drop patch, merged upstream:
  * 0001-Don-t-make-clients-hang-if-kwallet-is-disabled.patch
* Thu May 15 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to avoid DBus failures if disabled (kde#504014):
  * 0001-Don-t-make-clients-hang-if-kwallet-is-disabled.patch
* Sun May  4 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.14.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.14.0
- Changes since 6.13.0:
  * Update dependency version to 6.14.0
  * Set the KWALLETD_BIN_PATH to ksecretd
  * Fix compile without deprecated API
  * Backend folder doesn't exist
  * Fix build
  * Small config file changes
  * Use DBus calls only to avoid unstable libsecret API
  * Compatibility for binary data
  * Be very aggressive with dbus activation
  * Address some comments
  * Proxy pamOpen
  * When renaming, refuse to overwrite an already existing entry (kde#458639)
  * Correctly forward collection created and deleted signals
  * Minor code refactors
  * Support KeePassXC as SecretService backend
  * Compatibility for Windows
  * Fix FdoSecretsTest
  * Add support for Json encoding maps
  * Add secret service bridge (kde#491280)
  * Prepare kwalletd for migration to be a bridge
  * Update version to 6.14.0
  * Fix assertion failure due to invalid DBus object path
* Sat Apr  5 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.13.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.13.0
- Changes since 6.12.0:
  * Add missing include mocs
  * It compiles fine without qt6.9 deprecated methods
  * It compiles fine without kf6.12 deprecated methods
  * Better salt generation
  * Update dependency version to 6.13.0
* Tue Mar 11 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.12.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.12.0
- Changes since 6.11.0:
  * Update dependency version to 6.12.0
  * Remove superfluous spaces and quotes from debug output
  * Update version to 6.12.0
* Sat Feb  8 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.11.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.11.0
- Changes since 6.10.0:
  * Update dependency version to 6.11.0
  * Add xml/yaml linting
  * Don't explicitly delete copy ctor
  * Drop unused functions
  * CI: Add linux-qt6-next build
  * Update version to 6.11.0
* Thu Jan  9 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.10.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.10.0
- Changes since 6.9.0:
  * Update dependency version to 6.10.0
  * Remove unimplemented methods
  * Update version to 6.10.0
* Sun Dec  8 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.9.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.9.0
- Changes since 6.8.0:
  * Update dependency version to 6.9.0
  * It compiles fine without deprecated methods
  * Link with libnetwork on Haiku
  * Add global option to disable X11
  * Update version to 6.9.0
* Mon Nov  4 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.8.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.8.0
- Changes since 6.7.0:
  * Update dependency version to 6.8.0
  * Don't exclude deprecated functions from build (kde#493356)
  * Update version to 6.8.0
* Mon Oct  7 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.7.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.7.0
- Changes since 6.6.0:
  * Update dependency version to 6.7.0
  * Update version to 6.7.0
* Sat Sep  7 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.6.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.6.0
- Changes since 6.5.0:
  * Update version to 6.6.0
  * Set up crash handling
  * Remove dead kdeinit code
* Mon Aug  5 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.5.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.5.0
- Changes since 6.4.0:
  * Update dependency version to 6.5.0
  * Update version to 6.5.0
* Tue Jul  9 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.4.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.4.0
- Changes since 6.3.0:
  * gitignore: add VS Code dir
* Wed Jun  5 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.3.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/frameworks/6/6.3.0/
- Changes since 6.2.0:
  * Fix secrets portal wallet access (kde#487348)
  * Remove explicit maintainer from metainfo
* Mon May 27 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.2.1. Hotfix release:
  * Fix secrets portal wallet access (kde#487348)
* Mon May  6 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.2.0
  * New feature release
  * For more details please see:
  * https://kde.org/announcements/gear/6.2.0/
- Changes since 6.1.0:
  * Fix reply type in portal implementation
  * kwalletportalsecrets.h: Add missing include
  * Implement XDG Secrets Portal (kde#466197)
* Fri Apr  5 2024 Christophe Marin <christophe@krop.fr>
- Update to 6.1.0
  * New feature release
- Changes since 6.0.0:
  * update version for new release
  * [kwallet-query] Create QApplication before using i18n (kde#482017)
  * Ensure correct exit status by adding returns after exits in QueryDriver
* Thu Feb 29 2024 Christophe Marin <christophe@krop.fr>
- Make kwalletd6 replace kwalletd5. Only one daemon can be installed.
* Wed Feb 21 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.0
  * New bugfix release
  * Release announcement not available yet
- Changes since 5.249.0:
  * update version for new release
  * Avoid QtDBus module include in commonly used headers
  * update version for new release
* Wed Jan 31 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.249.0 (6.0 RC 2):
  * New bugfix release
  * For more details see https://kde.org/announcements/megarelease/6/rc2/
* Mon Jan 15 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.248.0 (6.0 RC 1)
  * For more details please see:
    https://kde.org/announcements/megarelease/6/rc1/
* Sat May 27 2023 Christophe Marin <christophe@krop.fr>
- Init kf6-kwallet
openSUSE Build Service is sponsored by