Compare commits
No commits in common. "c8s" and "c10s" have entirely different histories.
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
||||
SOURCES/gcr-3.28.0.tar.xz
|
||||
/gcr-3.28.0.tar.xz
|
||||
/gcr-*.tar.xz
|
||||
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
379
gcr-4.3.0-fips.patch
Normal file
379
gcr-4.3.0-fips.patch
Normal file
@ -0,0 +1,379 @@
|
||||
From c2a7f26ecf8caec125146f4f3f186bbf9b4a8acf Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@src.gnome.org>
|
||||
Date: Tue, 16 Jul 2024 23:58:39 +0900
|
||||
Subject: [PATCH 1/5] build: Add egg-fips module
|
||||
|
||||
This adds a new egg-fips module, which provides access to the system
|
||||
FIPS mode, so we can conditionalize used algorithms based on that.
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
|
||||
---
|
||||
egg/egg-fips-gnutls.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||
egg/egg-fips-libgcrypt.c | 33 +++++++++++++++++++++++++++++++++
|
||||
egg/egg-fips.h | 31 +++++++++++++++++++++++++++++++
|
||||
egg/meson.build | 2 ++
|
||||
4 files changed, 102 insertions(+)
|
||||
create mode 100644 egg/egg-fips-gnutls.c
|
||||
create mode 100644 egg/egg-fips-libgcrypt.c
|
||||
create mode 100644 egg/egg-fips.h
|
||||
|
||||
diff --git a/egg/egg-fips-gnutls.c b/egg/egg-fips-gnutls.c
|
||||
new file mode 100644
|
||||
index 00000000..c10ba312
|
||||
--- /dev/null
|
||||
+++ b/egg/egg-fips-gnutls.c
|
||||
@@ -0,0 +1,36 @@
|
||||
+/*
|
||||
+ * gcr
|
||||
+ *
|
||||
+ * Copyright (C) 2024 Red Hat, Inc.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU Lesser General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2.1 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#include "egg-fips.h"
|
||||
+
|
||||
+#include <gnutls/gnutls.h>
|
||||
+
|
||||
+EggFipsMode
|
||||
+egg_fips_get_mode (void)
|
||||
+{
|
||||
+ return gnutls_fips140_mode_enabled ();
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+egg_fips_set_mode (EggFipsMode mode)
|
||||
+{
|
||||
+ gnutls_fips140_set_mode (mode, GNUTLS_FIPS140_SET_MODE_THREAD);
|
||||
+}
|
||||
diff --git a/egg/egg-fips-libgcrypt.c b/egg/egg-fips-libgcrypt.c
|
||||
new file mode 100644
|
||||
index 00000000..ce43e9cb
|
||||
--- /dev/null
|
||||
+++ b/egg/egg-fips-libgcrypt.c
|
||||
@@ -0,0 +1,33 @@
|
||||
+/*
|
||||
+ * gcr
|
||||
+ *
|
||||
+ * Copyright (C) 2024 Red Hat, Inc.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU Lesser General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2.1 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "egg-fips.h"
|
||||
+
|
||||
+EggFipsMode
|
||||
+egg_fips_get_mode (void)
|
||||
+{
|
||||
+ return EGG_FIPS_MODE_DISABLED;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+egg_fips_set_mode (EggFipsMode mode)
|
||||
+{
|
||||
+ (void)mode;
|
||||
+}
|
||||
diff --git a/egg/egg-fips.h b/egg/egg-fips.h
|
||||
new file mode 100644
|
||||
index 00000000..b1e9175e
|
||||
--- /dev/null
|
||||
+++ b/egg/egg-fips.h
|
||||
@@ -0,0 +1,31 @@
|
||||
+/*
|
||||
+ * gcr
|
||||
+ *
|
||||
+ * Copyright (C) 2024 Red Hat, Inc.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU Lesser General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2.1 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#ifndef EGG_FIPS_H_
|
||||
+#define EGG_FIPS_H_
|
||||
+
|
||||
+typedef enum {
|
||||
+ EGG_FIPS_MODE_DISABLED = 0,
|
||||
+ /* Other values are specific to each backend */
|
||||
+} EggFipsMode;
|
||||
+
|
||||
+EggFipsMode egg_fips_get_mode (void);
|
||||
+void egg_fips_set_mode (EggFipsMode mode);
|
||||
+
|
||||
+#endif /* EGG_FIPS_H_ */
|
||||
diff --git a/egg/meson.build b/egg/meson.build
|
||||
index 4dc166e8..e2ad4d51 100644
|
||||
--- a/egg/meson.build
|
||||
+++ b/egg/meson.build
|
||||
@@ -23,6 +23,7 @@ if with_gcrypt
|
||||
libegg_sources += [
|
||||
'egg-crypto-libgcrypt.c',
|
||||
'egg-dh-libgcrypt.c',
|
||||
+ 'egg-fips-libgcrypt.c',
|
||||
'egg-hkdf-libgcrypt.c',
|
||||
'egg-libgcrypt.c',
|
||||
'egg-openssl.c',
|
||||
@@ -32,6 +33,7 @@ elif with_gnutls
|
||||
libegg_sources += [
|
||||
'egg-crypto-gnutls.c',
|
||||
'egg-dh-gnutls.c',
|
||||
+ 'egg-fips-gnutls.c',
|
||||
'egg-hkdf-gnutls.c',
|
||||
]
|
||||
endif
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From d9819c2b2198a7834c4c53ecde0413265aee079b Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@src.gnome.org>
|
||||
Date: Wed, 17 Jul 2024 00:00:44 +0900
|
||||
Subject: [PATCH 2/5] gcr: Skip non-compliant parser tests under FIPS
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
|
||||
---
|
||||
gcr/test-parser.c | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/gcr/test-parser.c b/gcr/test-parser.c
|
||||
index 90a8d10c..161a08d0 100644
|
||||
--- a/gcr/test-parser.c
|
||||
+++ b/gcr/test-parser.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "egg/egg-error.h"
|
||||
+#include "egg/egg-fips.h"
|
||||
#include "egg/egg-secure-memory.h"
|
||||
#include "egg/egg-testing.h"
|
||||
|
||||
@@ -334,6 +335,7 @@ main (int argc, char **argv)
|
||||
gchar *lower;
|
||||
gchar *test;
|
||||
int ret;
|
||||
+ EggFipsMode fips_mode;
|
||||
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
g_set_prgname ("test-parser");
|
||||
@@ -342,6 +344,8 @@ main (int argc, char **argv)
|
||||
dir = g_dir_open (SRCDIR "/gcr/fixtures", 0, &error);
|
||||
g_assert_no_error (error);
|
||||
|
||||
+ fips_mode = egg_fips_get_mode ();
|
||||
+
|
||||
for (;;) {
|
||||
filename = g_dir_read_name (dir);
|
||||
if (!filename)
|
||||
@@ -349,6 +353,23 @@ main (int argc, char **argv)
|
||||
if (filename[0] == '.')
|
||||
continue;
|
||||
|
||||
+ if (fips_mode &&
|
||||
+ (g_str_equal (filename, "der-key-PBE-MD5-DES.p8") ||
|
||||
+ g_str_equal (filename, "der-key-PBE-SHA1-3DES.p8") ||
|
||||
+ g_str_equal (filename, "der-key-PBE-SHA1-DES.p8") ||
|
||||
+ g_str_equal (filename, "der-key-PBE-SHA1-RC2-40.p8") ||
|
||||
+ g_str_equal (filename, "der-key-PBE-SHA1-RC4-128.p8") ||
|
||||
+ g_str_equal (filename, "der-key-encrypted-pkcs5.p8") ||
|
||||
+ g_str_equal (filename, "der-key-v2-des.p8") ||
|
||||
+ g_str_equal (filename, "der-key-v2-des3.p8") ||
|
||||
+ g_str_equal (filename, "email.p12") ||
|
||||
+ g_str_equal (filename, "pem-pkcs8.key") ||
|
||||
+ g_str_equal (filename, "pem-rsa-enc.key") ||
|
||||
+ g_str_equal (filename, "personal.p12") ||
|
||||
+ g_str_equal (filename, "unclient.p12") ||
|
||||
+ g_str_equal (filename, "usr0052-firefox.p12")))
|
||||
+ continue;
|
||||
+
|
||||
#ifdef WITH_GNUTLS
|
||||
#if GNUTLS_VERSION_NUMBER < 0x030805
|
||||
/* Not yet supported in GnuTLS */
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 41818b8cf054c9d33e295e30dec18d638f8ccc79 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@src.gnome.org>
|
||||
Date: Wed, 17 Jul 2024 00:01:55 +0900
|
||||
Subject: [PATCH 3/5] gcr: Tolerate non-approved DH parameter usage in FIPS
|
||||
mode
|
||||
|
||||
The GcrSecretExchange protocol uses a weak Diffie-Hellman parameters
|
||||
which are not approved by FIPS. While this is not ideal, the protocol
|
||||
is not designed as a general protection mechanism of data in transit,
|
||||
but just as a safety net against when the dbus-daemon (or dbus-broker)
|
||||
crashes and dumps a core, and thus bumping the protocol to use a
|
||||
larger DH group would be overkill.
|
||||
|
||||
This patch temporarily disables the FIPS check around the GnuTLS DH
|
||||
API calls to avoid errors.
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
|
||||
---
|
||||
gcr/gcr-secret-exchange.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcr/gcr-secret-exchange.c b/gcr/gcr-secret-exchange.c
|
||||
index 7c83ac13..943b2afe 100644
|
||||
--- a/gcr/gcr-secret-exchange.c
|
||||
+++ b/gcr/gcr-secret-exchange.c
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "egg/egg-crypto.h"
|
||||
#include "egg/egg-dh.h"
|
||||
+#include "egg/egg-fips.h"
|
||||
#include "egg/egg-hkdf.h"
|
||||
|
||||
#include "egg/egg-padding.h"
|
||||
@@ -597,6 +598,7 @@ gcr_secret_exchange_default_generate_exchange_key (GcrSecretExchange *exchange,
|
||||
{
|
||||
GcrSecretExchangeDefault *data = exchange->pv->default_exchange;
|
||||
GBytes *buffer;
|
||||
+ EggFipsMode fips_mode;
|
||||
|
||||
g_debug ("generating public key");
|
||||
|
||||
@@ -615,9 +617,14 @@ gcr_secret_exchange_default_generate_exchange_key (GcrSecretExchange *exchange,
|
||||
egg_dh_privkey_free (data->priv);
|
||||
data->priv = NULL;
|
||||
|
||||
+ fips_mode = egg_fips_get_mode ();
|
||||
+ egg_fips_set_mode (EGG_FIPS_MODE_DISABLED);
|
||||
if (!egg_dh_gen_pair (data->params, 0,
|
||||
- &data->pub, &data->priv))
|
||||
+ &data->pub, &data->priv)) {
|
||||
+ egg_fips_set_mode (fips_mode);
|
||||
g_return_val_if_reached (FALSE);
|
||||
+ }
|
||||
+ egg_fips_set_mode (fips_mode);
|
||||
|
||||
buffer = egg_dh_pubkey_export (data->pub);
|
||||
g_return_val_if_fail (buffer != NULL, FALSE);
|
||||
@@ -634,6 +641,7 @@ gcr_secret_exchange_default_derive_transport_key (GcrSecretExchange *exchange,
|
||||
GBytes *buffer;
|
||||
egg_dh_pubkey *peer_pubkey;
|
||||
GBytes *ikm;
|
||||
+ EggFipsMode fips_mode;
|
||||
|
||||
g_debug ("deriving transport key");
|
||||
|
||||
@@ -644,7 +652,10 @@ gcr_secret_exchange_default_derive_transport_key (GcrSecretExchange *exchange,
|
||||
g_bytes_unref (buffer);
|
||||
|
||||
/* Build up a key we can use */
|
||||
+ fips_mode = egg_fips_get_mode ();
|
||||
+ egg_fips_set_mode (EGG_FIPS_MODE_DISABLED);
|
||||
ikm = egg_dh_gen_secret (peer_pubkey, data->priv, data->params);
|
||||
+ egg_fips_set_mode (fips_mode);
|
||||
g_return_val_if_fail (ikm != NULL, FALSE);
|
||||
egg_dh_pubkey_free (peer_pubkey);
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From a1c2fc89a787e23d1dc023298023dc620e318dba Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@src.gnome.org>
|
||||
Date: Wed, 17 Jul 2024 09:51:31 +0900
|
||||
Subject: [PATCH 4/5] .gitlab-ci.yml: Call meson setup with -Dcrypto option
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
|
||||
---
|
||||
.gitlab-ci.yml | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index 7dc97393..49162969 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -23,7 +23,7 @@ fedora:Werror:
|
||||
- dnf upgrade -y --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-f69ecb0511
|
||||
- dnf builddep -y gcr
|
||||
script:
|
||||
- - meson setup _build -Dwerror=true -Dc_args=-Wno-error=deprecated-declarations -Dgtk_doc=false
|
||||
+ - meson setup _build -Dwerror=true -Dc_args=-Wno-error=deprecated-declarations -Dgtk_doc=false -Dcrypto=$CRYPTO
|
||||
- meson compile -C _build
|
||||
- dbus-run-session -- meson test -C _build
|
||||
artifacts:
|
||||
@@ -49,7 +49,7 @@ fedora:asan:
|
||||
- dnf upgrade -y --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-f69ecb0511
|
||||
- dnf builddep -y gcr
|
||||
script:
|
||||
- - meson setup _build -Db_sanitize=address -Dgtk_doc=false
|
||||
+ - meson setup _build -Db_sanitize=address -Dgtk_doc=false -Dcrypto=$CRYPTO
|
||||
- export G_SLICE=always-malloc G_DEBUG=gc-friendly ASAN_OPTIONS=abort_on_error=1:fast_unwind_on_malloc=0
|
||||
- dbus-run-session -- meson test -C _build
|
||||
allow_failure: true
|
||||
@@ -74,7 +74,7 @@ fedora:ubsan:
|
||||
- dnf upgrade -y --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-f69ecb0511
|
||||
- dnf builddep -y gcr
|
||||
script:
|
||||
- - meson setup _build -Db_sanitize=undefined -Dgtk_doc=false
|
||||
+ - meson setup _build -Db_sanitize=undefined -Dgtk_doc=false -Dcrypto=$CRYPTO
|
||||
- dbus-run-session -- meson test -C _build
|
||||
artifacts:
|
||||
name: "gcr-ubsan-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From e4f4bd8024642b3c1b0f932abc6bba2bd19be80f Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@src.gnome.org>
|
||||
Date: Wed, 17 Jul 2024 10:15:57 +0900
|
||||
Subject: [PATCH 5/5] .gitlab-ci.yml: Exercise -Dcrypto=gnutls build in FIPS
|
||||
mode
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
|
||||
---
|
||||
.gitlab-ci.yml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index 49162969..d1112e5e 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -10,6 +10,7 @@ variables:
|
||||
matrix:
|
||||
- CRYPTO: libgcrypt
|
||||
- CRYPTO: gnutls
|
||||
+ GNUTLS_FORCE_FIPS_MODE: [0, 1]
|
||||
|
||||
fedora:Werror:
|
||||
image: fedora:latest
|
||||
--
|
||||
GitLab
|
||||
|
272
gcr.spec
272
gcr.spec
@ -3,31 +3,46 @@
|
||||
%endif
|
||||
|
||||
Name: gcr
|
||||
Version: 3.28.0
|
||||
Version: 4.3.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A library for bits of crypto UI and parsing
|
||||
|
||||
License: LGPLv2+
|
||||
URL: https://wiki.gnome.org/Projects/CryptoGlue
|
||||
Source0: https://download.gnome.org/sources/%{name}/3.28/%{name}-%{version}.tar.xz
|
||||
# gck/pkcs11n.h is MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
# gck/pkcs11x.h is FSFULLRWD
|
||||
# ui/icons/render-icons.py is LGPL-3.0-or-later OR CC-BY-SA-3.0
|
||||
# docs/COPYING is GCR-docs
|
||||
License: LGPL-2.1-or-later AND FSFULLRWD AND (LGPL-3.0-or-later OR CC-BY-SA-3.0) AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND GCR-docs
|
||||
URL: https://gitlab.gnome.org/GNOME/gcr
|
||||
Source0: https://download.gnome.org/sources/%{name}/4.1/%{name}-%{version}.tar.xz
|
||||
# https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/145
|
||||
Patch0: gcr-4.3.0-fips.patch
|
||||
|
||||
BuildRequires: gettext
|
||||
BuildRequires: meson
|
||||
BuildRequires: pkgconfig(gi-docgen)
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: pkgconfig(gnutls)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(libsecret-1)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(p11-kit-1)
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: docbook-style-xsl
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: intltool
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: vala
|
||||
%if 0%{?has_valgrind}
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
BuildRequires: /usr/bin/gpg2
|
||||
BuildRequires: /usr/bin/valac
|
||||
BuildRequires: /usr/bin/ssh-add
|
||||
BuildRequires: /usr/bin/ssh-agent
|
||||
BuildRequires: /usr/bin/xsltproc
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: /usr/bin/gpg2
|
||||
Requires: /usr/bin/ssh-add
|
||||
Requires: /usr/bin/ssh-agent
|
||||
|
||||
%description
|
||||
gcr is a library for displaying certificates, and crypto UI, accessing
|
||||
key stores. It also provides a viewer for crypto files on the GNOME
|
||||
@ -35,85 +50,200 @@ desktop.
|
||||
|
||||
gck is a library for accessing PKCS#11 modules like smart cards.
|
||||
|
||||
%package libs
|
||||
Summary: gcr and gck libraries
|
||||
# Renamed in F37
|
||||
Obsoletes: %{name}-base < 3.92.0-1
|
||||
Provides: %{name}-base = %{version}-%{release}
|
||||
Provides: %{name}-base%{?_isa} = %{version}-%{release}
|
||||
# Dropped in F37
|
||||
Obsoletes: %{name}-gtk3 < 3.92.0-1
|
||||
Obsoletes: %{name}-gtk4 < 3.92.0-1
|
||||
|
||||
%description libs
|
||||
The %{name}-libs package contains the gcr and gck shared libraries.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for gcr
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
# Dropped in F37
|
||||
Obsoletes: %{name}-gtk3-devel < 3.92.0-1
|
||||
Obsoletes: %{name}-gtk4-devel < 3.92.0-1
|
||||
|
||||
%description devel
|
||||
The gcr-devel package includes the header files for the gcr library.
|
||||
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
# Use system valgrind headers instead
|
||||
%if 0%{?has_valgrind}
|
||||
rm -rf build/valgrind/
|
||||
%endif
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%configure --enable-introspection
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%meson -Dcrypto=gnutls
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libmock-test-module.*
|
||||
%find_lang %{name}
|
||||
%meson_install
|
||||
%find_lang gcr-4
|
||||
|
||||
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/lib*.so.*
|
||||
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gcr-viewer
|
||||
chrpath --delete $RPM_BUILD_ROOT%{_libexecdir}/gcr-prompter
|
||||
%post
|
||||
%systemd_user_post gcr-ssh-agent.service
|
||||
|
||||
%preun
|
||||
%systemd_user_preun gcr-ssh-agent.service
|
||||
|
||||
%check
|
||||
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/gcr-viewer.desktop
|
||||
%postun
|
||||
%systemd_user_postun_with_restart gcr-ssh-agent.service
|
||||
|
||||
%files
|
||||
%doc NEWS README.md
|
||||
%{_bindir}/gcr-viewer-gtk4
|
||||
%{_libexecdir}/gcr-ssh-agent
|
||||
%{_libexecdir}/gcr4-ssh-askpass
|
||||
%{_userunitdir}/gcr-ssh-agent.service
|
||||
%{_userunitdir}/gcr-ssh-agent.socket
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc README NEWS
|
||||
%files libs -f gcr-4.lang
|
||||
%license COPYING
|
||||
%{_bindir}/gcr-viewer
|
||||
%{_datadir}/applications/gcr-viewer.desktop
|
||||
%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
|
||||
%{_libdir}/girepository-1.0
|
||||
%{_libdir}/libgck-1.so.*
|
||||
%{_libdir}/libgcr-3.so.*
|
||||
%{_libdir}/libgcr-base-3.so.*
|
||||
%{_libdir}/libgcr-ui-3.so.*
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_datadir}/mime/packages/gcr-crypto-types.xml
|
||||
%{_libexecdir}/gcr-prompter
|
||||
%{_libexecdir}/gcr-ssh-askpass
|
||||
%{_datadir}/dbus-1/services/org.gnome.keyring.PrivatePrompter.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.keyring.SystemPrompter.service
|
||||
%{_datadir}/applications/gcr-prompter.desktop
|
||||
%dir %{_libdir}/girepository-1.0
|
||||
%{_libdir}/girepository-1.0/Gck-2.typelib
|
||||
%{_libdir}/girepository-1.0/Gcr-4.typelib
|
||||
%{_libdir}/libgck-2.so.2*
|
||||
%{_libdir}/libgcr-4.so.4*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/gck-1
|
||||
%{_includedir}/gcr-3
|
||||
%{_libdir}/libgck-1.so
|
||||
%{_libdir}/libgcr-3.so
|
||||
%{_libdir}/libgcr-base-3.so
|
||||
%{_libdir}/libgcr-ui-3.so
|
||||
%{_libdir}/pkgconfig/gck-1.pc
|
||||
%{_libdir}/pkgconfig/gcr-3.pc
|
||||
%{_libdir}/pkgconfig/gcr-base-3.pc
|
||||
%{_libdir}/pkgconfig/gcr-ui-3.pc
|
||||
%{_datadir}/gir-1.0
|
||||
%dir %{_datadir}/gtk-doc
|
||||
%dir %{_datadir}/gtk-doc/html
|
||||
%{_datadir}/gtk-doc/html/gck
|
||||
%{_datadir}/gtk-doc/html/gcr-3
|
||||
%{_datadir}/vala/
|
||||
|
||||
%{_includedir}/gck-2/
|
||||
%{_includedir}/gcr-4/
|
||||
%{_libdir}/libgck-2.so
|
||||
%{_libdir}/libgcr-4.so
|
||||
%{_libdir}/pkgconfig/gck-2.pc
|
||||
%{_libdir}/pkgconfig/gcr-4.pc
|
||||
%dir %{_datadir}/gir-1.0
|
||||
%{_datadir}/gir-1.0/Gck-2.gir
|
||||
%{_datadir}/gir-1.0/Gcr-4.gir
|
||||
%dir %{_datadir}/vala
|
||||
%dir %{_datadir}/vala/vapi
|
||||
%{_datadir}/vala/vapi/gck-2.deps
|
||||
%{_datadir}/vala/vapi/gck-2.vapi
|
||||
%{_datadir}/vala/vapi/gcr-4.deps
|
||||
%{_datadir}/vala/vapi/gcr-4.vapi
|
||||
%doc %{_datadir}/doc/gck-2/
|
||||
%doc %{_datadir}/doc/gcr-4/
|
||||
|
||||
%changelog
|
||||
* Tue Nov 19 2024 David King <amigadave@amigadave.com> - 4.3.0-1
|
||||
- Use gnutls instead of gcrypt (RHEL-49434)
|
||||
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 4.1.0-6
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 4.1.0-5
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Mon Jun 19 2023 Kalev Lember <klember@redhat.com> - 4.1.0-1
|
||||
- Update to 4.1.0
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.92.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Sep 26 2022 Kalev Lember <klember@redhat.com> - 3.92.0-1
|
||||
- Update to 3.92.0
|
||||
- Remove gtk3 and gtk4 subpackages as the gcr gtk3 and gtk4 libraries are gone
|
||||
- Rename gcr-base to gcr-libs
|
||||
- Fix gir and vala directory ownership
|
||||
- Misc packaging cleanup
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.90.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2022 Milan Crha <mcrha@redhat.com> - 3.90.0-1
|
||||
- Update to 3.90.0
|
||||
- Split subpackages for gtk3 and gtk4
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.41.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Sep 30 2021 Kalev Lember <klember@redhat.com> - 3.41.0-1
|
||||
- Update to 3.41.0
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.40.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Sat Mar 27 2021 Kalev Lember <klember@redhat.com> - 3.40.0-1
|
||||
- Update to 3.40.0
|
||||
- Tighten soname globs
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.38.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Jan 16 2021 Kalev Lember <klember@redhat.com> - 3.38.1-1
|
||||
- Update to 3.38.1
|
||||
|
||||
* Mon Sep 28 2020 Kalev Lember <klember@redhat.com> - 3.38.0-2
|
||||
- Avoid BuildRequiring vala twice
|
||||
|
||||
* Mon Sep 28 2020 Kalev Lember <klember@redhat.com> - 3.38.0-1
|
||||
- Update to 3.38.0
|
||||
|
||||
* Sun Sep 20 2020 Kalev Lember <klember@redhat.com> - 3.37.91-1
|
||||
- Update to 3.37.91
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.36.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Mar 11 2020 Kalev Lember <klember@redhat.com> - 3.36.0-1
|
||||
- Update to 3.36.0
|
||||
|
||||
* Tue Feb 18 2020 Kalev Lember <klember@redhat.com> - 3.35.91-1
|
||||
- Update to 3.35.91
|
||||
|
||||
* Mon Feb 03 2020 Kalev Lember <klember@redhat.com> - 3.35.90-1
|
||||
- Update to 3.35.90
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.35.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Jan 20 2020 Kalev Lember <klember@redhat.com> - 3.35.1-1
|
||||
- Update to 3.35.1
|
||||
- Switch to the meson build system
|
||||
|
||||
* Mon Oct 14 2019 Kalev Lember <klember@redhat.com> - 3.34.0-1
|
||||
- Update to 3.34.0
|
||||
|
||||
* Mon Aug 19 2019 Kalev Lember <klember@redhat.com> - 3.33.4-1
|
||||
- Update to 3.33.4
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Jun 02 2019 Dan Horák <dan[at]danny.cz> - 3.28.1-4
|
||||
- fix gcr-prompter crash (rhbz#1631759)
|
||||
|
||||
* Thu Apr 11 2019 Fabiano Fidêncio <fidencio@redhat.com> - 3.28.1-3
|
||||
- Split gcr-base into a new package
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Jan 21 2019 Kalev Lember <klember@redhat.com> - 3.28.1-1
|
||||
- Update to 3.28.1
|
||||
|
||||
* Fri Jan 04 2019 Kalev Lember <klember@redhat.com> - 3.28.0-3
|
||||
- Backport a patch to fix gnome-shell crashes with glib 2.59
|
||||
- Use make_build and make_install macros
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Mar 12 2018 Kalev Lember <klember@redhat.com> - 3.28.0-1
|
||||
- Update to 3.28.0
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gcr-3.28.0.tar.xz) = 8d5e650cb369fa889b0adfdc1dc1cb5f8b184881256e6c0a2ed456074a54ceb61d64c0929c093bec66c0d5a15c1718f6e3736a1b25b6d7076081df93b49419e0
|
||||
SHA512 (gcr-4.3.0.tar.xz) = 3f252de55e07d47a49c03b714e323ceb00d82e010fe1bb606073e3188bf8bef84359a322ed6fe843620fa5d108e825dd7e9a60136c8a0e802b8f2178aa87b164
|
||||
|
Loading…
Reference in New Issue
Block a user