[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