From de46996cdd67f0267f3308489e8a47082ca8554a397de2aecb131ac9300d15e3 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Sep 2022 07:31:10 +0000 Subject: [PATCH] Accepting request 1002334 from GNOME:Next 43.rc - with gcr3 next to it OBS-URL: https://build.opensuse.org/request/show/1002334 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gcr?expand=0&rev=96 --- ...1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch | 59 ------ baselibs.conf | 8 +- gcr-3.41.0.tar.xz | 3 - gcr-3.92.0.tar.xz | 3 + gcr.changes | 65 ++++++ gcr.spec | 185 +++++++----------- 6 files changed, 145 insertions(+), 178 deletions(-) delete mode 100644 b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch delete mode 100644 gcr-3.41.0.tar.xz create mode 100644 gcr-3.92.0.tar.xz diff --git a/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch deleted file mode 100644 index 25970c0..0000000 --- a/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8 Mon Sep 17 00:00:00 2001 -From: Jakub Jirutka -Date: Wed, 12 Jan 2022 00:24:20 +0100 -Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir - -This argument has been removed in Meson 0.61.0: - - gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages" - -https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de: - -> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it. - -Fixes #89 ---- - gck/meson.build | 1 - - gcr/meson.build | 1 - - ui/meson.build | 1 - - 3 files changed, 3 deletions(-) - -diff --git a/gck/meson.build b/gck/meson.build -index 756b486..a21a1e9 100644 ---- a/gck/meson.build -+++ b/gck/meson.build -@@ -131,7 +131,6 @@ if get_option('introspection') - sources: gck_gir_sources, - namespace: 'Gck', - nsversion: '@0@'.format(gck_major_version), -- packages: gck_deps, - export_packages: 'gck-@0@'.format(gck_major_version), - includes: [ 'GObject-2.0', 'Gio-2.0' ], - header: 'gck/gck.h', -diff --git a/gcr/meson.build b/gcr/meson.build -index 2233a44..c83641b 100644 ---- a/gcr/meson.build -+++ b/gcr/meson.build -@@ -190,7 +190,6 @@ if get_option('introspection') - sources: [ gcr_base_public_sources, gcr_base_headers ], - namespace: 'Gcr', - nsversion: '@0@'.format(gcr_major_version), -- packages: gcr_base_deps, - export_packages: 'gcr-base-@0@'.format(gcr_major_version), - includes: [ - 'GObject-2.0', -diff --git a/ui/meson.build b/ui/meson.build -index e656ea2..32ee057 100644 ---- a/ui/meson.build -+++ b/ui/meson.build -@@ -152,7 +152,6 @@ if get_option('introspection') - export_packages: 'gcr-ui-@0@'.format(gcr_major_version), - identifier_prefix: 'Gcr', - symbol_prefix: 'gcr', -- packages: gcr_ui_deps, - includes: [ - 'GObject-2.0', - 'Gio-2.0', --- -GitLab - diff --git a/baselibs.conf b/baselibs.conf index 8aa1856..917eb9b 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,6 +1,6 @@ -libgcr-3-1 +libgcr-4-0_0_0 libgcr-devel - requires "libgcr-3-1-" -libgck-1-0 + requires "libgcr-4-0_0_0-" +libgck-2-0_0_0 libgck-devel - requires "libgck-1-0-" + requires "libgck-2-0_0_0-" diff --git a/gcr-3.41.0.tar.xz b/gcr-3.41.0.tar.xz deleted file mode 100644 index 83484b8..0000000 --- a/gcr-3.41.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0909fc49ea8ad4832d27564ff2fd1dc666696e2a07c73941c48829e60572da01 -size 1039744 diff --git a/gcr-3.92.0.tar.xz b/gcr-3.92.0.tar.xz new file mode 100644 index 0000000..7e5628d --- /dev/null +++ b/gcr-3.92.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:896abf8e1db0f40eb28073f364f36a72385ac8abf8cd1362b1016e97721ff518 +size 719608 diff --git a/gcr.changes b/gcr.changes index bec9a5e..3de114a 100644 --- a/gcr.changes +++ b/gcr.changes @@ -1,3 +1,68 @@ +------------------------------------------------------------------- +Mon Sep 5 13:07:46 UTC 2022 - Bjørn Lie + +- Update to version 3.92.0: + + This is the beta release of gcr4, which is a major version bump + after gcr3 with several API and ABI breaks. + + `GcrCertificateSection` and `GcrCertificateField` have been + added, which now allow consumers to more easily create their + own GcrCertificate-based UIs. + + gcr4 will no longer ship UI libraries, i.e. gcr-gtk3 or + gcr-gtk4. + + `GcrComparable` and `GckList` have been removed. +- Drop pkgconfig(gtk+-3.0) BuildRequires, no longer needed, nor + supported. Following upstream changes, stop passing gtk3=true to + meson. +- Drop sub-package typelib-1_0-GcrUi-3, it was already gone since + 3.90.0 release. + +------------------------------------------------------------------- +Wed Aug 3 12:34:45 UTC 2022 - Dominique Leuenberger + +- Update to version 3.90.0: + + The "gcr" pkgconfig package now no longer contains the UI + widgets (i.e. the former "gcr-base" package).. + + "gcr-ui" no longer exists. There is now "gcr-gtk3" and + "gcr-gtk4" for the GTK3 and GTK4 versions respectively. These + might be removed from by the beta release however, in favor of + widgets for each DE (e.g. libadwaita or libgranite or ...). + + All deprecated API has been removed, as well as most UI-related + code. This includes most widgets, GcrColumn and any icons. + + Most GObject-based code has been updated to use modern + constructs like the `G_DECLARE_*` macros. + + "pkcs11.h" and "pkcs11.vapi" have been removed. If you used + "pcks11.h", this is provided by the p11-kit package. If you + used pkcs11.vapi, you'll have to copy it directly in your + repository. + + The org.gnome.crypto.pgp schema is no longer shipped. The + options provided in it are part of GPG configuration files. + + The minimally required version of Meson is now 0.59. + + All `GcrCollection` based APIs are now ported to `GListModel`. + + Added lookup of trust assertions for distrusted certs. + + Updated translations. +- Drop b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch: fixed + upstream. + +------------------------------------------------------------------- +Mon Jul 18 10:01:59 UTC 2022 - Bjørn Lie + +- Update to version 3.41.1: + + meson: Fix unknown kw argument in gnome.generate_gir. + + gcr: Add G_SPAWN_CLOEXEC_PIPES flag to all the g_spawn + commands. + + docs: Port from gtk-doc to gi-docgen. + + Unbreak build without systemd. + + Several CI fixes. + + Updated translations. +- Drop b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch: Fixed + upstream. +- Replace gtk-doc with pkgconfig(gi-docgen) BuildRequires following + upstreams port. +- Use ldconfig_scriptlets macro for post(un) handling. +- Split out doc subpackage. +- Add fdupes BuildRequires and macro, remove duplicate files. +- Build data and doc sub-packages as noarch. + ------------------------------------------------------------------- Tue Feb 1 13:47:46 UTC 2022 - Bjørn Lie diff --git a/gcr.spec b/gcr.spec index 2050a92..46c15a9 100644 --- a/gcr.spec +++ b/gcr.spec @@ -17,41 +17,41 @@ Name: gcr -Version: 3.41.0 +Version: 3.92.0 Release: 0 -# FIXME: Verify if the requires in typelib-1_0-Gcr-3 is still correct and required (see bgo#725501). +# FIXME: Verify if the requires in typelib-1_0-Gcr-4 is still correct and required (see bgo#725501). Summary: Library for Crypto UI related tasks License: LGPL-2.1-or-later Group: Development/Libraries/GNOME URL: http://www.gnome.org -Source0: https://download.gnome.org/sources/gcr/3.41/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/gcr/3.92/gcr-%{version}.tar.xz Source1: baselibs.conf # PATCH-FIX-SLE gcr-bsc932232-use-libgcrypt-allocators.patch bsc#932232 hpj@suse.com -- use libgcrypt allocators for FIPS mode Patch1: gcr-bsc932232-use-libgcrypt-allocators.patch -# PATCH-FIX-UPSTREAM b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch -- Fix build with meson 060.0 and newer -Patch2: https://gitlab.gnome.org/GNOME/gcr/-/commit/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch # For directory ownership BuildRequires: dbus-1 +BuildRequires: fdupes BuildRequires: gettext >= 0.19.8 BuildRequires: gobject-introspection-devel >= 1.34 # configure is looking for the gpg2 path -BuildRequires: gtk-doc +BuildRequires: pkgconfig(gi-docgen) BuildRequires: libgcrypt-devel >= 1.4.5 -BuildRequires: meson +BuildRequires: meson >= 0.59 BuildRequires: openssh-clients BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: vala >= 0.18.0.22 BuildRequires: xsltproc BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(gi-docgen) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.44.0 BuildRequires: pkgconfig(gmodule-no-export-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gthread-2.0) -BuildRequires: pkgconfig(gtk+-3.0) >= 3.22 +BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(p11-kit-1) >= 0.19.0 @@ -60,8 +60,7 @@ BuildRequires: pkgconfig(systemd) %description GCR is a library for displaying certificates, and crypto UI, accessing -key stores. It also provides the viewer for crypto files on the GNOME -desktop. +key stores. GCK is a library for accessing PKCS#11 modules like smart cards, in a (G)object oriented way. @@ -72,21 +71,10 @@ Group: Productivity/Security %description viewer This packages provides the viewer for crypto files on the GNOME desktop. +key stores. -%package data -Summary: Data and icon set for gcr -Group: System/Libraries - -%description data -This package provides the GSettings schemas and a collection of icons -needed by libgcr. - -%package prompter -Summary: Prompt dialog for gcr -Group: System/Libraries - -%description prompter -This package provides the prompt dialog needed by libgcr. +GCK is a library for accessing PKCS#11 modules like smart cards, in a +(G)object oriented way. %package ssh-askpass Summary: SSH password callback helper for gcr @@ -105,38 +93,26 @@ Supplements: (gpg2 and gnome-shell) gcr-ssh-agent as a standalone binary, so that it can easily be managed through systemd. -%package -n libgcr-3-1 +%package -n libgcr-4-0_0_0 Summary: Library for Crypto UI related tasks Group: System/Libraries -Requires: %{name}-data >= %{version} -Requires: %{name}-prompter >= %{version} Recommends: %{name}-ask-pass Recommends: %{name}-ssh-agent Recommends: %{name}-viewer = %{version} # To make lang package installable Provides: %{name} = %{version} -%description -n libgcr-3-1 +%description -n libgcr-4-0_0_0 GCR is a library for displaying certificates, and crypto UI, accessing key stores. -%package -n typelib-1_0-Gcr-3 +%package -n typelib-1_0-Gcr-4 Summary: Introspection bindings for gcr, a library for crypto UI related tasks # Due to broken typelib files, this one cannot be automatically inspected Group: System/Libraries -Requires: typelib-1_0-Gck-1 +Requires: typelib-1_0-Gck-2 -%description -n typelib-1_0-Gcr-3 -GCR is a library for displaying certificates, and crypto UI, accessing -key stores. - -This package provides the GObject Introspection bindings for GCR. - -%package -n typelib-1_0-GcrUi-3 -Summary: Introspection bindings for gcr, a library for crypto UI related tasks -Group: System/Libraries - -%description -n typelib-1_0-GcrUi-3 +%description -n typelib-1_0-Gcr-4 GCR is a library for displaying certificates, and crypto UI, accessing key stores. @@ -145,15 +121,14 @@ This package provides the GObject Introspection bindings for GCR. %package -n libgcr-devel Summary: Development files for gcr, a library for crypto UI related tasks Group: Development/Libraries/GNOME -Requires: libgcr-3-1 = %{version} -Requires: typelib-1_0-Gcr-3 = %{version} -Requires: typelib-1_0-GcrUi-3 = %{version} +Requires: libgcr-4-0_0_0 = %{version} +Requires: typelib-1_0-Gcr-4 = %{version} %description -n libgcr-devel GCR is a library for displaying certificates, and crypto UI, accessing key stores. -%package -n libgck-1-0 +%package -n libgck-2-0_0_0 Summary: GObject library to access PKCS#11 modules # Small hack, to help gnome-keyring subpackage containing gck # modules have a proper dependency, without having to care about @@ -161,15 +136,15 @@ Summary: GObject library to access PKCS#11 modules Group: System/Libraries Provides: gck = %{version} -%description -n libgck-1-0 +%description -n libgck-2-0_0_0 GCK is a library for accessing PKCS#11 modules like smart cards, in a (G)object oriented way. -%package -n typelib-1_0-Gck-1 +%package -n typelib-1_0-Gck-2 Summary: Introspection bindings for gck, a GObject library to access PKCS#11 modules Group: System/Libraries -%description -n typelib-1_0-Gck-1 +%description -n typelib-1_0-Gck-2 GCK is a library for accessing PKCS#11 modules like smart cards, in a (G)object oriented way. @@ -178,37 +153,48 @@ This package provides the GObject Introspection bindings for GCK. %package -n libgck-devel Summary: Development files for gck, a GObject library to access PKCS#11 modules Group: Development/Libraries/GNOME -Requires: libgck-1-0 = %{version} -Requires: typelib-1_0-Gck-1 = %{version} +Requires: libgck-2-0_0_0 = %{version} +Requires: typelib-1_0-Gck-2 = %{version} %description -n libgck-devel GCK is a library for accessing PKCS#11 modules like smart cards, in a (G)object oriented way. +%package doc +Summary: Documentation for gcr +BuildArch: noarch + +%description doc +This packages provides the documentation for various gcr packages. + %lang_package %prep -%setup -q +%setup -q -n gcr-%{version} %if 0%{?sle_version} %patch1 -p1 %endif -%patch2 -p1 %build %meson \ - -Dgpg_path=%{_bindir}/gpg2 + -Dgpg_path=%{_bindir}/gpg2 \ + -Dgtk4=true \ + %nil %meson_build %install %meson_install -%suse_update_desktop_file gcr-prompter -%suse_update_desktop_file gcr-viewer -%find_lang %{name} +%find_lang gcr-4 -%post -n libgcr-3-1 -p /sbin/ldconfig -%postun -n libgcr-3-1 -p /sbin/ldconfig -%post -n libgck-1-0 -p /sbin/ldconfig -%postun -n libgck-1-0 -p /sbin/ldconfig +# Make default docdir ref openSUSE standard +mkdir -p %{buildroot}%{_docdir} +# Move docs from upstream docdir to openSUSE docdir standard +mv %{buildroot}%{_datadir}/doc/gcr-4* %{buildroot}%{_docdir} +mv %{buildroot}%{_datadir}/doc/gck-2* %{buildroot}%{_docdir} +%fdupes %{buildroot}%{_docdir} + +%ldconfig_scriptlets -n libgcr-4-0_0_0 +%ldconfig_scriptlets -n libgck-2-0_0_0 %post -n %{name}-ssh-agent %systemd_user_post gcr-ssh-agent.service @@ -216,80 +202,55 @@ GCK is a library for accessing PKCS#11 modules like smart cards, in a %preun -n %{name}-ssh-agent %systemd_user_preun gcr-ssh-agent.service -%postun -n %{name}-ssh-agent -%systemd_user_postun_with_restart gcr-ssh-agent.service - %files viewer %license COPYING %doc NEWS -%{_bindir}/gcr-viewer -%{_datadir}/applications/gcr-viewer.desktop -%{_datadir}/mime/packages/gcr-crypto-types.xml - -%files data -%doc NEWS -%{_datadir}/icons/hicolor/*/apps/* -# Own the directory since we can't depend on gconf providing them -%dir %{_datadir}/GConf -%dir %{_datadir}/GConf/gsettings -%{_datadir}/GConf/gsettings/org.gnome.crypto.pgp.convert -%{_datadir}/GConf/gsettings/org.gnome.crypto.pgp_keyservers.convert -%{_datadir}/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml - -%files prompter -%{_libexecdir}/gcr-prompter -%{_datadir}/applications/gcr-prompter.desktop -%{_datadir}/dbus-1/services/org.gnome.keyring.PrivatePrompter.service -%{_datadir}/dbus-1/services/org.gnome.keyring.SystemPrompter.service +%{_bindir}/gcr-viewer-gtk4 %files ssh-askpass -%{_libexecdir}/gcr-ssh-askpass +%{_libexecdir}/gcr4-ssh-askpass %files ssh-agent %{_libexecdir}/gcr-ssh-agent %{_userunitdir}/gcr-ssh-agent.service %{_userunitdir}/gcr-ssh-agent.socket -%files -n libgcr-3-1 +%files -n libgcr-4-0_0_0 %license COPYING %doc NEWS -%{_libdir}/libgcr-base-3.so.* -%{_libdir}/libgcr-ui-3.so.* +%{_libdir}/libgcr-4*.so.* -%files -n typelib-1_0-Gcr-3 -%{_libdir}/girepository-1.0/Gcr-3.typelib - -%files -n typelib-1_0-GcrUi-3 -%{_libdir}/girepository-1.0/GcrUi-3.typelib +%files -n typelib-1_0-Gcr-4 +%{_libdir}/girepository-1.0/Gcr-4.typelib %files -n libgcr-devel -%doc %{_datadir}/gtk-doc/html/gcr/ -%{_libdir}/libgcr-base-3.so -%{_libdir}/libgcr-ui-3.so -%{_libdir}/pkgconfig/gcr-3.pc -%{_libdir}/pkgconfig/gcr-base-3.pc -%{_libdir}/pkgconfig/gcr-ui-3.pc -%dir %{_includedir}/gcr-3 -%{_includedir}/gcr-3 -%{_datadir}/gir-1.0/GcrUi-3.gir +%{_libdir}/libgcr-4*.so +%{_libdir}/pkgconfig/gcr-4.pc +%{_includedir}/gcr-4/ +%{_datadir}/gir-1.0/Gcr-4.gir +%{_datadir}/vala/vapi/gcr-4.deps +%{_datadir}/vala/vapi/gcr-4.vapi -%files -n libgck-1-0 +%files -n libgck-2-0_0_0 %license COPYING %doc NEWS -%{_libdir}/libgck-1.so.* +%{_libdir}/libgck-2.so.* -%files -n typelib-1_0-Gck-1 -%{_libdir}/girepository-1.0/Gck-1.typelib +%files -n typelib-1_0-Gck-2 +%{_libdir}/girepository-1.0/Gck-2.typelib %files -n libgck-devel -%doc %{_datadir}/gtk-doc/html/gck/ -%{_libdir}/libgck-1.so -%{_libdir}/pkgconfig/gck-1.pc -%{_includedir}/gck-1/ -%{_datadir}/gir-1.0/Gck-1.gir -%{_datadir}/gir-1.0/Gcr-3.gir -%{_datadir}/vala/vapi/ +%{_libdir}/libgck-2.so +%{_libdir}/pkgconfig/gck-2.pc +%{_includedir}/gck-2/ +%{_datadir}/gir-1.0/Gck-2.gir +%{_datadir}/vala/vapi/gck-2.deps +%{_datadir}/vala/vapi/gck-2.vapi -%files lang -f %{name}.lang +%files lang -f gcr-4.lang + +%files doc +%doc %{_docdir}/gcr-4* +%doc %{_docdir}/gck-2* %changelog