diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch deleted file mode 100644 index c3c3050924..0000000000 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 647f3d946ec3fe4800b2bec89371f85a1a4b15cf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -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 - ---- - 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 diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-meson-allow-setting-the-paths-to-ssh-agent-and-ssh-add-by-option.patch b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-meson-allow-setting-the-paths-to-ssh-agent-and-ssh-add-by-option.patch new file mode 100644 index 0000000000..270fda75e0 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-meson-allow-setting-the-paths-to-ssh-agent-and-ssh-add-by-option.patch @@ -0,0 +1,77 @@ +From ed91fc1a7fabd32055442204291db39bb73a603e Mon Sep 17 00:00:00 2001 +From: Markus Volk +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 + diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch deleted file mode 100644 index 050b87ab24..0000000000 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/musl.patch +++ /dev/null @@ -1,17 +0,0 @@ -include sys/select.h for FD_* macros - -Signed-off-by: Khem Raj -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 - #include - #include -+#include - - #include - #include diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.2.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.2.bb deleted file mode 100644 index fcff02a4b3..0000000000 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.2.bb +++ /dev/null @@ -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" diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_50.0.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_50.0.bb new file mode 100644 index 0000000000..215397ffd3 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_50.0.bb @@ -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"