mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-17 06:57:11 +00:00
gnome-keyring: upgrade 46.2 -> 50.0
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> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
1 parent
1c4c37d21a
commit
7451030873
5 files changed
+132
-110
No files matched your search
-40
@@ -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
|
||||
+77
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user