commit:     21a3d73928584f42f4e8dbf13a9d4e1f1e316945
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  7 01:21:45 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep  7 01:21:45 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21a3d739

app-crypt/gcr: test fixes for 3.41.2

* Fix tests with LTO (or possibly some other optimisations, seems like
  it sort of worked by chance before as a library got linked twice)

* Fix tests w/ new openssh

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-crypt/gcr/files/3.41.2-lto-tests.patch       | 12 +++++++
 app-crypt/gcr/files/3.41.2-ssh-agent-tests.patch | 46 ++++++++++++++++++++++++
 app-crypt/gcr/gcr-3.41.2-r1.ebuild               |  2 ++
 3 files changed, 60 insertions(+)

diff --git a/app-crypt/gcr/files/3.41.2-lto-tests.patch 
b/app-crypt/gcr/files/3.41.2-lto-tests.patch
new file mode 100644
index 000000000000..9f232afd617c
--- /dev/null
+++ b/app-crypt/gcr/files/3.41.2-lto-tests.patch
@@ -0,0 +1,12 @@
+https://gitlab.gnome.org/GNOME/gcr/-/issues/43
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -199,7 +199,7 @@ foreach _test : gck_test_names
+   gck_test_bin = executable(_test_name,
+     '@[email protected]'.format(_test_name),
+     link_with: [ gck_test_lib, egg_test_lib ],
+-    dependencies: [ gck_deps, gck_testable_dep ],
++    dependencies: [ glib_deps, p11kit_dep, gck_testable_dep ],
+     c_args: gck_cflags + gck_test_cflags,
+     include_directories: config_h_dir,
+   )

diff --git a/app-crypt/gcr/files/3.41.2-ssh-agent-tests.patch 
b/app-crypt/gcr/files/3.41.2-ssh-agent-tests.patch
new file mode 100644
index 000000000000..8f533a11d434
--- /dev/null
+++ b/app-crypt/gcr/files/3.41.2-ssh-agent-tests.patch
@@ -0,0 +1,46 @@
+https://gitlab.gnome.org/GNOME/gcr/-/commit/d86fafecd560ca53a3bd211fdf5155fa5635e236
+
+From d86fafecd560ca53a3bd211fdf5155fa5635e236 Mon Sep 17 00:00:00 2001
+From: Niels De Graef <[email protected]>
+Date: Wed, 8 Jan 2025 22:15:53 +0100
+Subject: [PATCH] ssh-agent: Request rsa-sha2-256 in tests
+
+Newer versions of OpenSSH decline providing a SHA1 signature since it's
+deemed unsafe. Our tests were failing because it's the default for a
+sign request, unless you specify some flags to say otherwise.o
+
+Fixes: https://gitlab.gnome.org/GNOME/gcr/-/issues/128
+(cherry picked from commit 039f2ce469c2e238771815a0ebafbc8b660c2870)
+---
+ gcr/gcr-ssh-agent-test.c    | 2 +-
+ gcr/test-ssh-agent-common.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcr/gcr-ssh-agent-test.c b/gcr/gcr-ssh-agent-test.c
+index 6196e8f1..b23ebb3e 100644
+--- a/gcr/gcr-ssh-agent-test.c
++++ b/gcr/gcr-ssh-agent-test.c
+@@ -302,7 +302,7 @@ prepare_sign_request (EggBuffer *req)
+       ret = egg_buffer_add_string (req, "data");
+       g_assert_true (ret);
+ 
+-      ret = egg_buffer_add_uint32 (req, 0);
++      ret = egg_buffer_add_uint32 (req, GCR_SSH_FLAG_RSA_SHA2_256);
+       g_assert_true (ret);
+ 
+       ret = egg_buffer_set_uint32 (req, 0, req->len - 4);
+diff --git a/gcr/test-ssh-agent-common.c b/gcr/test-ssh-agent-common.c
+index bc17a776..f811a8e1 100644
+--- a/gcr/test-ssh-agent-common.c
++++ b/gcr/test-ssh-agent-common.c
+@@ -302,7 +302,7 @@ prepare_sign_request (EggBuffer *req)
+       ret = egg_buffer_add_string (req, "data");
+       g_assert_true (ret);
+ 
+-      ret = egg_buffer_add_uint32 (req, 0);
++      ret = egg_buffer_add_uint32 (req, GCR_SSH_FLAG_RSA_SHA2_256);
+       g_assert_true (ret);
+ 
+       ret = egg_buffer_set_uint32 (req, 0, req->len - 4);
+-- 
+GitLab

diff --git a/app-crypt/gcr/gcr-3.41.2-r1.ebuild 
b/app-crypt/gcr/gcr-3.41.2-r1.ebuild
index 9af36b150ffe..f10bdab06126 100644
--- a/app-crypt/gcr/gcr-3.41.2-r1.ebuild
+++ b/app-crypt/gcr/gcr-3.41.2-r1.ebuild
@@ -48,6 +48,8 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}"/3.38.0-optional-vapi.patch
        "${FILESDIR}"/3.41.1-implicit-func-decl.patch
+       "${FILESDIR}"/3.41.2-lto-tests.patch
+       "${FILESDIR}"/3.41.2-ssh-agent-tests.patch
 )
 
 pkg_setup() {

Reply via email to