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-*.tar.xz
|
||||||
/gcr-3.28.0.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
|
||||||
|
|
274
gcr.spec
274
gcr.spec
@ -3,31 +3,46 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: gcr
|
Name: gcr
|
||||||
Version: 3.28.0
|
Version: 4.3.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A library for bits of crypto UI and parsing
|
Summary: A library for bits of crypto UI and parsing
|
||||||
|
|
||||||
License: LGPLv2+
|
# gck/pkcs11n.h is MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
URL: https://wiki.gnome.org/Projects/CryptoGlue
|
# gck/pkcs11x.h is FSFULLRWD
|
||||||
Source0: https://download.gnome.org/sources/%{name}/3.28/%{name}-%{version}.tar.xz
|
# 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(gio-unix-2.0)
|
||||||
|
BuildRequires: pkgconfig(gnutls)
|
||||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
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: pkgconfig(p11-kit-1)
|
||||||
BuildRequires: chrpath
|
BuildRequires: pkgconfig(systemd)
|
||||||
BuildRequires: docbook-style-xsl
|
BuildRequires: systemd-rpm-macros
|
||||||
BuildRequires: libgcrypt-devel
|
|
||||||
BuildRequires: desktop-file-utils
|
|
||||||
BuildRequires: intltool
|
|
||||||
BuildRequires: vala
|
BuildRequires: vala
|
||||||
%if 0%{?has_valgrind}
|
%if 0%{?has_valgrind}
|
||||||
BuildRequires: valgrind-devel
|
BuildRequires: valgrind-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: /usr/bin/gpg2
|
BuildRequires: /usr/bin/gpg2
|
||||||
BuildRequires: /usr/bin/valac
|
BuildRequires: /usr/bin/ssh-add
|
||||||
|
BuildRequires: /usr/bin/ssh-agent
|
||||||
BuildRequires: /usr/bin/xsltproc
|
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
|
%description
|
||||||
gcr is a library for displaying certificates, and crypto UI, accessing
|
gcr is a library for displaying certificates, and crypto UI, accessing
|
||||||
key stores. It also provides a viewer for crypto files on the GNOME
|
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.
|
gck is a library for accessing PKCS#11 modules like smart cards.
|
||||||
|
|
||||||
%package devel
|
%package libs
|
||||||
Summary: Development files for gcr
|
Summary: gcr and gck libraries
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
# 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 devel
|
%description libs
|
||||||
The gcr-devel package includes the header files for the gcr library.
|
The %{name}-libs package contains the gcr and gck shared libraries.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
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 %{name}-devel package contains libraries and header files for
|
||||||
|
developing applications that use %{name}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
|
|
||||||
# Use system valgrind headers instead
|
|
||||||
%if 0%{?has_valgrind}
|
|
||||||
rm -rf build/valgrind/
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --enable-introspection
|
%meson -Dcrypto=gnutls
|
||||||
make %{?_smp_mflags}
|
%meson_build
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
%meson_install
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
%find_lang gcr-4
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libmock-test-module.*
|
|
||||||
%find_lang %{name}
|
|
||||||
|
|
||||||
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/lib*.so.*
|
%post
|
||||||
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gcr-viewer
|
%systemd_user_post gcr-ssh-agent.service
|
||||||
chrpath --delete $RPM_BUILD_ROOT%{_libexecdir}/gcr-prompter
|
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_user_preun gcr-ssh-agent.service
|
||||||
|
|
||||||
%check
|
%postun
|
||||||
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/gcr-viewer.desktop
|
%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
|
%files libs -f gcr-4.lang
|
||||||
%doc README NEWS
|
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%{_bindir}/gcr-viewer
|
%dir %{_libdir}/girepository-1.0
|
||||||
%{_datadir}/applications/gcr-viewer.desktop
|
%{_libdir}/girepository-1.0/Gck-2.typelib
|
||||||
%dir %{_datadir}/GConf
|
%{_libdir}/girepository-1.0/Gcr-4.typelib
|
||||||
%dir %{_datadir}/GConf/gsettings
|
%{_libdir}/libgck-2.so.2*
|
||||||
%{_datadir}/GConf/gsettings/org.gnome.crypto.pgp.convert
|
%{_libdir}/libgcr-4.so.4*
|
||||||
%{_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
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/gck-1
|
%{_includedir}/gck-2/
|
||||||
%{_includedir}/gcr-3
|
%{_includedir}/gcr-4/
|
||||||
%{_libdir}/libgck-1.so
|
%{_libdir}/libgck-2.so
|
||||||
%{_libdir}/libgcr-3.so
|
%{_libdir}/libgcr-4.so
|
||||||
%{_libdir}/libgcr-base-3.so
|
%{_libdir}/pkgconfig/gck-2.pc
|
||||||
%{_libdir}/libgcr-ui-3.so
|
%{_libdir}/pkgconfig/gcr-4.pc
|
||||||
%{_libdir}/pkgconfig/gck-1.pc
|
%dir %{_datadir}/gir-1.0
|
||||||
%{_libdir}/pkgconfig/gcr-3.pc
|
%{_datadir}/gir-1.0/Gck-2.gir
|
||||||
%{_libdir}/pkgconfig/gcr-base-3.pc
|
%{_datadir}/gir-1.0/Gcr-4.gir
|
||||||
%{_libdir}/pkgconfig/gcr-ui-3.pc
|
%dir %{_datadir}/vala
|
||||||
%{_datadir}/gir-1.0
|
%dir %{_datadir}/vala/vapi
|
||||||
%dir %{_datadir}/gtk-doc
|
%{_datadir}/vala/vapi/gck-2.deps
|
||||||
%dir %{_datadir}/gtk-doc/html
|
%{_datadir}/vala/vapi/gck-2.vapi
|
||||||
%{_datadir}/gtk-doc/html/gck
|
%{_datadir}/vala/vapi/gcr-4.deps
|
||||||
%{_datadir}/gtk-doc/html/gcr-3
|
%{_datadir}/vala/vapi/gcr-4.vapi
|
||||||
%{_datadir}/vala/
|
%doc %{_datadir}/doc/gck-2/
|
||||||
|
%doc %{_datadir}/doc/gcr-4/
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Mar 12 2018 Kalev Lember <klember@redhat.com> - 3.28.0-1
|
||||||
- Update to 3.28.0
|
- 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