Add signon plugins and fix sonic-frameworks-sso devel files
Some checks failed
Build RPMs / build (push) Has been cancelled
Some checks failed
Build RPMs / build (push) Has been cancelled
Build signon-plugin-oauth2 (0.25 git snapshot) and signon-kwallet-extension (26.04.3) for SonicDE, linking against sonic-frameworks-sso and sonic-frameworks-keyring. Update sonic-frameworks-sso to release 9: install plugin development files (headers, pkgconfig, symlinks, CamelCase forwarding headers) that the CMake fork doesn't install, needed to build signon plugins. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
4bd37a877e
commit
2598c93286
3 changed files with 221 additions and 1 deletions
60
signon-kwallet-extension/signon-kwallet-extension.spec
Normal file
60
signon-kwallet-extension/signon-kwallet-extension.spec
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
%undefine __cmake_in_source_build
|
||||
|
||||
Name: signon-kwallet-extension
|
||||
Version: 26.04.3
|
||||
Release: 1%{?dist}
|
||||
Summary: KWallet integration for Sign-on framework
|
||||
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://invent.kde.org/network/%{name}
|
||||
|
||||
%global revision %(echo %{version} | cut -d. -f3)
|
||||
%if %{revision} >= 50
|
||||
%global stable unstable
|
||||
%else
|
||||
%global stable stable
|
||||
%endif
|
||||
Source0: https://download.kde.org/%{stable}/release-service/%{version}/src/%{name}-%{version}.tar.xz
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: cmake
|
||||
BuildRequires: sonic-frameworks-cmake-modules
|
||||
BuildRequires: sonic-frameworks-keyring-devel
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: sonic-frameworks-sso-devel
|
||||
|
||||
Supplements: (sonic-frameworks-keyring-libs and sonic-frameworks-sso)
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
# Fix FindSignOnExtension.cmake to look for the actual header filename
|
||||
# (upstream uses CamelCase but the SonicDE SSO fork installs lowercase headers)
|
||||
sed -i 's|SignOn/AbstractSecretsStorage|SignOn/abstract-secrets-storage.h|' \
|
||||
cmake/modules/FindSignOnExtension.cmake
|
||||
|
||||
# Fix includes: SonicDE SSO fork uses lowercase header names
|
||||
sed -i 's|#include <SignOn/ExtensionInterface>|#include <SignOn/extension-interface.h>|' \
|
||||
src/keyringplugin.h
|
||||
sed -i 's|#include <SignOn/AbstractSecretsStorage>|#include <SignOn/abstract-secrets-storage.h>|' \
|
||||
src/keyringplugin.cpp src/secretsstorage.h src/secretsstorage.cpp
|
||||
|
||||
%build
|
||||
%cmake_kf6 \
|
||||
-DQT_MAJOR_VERSION=6
|
||||
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_libdir}/signond/extensions/libkeyring-kwallet.so
|
||||
|
||||
%changelog
|
||||
* Fri Aug 28 2026 SonicDE <dev@sonicde.org> - 26.04.3-1
|
||||
- Build 26.04.3 for SonicDE, link against sonic-frameworks-sso and sonic-frameworks-keyring
|
||||
60
signon-plugin-oauth2/signon-plugin-oauth2.spec
Normal file
60
signon-plugin-oauth2/signon-plugin-oauth2.spec
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
%global gitdate 20231216
|
||||
%global commit0 fab698862466994a8fdc9aa335c87b4f05430ce6
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
|
||||
Name: signon-plugin-oauth2
|
||||
Version: 0.25^%{gitdate}.%{shortcommit0}
|
||||
Release: 1%{?dist}
|
||||
Summary: OAuth2 plugin for the Accounts framework
|
||||
|
||||
License: LGPL-2.1-or-later
|
||||
URL: https://gitlab.com/accounts-sso/signon-plugin-oauth2
|
||||
|
||||
Source0: https://gitlab.com/accounts-sso/signon-plugin-oauth2/-/archive/%{commit0}/%{name}-%{commit0}.tar.gz
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: sonic-frameworks-sso-devel
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: libproxy-devel
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%description devel
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{commit0} -p1
|
||||
|
||||
%build
|
||||
%qmake_qt6 \
|
||||
QMF_INSTALL_ROOT=%{_prefix} \
|
||||
CONFIG+=release \
|
||||
CONFIG+=nomake_tests \
|
||||
LIBDIR=%{?_libdir} \
|
||||
signon-oauth2.pro
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install INSTALL_ROOT=%{buildroot}
|
||||
|
||||
# Delete examples (if built)
|
||||
rm -fv %{buildroot}/%{_bindir}/oauthclient 2>/dev/null || true
|
||||
rm -rvf %{buildroot}/%{_sysconfdir} 2>/dev/null || true
|
||||
|
||||
%files
|
||||
%{_libdir}/signond/liboauth2plugin.so
|
||||
|
||||
%files devel
|
||||
%{_includedir}/signon-plugins/*.h
|
||||
%{_libdir}/pkgconfig/signon-oauth2plugin.pc
|
||||
|
||||
%changelog
|
||||
* Fri Aug 28 2026 SonicDE <dev@sonicde.org> - 0.25^20231216.fab6988-1
|
||||
- Build for SonicDE, link against sonic-frameworks-sso
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
#Name: signon
|
||||
Name: sonic-frameworks-sso
|
||||
Version: 8.61.2
|
||||
Release: 6%{?dist}
|
||||
Release: 9%{?dist}
|
||||
Summary: Accounts framework for Linux and POSIX based platforms
|
||||
|
||||
License: LGPL-2.1-only
|
||||
|
|
@ -87,6 +87,89 @@ sed -i '/^install(FILES$/,/dbus-1\/interfaces)/d' cmake/signond/CMakeLists.txt
|
|||
# create/own libdir/signond/extensions
|
||||
mkdir -p %{buildroot}%{_libdir}/signond/extensions/
|
||||
|
||||
# Install plugin development files (CMake fork doesn't install these)
|
||||
# Plugin headers
|
||||
mkdir -p %{buildroot}%{_includedir}/signon-plugins/SignOn
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/lib/plugins/SignOn/*.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/SignOn/
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/lib/plugins/*.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/ 2>/dev/null || true
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/src/plugins/example/exampledata.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/ 2>/dev/null || true
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/src/plugins/example/exampleplugin.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/ 2>/dev/null || true
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/src/plugins/password/passwordplugin.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/ 2>/dev/null || true
|
||||
# Create CamelCase forwarding headers (upstream plugins use #include <SignOn/AuthPluginInterface>)
|
||||
# AuthPluginInterface -> authpluginif.h (note: not authplugininterface.h)
|
||||
echo "#include <SignOn/authpluginif.h>" > %{buildroot}%{_includedir}/signon-plugins/SignOn/AuthPluginInterface
|
||||
echo "#include <SignOn/uisessiondata.h>" > %{buildroot}%{_includedir}/signon-plugins/SignOn/UiSessionData
|
||||
# Error and SessionData are in signon-qt6, but plugins include them via SignOn/
|
||||
# Create forwarding headers that point to the qt6 versions
|
||||
echo "#include <SignOn/signonerror.h>" > %{buildroot}%{_includedir}/signon-plugins/SignOn/Error
|
||||
echo "#include <SignOn/sessiondata.h>" > %{buildroot}%{_includedir}/signon-plugins/SignOn/SessionData
|
||||
# Copy the actual qt6 headers that plugins need (signonerror.h, sessiondata.h, libsignoncommon.h)
|
||||
# since the forwarding headers above include them from SignOn/ which resolves
|
||||
# to signon-plugins/SignOn/
|
||||
cp -a %{buildroot}%{_includedir}/signon-qt6/SignOn/signonerror.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/SignOn/ 2>/dev/null || true
|
||||
cp -a %{buildroot}%{_includedir}/signon-qt6/SignOn/sessiondata.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/SignOn/ 2>/dev/null || true
|
||||
cp -a %{buildroot}%{_includedir}/signon-qt6/SignOn/libsignoncommon.h \
|
||||
%{buildroot}%{_includedir}/signon-plugins/SignOn/ 2>/dev/null || true
|
||||
# Extension headers
|
||||
mkdir -p %{buildroot}%{_includedir}/signon-extension/SignOn
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/lib/signond/SignOn/*.h \
|
||||
%{buildroot}%{_includedir}/signon-extension/SignOn/
|
||||
# signond internal headers (needed by some plugins)
|
||||
mkdir -p %{buildroot}%{_includedir}/signond
|
||||
cp -a %{_builddir}/%{reponame}-%{version}/src/signond/*.h \
|
||||
%{buildroot}%{_includedir}/signond/ 2>/dev/null || true
|
||||
# Create pkgconfig files (the .pc.in templates use qmake $$ syntax, not CMake)
|
||||
cat > %{buildroot}%{_libdir}/pkgconfig/signon-plugins.pc << 'PCEOF'
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/%{_lib}
|
||||
includedir=${prefix}/include
|
||||
plugin_includedir=${includedir}/signon-plugins/SignOn
|
||||
plugindir=${libdir}/signond
|
||||
|
||||
Name: signon-plugins
|
||||
Description: SignonPlugins
|
||||
Version: %{version}
|
||||
Libs: -L${libdir} -lsignon-plugins-common
|
||||
Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
|
||||
PCEOF
|
||||
cat > %{buildroot}%{_libdir}/pkgconfig/SignOnExtension.pc << 'PCEOF'
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/%{_lib}
|
||||
includedir=${prefix}/include
|
||||
plugindir=${libdir}/signond/extensions
|
||||
|
||||
Name: SignOnExtension
|
||||
Description: SignOn extension development
|
||||
Version: %{version}
|
||||
Requires: Qt6Core
|
||||
Libs: -L${libdir} -lsignon-extension
|
||||
Cflags: -I${includedir}/signon-extension
|
||||
PCEOF
|
||||
cat > %{buildroot}%{_libdir}/pkgconfig/signon-plugins-common.pc << 'PCEOF'
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/%{_lib}
|
||||
includedir=${prefix}/include
|
||||
plugin_includedir=${includedir}/signon-plugins/SignOn
|
||||
|
||||
Name: signon-plugins-common
|
||||
Description: SignonPluginsCommon
|
||||
Version: %{version}
|
||||
Libs: -L${libdir} -lsignon-plugins-common
|
||||
Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
|
||||
PCEOF
|
||||
# Create libsignon-plugins.so symlink (plugins link against this)
|
||||
ln -sf libsignon-plugins-common.so %{buildroot}%{_libdir}/libsignon-plugins.so
|
||||
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
|
|
@ -102,13 +185,30 @@ mkdir -p %{buildroot}%{_libdir}/signond/extensions/
|
|||
|
||||
%files devel
|
||||
%{_includedir}/signon-qt6/
|
||||
%{_includedir}/signon-plugins/
|
||||
%{_includedir}/signon-extension/
|
||||
%{_includedir}/signond/
|
||||
%{_libdir}/cmake/SignOnQt6/
|
||||
%{_libdir}/pkgconfig/libsignon-qt6.pc
|
||||
%{_libdir}/pkgconfig/signon-plugins.pc
|
||||
%{_libdir}/pkgconfig/SignOnExtension.pc
|
||||
%{_libdir}/pkgconfig/signon-plugins-common.pc
|
||||
%{_libdir}/libsignon-qt6.so
|
||||
%{_libdir}/libsignon-extension.so
|
||||
%{_libdir}/libsignon-plugins-common.so
|
||||
%{_libdir}/libsignon-plugins.so
|
||||
|
||||
%changelog
|
||||
* Fri Aug 28 2026 SonicDE <dev@sonicde.org> - 8.61.2-9
|
||||
- Fix forwarding headers: AuthPluginInterface->authpluginif.h, add libsignoncommon.h
|
||||
|
||||
* Fri Aug 28 2026 SonicDE <dev@sonicde.org> - 8.61.2-8
|
||||
- Add CamelCase forwarding headers and qt6 headers for plugin builds
|
||||
|
||||
* Fri Aug 28 2026 SonicDE <dev@sonicde.org> - 8.61.2-7
|
||||
- Install plugin development files (headers, pkgconfig, symlinks) needed
|
||||
to build signon-plugin-oauth2 and signon-kwallet-extension against SSO
|
||||
|
||||
* Thu Aug 27 2026 SonicDE <dev@sonicde.org> - 8.61.2-6
|
||||
- Add Conflicts: signon to prevent D-Bus service file clash with EPEL signon
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue