deleted file mode 100644
@@ -1,40 +0,0 @@
-From 647f3d946ec3fe4800b2bec89371f85a1a4b15cf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 23 May 2019 23:44:06 +0200
-Subject: [PATCH] Set paths to ssh-agent and ssh-add by configure options
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We have no executables in our sysroot so configuration won't find them.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
----
- configure.ac | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f4f793c..5194e5d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -356,8 +356,15 @@ if test "$enable_ssh_agent" = "no"; then
- SSH_AGENT=false
- SSH_ADD=false
- else
-- AC_PATH_PROG([SSH_AGENT], [ssh-agent], [no])
-- AC_PATH_PROG([SSH_ADD], [ssh-add], [no])
-+ AC_ARG_WITH([ssh-agent-path],
-+ [AC_HELP_STRING([--with-ssh-agent-path=PATH],
-+ [path to ssh-agent])],
-+ [SSH_AGENT=$with_ssh_agent_path], [SSH_AGENT=no])
-+ AC_ARG_WITH([ssh-add-path],
-+ [AC_HELP_STRING([--with-ssh-add-path=PATH],
-+ [path to ssh-add])],
-+ [SSH_ADD=$with_ssh_add_path], [SSH_ADD=no])
-+
- if test "$SSH_AGENT" = "no" -o "$SSH_ADD" = "no"; then
- AC_MSG_ERROR([the ssh-agent and ssh-add commands were not found])
- else
new file mode 100644
@@ -0,0 +1,77 @@
+From ed91fc1a7fabd32055442204291db39bb73a603e Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 7 Sep 2026 09:20:06 +0200
+Subject: [PATCH] meson: allow setting the paths to ssh-agent and ssh-add by
+ option
+
+When cross compiling there are no target executables in the sysroot, so
+find_program() cannot locate ssh-agent and ssh-add although they will be
+available at runtime. Add string options that take the paths directly
+and fall back to the lookup when they are not set.
+
+Upstream-Status: Inappropriate [OE specific]
+
+AI-Generated: Uses Claude Code (Claude Fable 5.1)
+---
+ meson.build | 14 ++++++++++----
+ meson_options.txt | 12 ++++++++++++
+ 2 files changed, 22 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 001ed81..10e8f9a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -48,8 +48,14 @@ if libsystemd_dep.found()
+ endif
+
+ if get_option('ssh-agent')
+- ssh_agent_bin = find_program('ssh-agent')
+- ssh_add_bin = find_program('ssh-add')
++ ssh_agent_path = get_option('ssh-agent-path')
++ if ssh_agent_path == ''
++ ssh_agent_path = find_program('ssh-agent').full_path()
++ endif
++ ssh_add_path = get_option('ssh-add-path')
++ if ssh_add_path == ''
++ ssh_add_path = find_program('ssh-add').full_path()
++ endif
+ endif
+
+ if get_option('pam')
+@@ -97,8 +103,8 @@ conf.set('WITH_SELINUX', libselinux_dep.found())
+ conf.set('WITH_SYSTEMD', libsystemd_dep.found())
+ if get_option('ssh-agent')
+ conf.set('WITH_SSH', true)
+- conf.set_quoted('SSH_AGENT', ssh_agent_bin.full_path())
+- conf.set_quoted('SSH_ADD', ssh_add_bin.full_path())
++ conf.set_quoted('SSH_AGENT', ssh_agent_path)
++ conf.set_quoted('SSH_ADD', ssh_add_path)
+ endif
+ conf.set('DOTLOCK_USE_PTHREAD', true)
+ conf.set('DOTLOCK_GLIB_LOGGING', true)
+diff --git a/meson_options.txt b/meson_options.txt
+index 55d9a3f..ed860fb 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -10,6 +10,18 @@ option('ssh-agent',
+ description: 'Include SSH agent in gnome-keyring',
+ )
+
++option('ssh-agent-path',
++ type: 'string',
++ value: '',
++ description: 'Path to the ssh-agent binary (skips the build time lookup)',
++)
++
++option('ssh-add-path',
++ type: 'string',
++ value: '',
++ description: 'Path to the ssh-add binary (skips the build time lookup)',
++)
++
+ option('selinux',
+ type: 'feature',
+ value: 'auto',
+--
+2.55.0
+
deleted file mode 100644
@@ -1,17 +0,0 @@
-include sys/select.h for FD_* macros
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: gnome-keyring-2.32.1/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
-===================================================================
---- gnome-keyring-2.32.1.orig/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
-+++ gnome-keyring-2.32.1/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c
-@@ -32,6 +32,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <sys/select.h>
-
- #include <dlfcn.h>
- #include <pthread.h>
deleted file mode 100644
@@ -1,53 +0,0 @@
-SUMMARY = "Password and keyring managing daemon"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome"
-
-LICENSE = "GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-CVE_PRODUCT = "gnome-keyring gnome_keyring"
-
-DEPENDS = " \
- glib-2.0-native \
- gtk+3 \
- gcr3 \
- libgcrypt \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
-"
-
-GNOMEBASEBUILDCLASS = "autotools"
-inherit gnomebase gsettings features_check gettext
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI[archive.sha256sum] = "bf26c966b8a8b7f3285ecc8bb3e467b9c20f9535b94dc451c9c559ddcff61925"
-SRC_URI += " \
- file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \
- file://musl.patch \
-"
-
-PACKAGECONFIG ??= "ssh-agent"
-PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent --with-ssh-agent-path=${bindir}/ssh-agent --with-ssh-add-path=${bindir}/ssh-add,--disable-ssh-agent,,openssh-misc"
-
-EXTRA_OECONF = " \
- --disable-doc \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \
-"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1/services \
- ${datadir}/p11-kit \
- ${datadir}/xdg-desktop-portal \
- ${base_libdir}/security/*${SOLIBSDEV} \
- ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
- ${systemd_user_unitdir} \
-"
-# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used
-pkg_postinst:${PN} () {
- setcap cap_ipc_lock+ep $D/${bindir}/gnome-keyring-daemon
-}
-PACKAGE_WRITE_DEPS += "libcap-native"
new file mode 100644
@@ -0,0 +1,55 @@
+SUMMARY = "Password and keyring managing daemon"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+CVE_PRODUCT = "gnome-keyring gnome_keyring"
+
+DEPENDS = " \
+ glib-2.0-native \
+ gcr3 \
+ libgcrypt \
+ p11-kit \
+"
+
+inherit gnomebase gsettings gettext
+
+SRC_URI[archive.sha256sum] = "cbd72062c53c9702bc2c4733991ad5f051ca682882b30905a2829bcf1a8ecc7c"
+SRC_URI += "file://0001-meson-allow-setting-the-paths-to-ssh-agent-and-ssh-add-by-option.patch"
+
+PACKAGECONFIG ??= " \
+ libcap-ng \
+ ssh-agent \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam selinux systemd', d)} \
+"
+PACKAGECONFIG[libcap-ng] = "-Dlibcap-ng=enabled,-Dlibcap-ng=disabled,libcap-ng"
+PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
+PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
+PACKAGECONFIG[ssh-agent] = "-Dssh-agent=true -Dssh-agent-path=${bindir}/ssh-agent -Dssh-add-path=${bindir}/ssh-add,-Dssh-agent=false,,openssh-misc"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+
+EXTRA_OEMESON = " \
+ -Dmanpage=false \
+ -Dpkcs11-config=${datadir}/p11-kit/modules \
+ -Dpkcs11-modules=${libdir}/pkcs11 \
+"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1/services \
+ ${datadir}/p11-kit \
+ ${datadir}/xdg-desktop-portal \
+ ${libdir}/security/*${SOLIBSDEV} \
+ ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
+ ${systemd_user_unitdir} \
+"
+# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used
+pkg_postinst:${PN} () {
+ setcap cap_ipc_lock+ep $D/${bindir}/gnome-keyring-daemon
+}
+PACKAGE_WRITE_DEPS += "libcap-native"
gnome-keyring switched from autotools to meson in 48.alpha, so the recipe is converted to the gnomebase meson default. The configure.ac patch for the ssh-agent and ssh-add paths is replaced by an equivalent meson patch that adds ssh-agent-path and ssh-add-path options, because find_program() cannot locate target executables in the sysroot. The musl patch is dropped, sys/select.h is included upstream since 48. Other changes: - gcr-ui-3 is no longer used, so the gtk+3 dependency and the GTK3DISTROFEATURES check go away. - libcap-ng, pam, selinux and systemd are now explicit PACKAGECONFIGs instead of being auto-detected from whatever is in the sysroot. libcap-ng was picked up implicitly before and stays enabled. - The PKCS#11 module and config directories are passed explicitly instead of being read from the p11-kit pkg-config file. - Man pages need xsltproc and docbook and are disabled like the docs were before. Build tested on corei7-64, the packaged file list is unchanged. AI-Generated: Uses Claude Code (Claude Fable 5.1) Signed-off-by: Markus Volk <f_l_k@t-online.de> --- ...-agent-and-ssh-add-by-configure-opti.patch | 40 ---------- ...s-to-ssh-agent-and-ssh-add-by-option.patch | 77 +++++++++++++++++++ .../gnome-keyring/gnome-keyring/musl.patch | 17 ---- .../gnome-keyring/gnome-keyring_46.2.bb | 53 ------------- .../gnome-keyring/gnome-keyring_50.0.bb | 55 +++++++++++++ 5 files changed, 132 insertions(+), 110 deletions(-) delete mode 100644 meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch create mode 100644 meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-meson-allow-setting-the-paths-to-ssh-agent-and-ssh-add-by-option.patch delete mode 100644 meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch delete mode 100644 meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.2.bb create mode 100644 meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_50.0.bb