[packages/gsignond] - updated to 1.2.0, now uses meson; added patch to allow building multiple extension plugins

qboosh qboosh at pld-linux.org
Thu Aug 28 21:25:03 CEST 2025


commit 666b35b7d88c99c9d6b74d112faae2765d0f8b73
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Aug 28 21:27:46 2025 +0200

    - updated to 1.2.0, now uses meson; added patch to allow building multiple extension plugins

 gsignond-extensions.patch | 37 ++++++++++++++++++++++++
 gsignond-update.patch     | 59 ++++++++++++++------------------------
 gsignond.spec             | 73 ++++++++++++++++++++++-------------------------
 3 files changed, 92 insertions(+), 77 deletions(-)
---
diff --git a/gsignond.spec b/gsignond.spec
index bbc72f2..0f14a18 100644
--- a/gsignond.spec
+++ b/gsignond.spec
@@ -1,34 +1,36 @@
 #
 # Conditional build:
-%bcond_without	apidocs		# do not build and package API docs
-%bcond_without	static_libs	# don't build static libraries
+%bcond_without	apidocs		# API documentation
+%bcond_without	static_libs	# static library
 %bcond_without	ostro		# Ostro extension (trousers+ecryptfs)
 %bcond_without	tizen		# Tizen extension (smack+ecryptfs)
 
 Summary:	Single-sign-on daemon
 Summary(pl.UTF-8):	Demon wspólnego logowania (single-sign-on)
 Name:		gsignond
-Version:	1.0.6
+Version:	1.2.0
 Release:	1
 License:	LGPL v2.1+
 Group:		Daemons
-#Source0Download: https://gitlab.com/accounts-sso/gsignond/tags
-Source0:	https://gitlab.com/accounts-sso/gsignond/repository/archive.tar.bz2?ref=%{version}&fake_out=/%{name}-%{version}.tar.bz2
-# Source0-md5:	6cc5286f83ca8e398347c735557e2f4a
+#Source0Download: https://gitlab.com/accounts-sso/gsignond/-/tags
+Source0:	https://gitlab.com/accounts-sso/gsignond/-/archive/%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5:	e79018dfa4f52538661c5a6c5df98f8c
 Patch0:		%{name}-update.patch
+Patch1:		%{name}-extensions.patch
 URL:		https://gitlab.com/accounts-sso/gsignond
-BuildRequires:	autoconf >= 2.60
-BuildRequires:	automake >= 1:1.11
 BuildRequires:	check-devel >= 0.9.4
 BuildRequires:	dbus-devel
 %if %{with ostro} || %{with tizen}
 BuildRequires:	ecryptfs-utils-devel >= 96
 %endif
-BuildRequires:	glib2-devel >= 1:2.30
+BuildRequires:	glib2-devel >= 1:2.34
 BuildRequires:	gobject-introspection-devel >= 1.30.0
 BuildRequires:	gtk-doc >= 1.18
-BuildRequires:	libtool >= 2:2.2
+BuildRequires:	meson
+BuildRequires:	ninja >= 1.5
 BuildRequires:	pkgconfig
+BuildRequires:	rpmbuild(macros) >= 2.042
+BuildRequires:	sed >= 4.0
 %{?with_tizen:BuildRequires:	smack-devel >= 1.0}
 BuildRequires:	sqlite3-devel >= 3
 %{?with_ostro:BuildRequires:	trousers-devel}
@@ -73,6 +75,7 @@ Rozszerzenie Tizen dla gsignond.
 Summary:	Single sign-on daemon library
 Summary(pl.UTF-8):	Biblioteka demona wspólnego logowania
 Group:		Libraries
+Requires:	glib2 >= 1:2.34
 
 %description libs
 Single sign-on daemon library.
@@ -85,7 +88,7 @@ Summary:	Header files for gsignond library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki gsignond
 Group:		Development/Libraries
 Requires:	%{name}-libs = %{version}-%{release}
-Requires:	glib2-devel >= 1:2.30
+Requires:	glib2-devel >= 1:2.34
 Requires:	sqlite3-devel >= 3
 
 %description devel
@@ -132,35 +135,24 @@ API documentation for gsignond.
 Dokumentacja API gsidnond.
 
 %prep
-%setup -q -n %{name}-%{version}-3214aef8e7c84a9918d8b18fb258247d81be12e2
+%setup -q 
 %patch -P0 -p1
+%patch -P1 -p1
+
+%if %{with static_libs}
+%{__sed} -i -e '/^gsignond_library =/ s/shared_library/library/' src/common/meson.build
+%endif
 
 %build
-%{__gtkdocize}
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
-	--enable-gtk-doc \
-	%{?with_static_libs:--enable-static} \
-	--with-html-dir=%{_gtkdocdir}
-%{__make}
+%meson \
+	-Dextension=desktop%{?with_ostro:,ostro}%{?with_tizen:,tizen}
+
+%meson_build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
-
-# loadable modules
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gsignond/*/*.la
-%if %{with static_libs}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gsignond/*/*.a
-%endif
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
+%meson_install
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -170,17 +162,21 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
+%doc README.md
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gsignond.conf
 %attr(755,root,root) %{_bindir}/gsignond
 %dir %{_libdir}/gsignond
 %dir %{_libdir}/gsignond/extensions
-%attr(755,root,root) %{_libdir}/gsignond/extensions/libextension-test.so
+%attr(755,root,root) %{_libdir}/gsignond/extensions/libextension-desktop.so
 %dir %{_libdir}/gsignond/gplugins
 %attr(755,root,root) %{_libdir}/gsignond/gplugins/libdigest.so
 %attr(755,root,root) %{_libdir}/gsignond/gplugins/libpassword.so
 %attr(755,root,root) %{_libdir}/gsignond/gplugins/libssotest.so
 %dir %{_libdir}/gsignond/pluginloaders
 %attr(755,root,root) %{_libdir}/gsignond/pluginloaders/gsignond-plugind
+%{_datadir}/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service
+%{_datadir}/dbus-1/services/com.google.code.AccountsSSO.gSingleSignOn.service
+
 
 %if %{with ostro}
 %files extension-ostro
@@ -197,15 +193,14 @@ rm -rf $RPM_BUILD_ROOT
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgsignond-common.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgsignond-common.so.0
-%{_libdir}/girepository-1.0/gSignond-1.0.typelib
+%ghost %{_libdir}/libgsignond-common.so.1
+%{_libdir}/girepository-1.0/GSignond-1.0.typelib
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgsignond-common.so
+%{_libdir}/libgsignond-common.so
 %{_includedir}/gsignond
-%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.gSingleSignOn.*.xml
-%{_datadir}/gir-1.0/gSignond-1.0.gir
+%{_datadir}/gir-1.0/GSignond-1.0.gir
 %{_pkgconfigdir}/gsignond.pc
 
 %if %{with static_libs}
diff --git a/gsignond-extensions.patch b/gsignond-extensions.patch
new file mode 100644
index 0000000..b3d0b04
--- /dev/null
+++ b/gsignond-extensions.patch
@@ -0,0 +1,37 @@
+--- gsignond-1.2.0/meson_options.txt.orig	2018-10-30 16:57:31.000000000 +0100
++++ gsignond-1.2.0/meson_options.txt	2025-08-28 20:53:48.005849355 +0200
+@@ -1,5 +1,5 @@
+ option('bus_type', type : 'combo', choices : ['system', 'session', 'p2p'], value : 'session', description : 'Daemon D-Bus type')
+-option('extension', type : 'combo', choices : ['default', 'ostro', 'tizen', 'desktop'], value : 'default', description : 'Build the chosen extension')
++option('extension', type : 'array', choices : ['ostro', 'tizen', 'desktop'], value : [], description : 'Build the chosen extensions')
+ option('debugging', type : 'boolean', value : false, description : 'Enable debug features')
+ option('sql_log', type : 'boolean', value : false, description : 'Enable debug features')
+ option('documentation', type : 'boolean', value : true, description : 'Enable documentation generation')
+--- gsignond-1.2.0/meson.build.orig	2018-10-30 16:57:31.000000000 +0100
++++ gsignond-1.2.0/meson.build	2025-08-28 20:54:02.402438028 +0200
+@@ -83,9 +83,6 @@ conf_data.set('EXTENSION', 'Extension =
+ conf_data.set('BASE_STORAGE_DIR', 'StoragePath = @0@'.format(base_storage_dir))
+ conf_data.set('KEYCHAIN_SYSCTX', 'KeychainSystemContext = @0@'.format(keychain))
+ # Disable default settings
+-if extension == 'default'
+-    conf_data.set('EXTENSION', '#@0@'.format(conf_data.get('EXTENSION')))
+-endif
+ if base_storage_dir == '/var/db'
+     conf_data.set('BASE_STORAGE_DIR', '#@0@'.format(conf_data.get('BASE_STORAGE_DIR')))
+ endif
+--- gsignond-1.2.0/src/extensions/meson.build.orig	2018-10-30 16:57:31.000000000 +0100
++++ gsignond-1.2.0/src/extensions/meson.build	2025-08-28 20:54:55.905481511 +0200
+@@ -1,8 +1,10 @@
+-if extension == 'ostro'
++if 'ostro' in extension
+     subdir('ostro')
+-elif extension == 'tizen'
++endif
++if 'tizen' in extension
+     subdir('tizen')
+-elif extension == 'desktop'
++endif
++if 'desktop' in extension
+     subdir('desktop')
+ endif
+ if enable_debug == true
diff --git a/gsignond-update.patch b/gsignond-update.patch
index e7c3b2d..d7cbac2 100644
--- a/gsignond-update.patch
+++ b/gsignond-update.patch
@@ -1,39 +1,22 @@
-diff --git a/src/extensions/ostro/ostro-access-control-manager.c b/src/extensions/ostro/ostro-access-control-manager.c
-index 2324c34..1e3c332 100644
---- a/src/extensions/ostro/ostro-access-control-manager.c
-+++ b/src/extensions/ostro/ostro-access-control-manager.c
-@@ -167,7 +167,7 @@ extension_ostro_access_control_manager_peer_is_allowed_to_use_identity (
-                             GSignondAccessControlManager *self,
-                             const GSignondSecurityContext *peer_ctx,
-                             const GSignondSecurityContext *identity_owner,
--                            const GSignondSecurityContextList *identity_acl)
-+                            const GList *identity_acl)
- {
-     GSignondSecurityContext* acl_ctx = NULL;
-     const gchar *peer_system_ctx = gsignond_security_context_get_system_context(peer_ctx);
-diff --git a/src/extensions/ostro/ostro-access-control-manager.h b/src/extensions/ostro/ostro-access-control-manager.h
-index 30e4e72..4663d1a 100644
---- a/src/extensions/ostro/ostro-access-control-manager.h
-+++ b/src/extensions/ostro/ostro-access-control-manager.h
-@@ -85,7 +85,7 @@ extension_ostro_access_control_manager_peer_is_allowed_to_use_identity (
-                             GSignondAccessControlManager *self,
-                             const GSignondSecurityContext *peer_ctx,
-                             const GSignondSecurityContext *identity_owner,
--                            const GSignondSecurityContextList *identity_acl);
-+                            const GList *identity_acl);
+--- gsignond-1.2.0/src/extensions/ostro/ostro-access-control-manager.c.orig	2018-10-30 16:57:31.000000000 +0100
++++ gsignond-1.2.0/src/extensions/ostro/ostro-access-control-manager.c	2025-08-28 21:01:49.686573200 +0200
+@@ -24,8 +24,6 @@
+  * 02110-1301 USA
+  */
  
- gboolean
- extension_ostro_access_control_manager_peer_is_owner_of_identity (
-diff --git a/src/extensions/tizen/tizen-access-control-manager.c b/src/extensions/tizen/tizen-access-control-manager.c
-index 355f09f..ed911ae 100644
---- a/src/extensions/tizen/tizen-access-control-manager.c
-+++ b/src/extensions/tizen/tizen-access-control-manager.c
-@@ -163,7 +163,7 @@ extension_tizen_access_control_manager_peer_is_allowed_to_use_identity (
-                             GSignondAccessControlManager *self,
-                             const GSignondSecurityContext *peer_ctx,
-                             const GSignondSecurityContext *identity_owner,
--                            const GSignondSecurityContextList *identity_acl)
-+                            const GList *identity_acl)
- {
-     GSignondSecurityContext* acl_ctx = NULL;
-     const gchar *peer_system_ctx = gsignond_security_context_get_system_context(peer_ctx);
+-#include "config.h"
+-
+ #ifdef HAVE_LIBSMACK
+ 
+ #include <stdlib.h>
+--- gsignond-1.2.0/src/extensions/ostro/ostro-extension.c.orig	2018-10-30 16:57:31.000000000 +0100
++++ gsignond-1.2.0/src/extensions/ostro/ostro-extension.c	2025-08-28 21:03:44.485951278 +0200
+@@ -23,8 +23,6 @@
+  * 02110-1301 USA
+  */
+ 
+-#include "config.h"
+-
+ #include "ostro-extension.h"
+ #include "ostro-storage-manager.h"
+ #include "ostro-secret-storage.h"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gsignond.git/commitdiff/666b35b7d88c99c9d6b74d112faae2765d0f8b73



More information about the pld-cvs-commit mailing list