mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 12:46:35 +00:00
gvfs: obviate the ssh-client requirement for gvfs
The gvfs project meson configuration attempts to locate and resolve the path to an ssh-client on the build host, then pass that full-path to the gvfs sftp-backend as a constant string, to be used at runtime to fork ssh subprocesses. As a consequence, if the build machine's ssh client path differs from the gvfs target's path - as is common for OE/buildroot builds - gvfs can fail at runtime. Further, build machines cannot configure gvfs without an ssh client, even though nothing *uses* the client during the build. The .patch in this commit has been upstreamed with gvfs, and modifies the configuration to instead pass the string-literal `ssh` to the sftp backend. With this change, gvfs will instead rely on PATH-expansion to locate the user's ssh-client at runtime. This obviates the requirement that the build machine have an ssh-client. Signed-off-by: Alex Stewart <alex.stewart@ni.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
554f119627
commit
b3ace96246
@ -0,0 +1,60 @@
|
|||||||
|
From 8327383e262e1e7f32750a8a2d3dd708195b0f53 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alex Stewart <alex.stewart@ni.com>
|
||||||
|
Date: Wed, 14 Dec 2022 03:05:45 -0600
|
||||||
|
Subject: [PATCH] daemon: PATH-expand the sftp backend ssh client
|
||||||
|
|
||||||
|
Meson is currently configured to search the gvfs builder's PATH for an
|
||||||
|
ssh client, and hardcode its fullpath as the canonical ssh client for
|
||||||
|
the gvfs sftp backend.
|
||||||
|
|
||||||
|
This setup breaks in cases where the builder has a different ssh client
|
||||||
|
from the final runtime root, or where the client's pathes differ.
|
||||||
|
Builders using OpenEmbedded or buildroot workspaces are particularly
|
||||||
|
affected.
|
||||||
|
|
||||||
|
Instead, set SSH_PROGRAM to `ssh` so that it gets PATH-expanded at
|
||||||
|
runtime.
|
||||||
|
|
||||||
|
Closes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/465
|
||||||
|
Signed-off-by: Alex Stewart <alex.stewart@ni.com>
|
||||||
|
|
||||||
|
Upstream-Status: Accepted
|
||||||
|
* https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/157
|
||||||
|
* Expect upstream merge in GNOME 44
|
||||||
|
|
||||||
|
---
|
||||||
|
daemon/meson.build | 2 +-
|
||||||
|
meson.build | 4 ----
|
||||||
|
2 files changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemon/meson.build b/daemon/meson.build
|
||||||
|
index e20ada29..72a16890 100644
|
||||||
|
--- a/daemon/meson.build
|
||||||
|
+++ b/daemon/meson.build
|
||||||
|
@@ -256,7 +256,7 @@ if enable_sftp
|
||||||
|
'-DDEFAULT_BACKEND_TYPE=sftp',
|
||||||
|
'-DBACKEND_TYPES="sftp", G_VFS_TYPE_BACKEND_SFTP,',
|
||||||
|
'-DMAX_JOB_THREADS=1',
|
||||||
|
- '-DSSH_PROGRAM="@0@"'.format(ssh.full_path()),
|
||||||
|
+ '-DSSH_PROGRAM="ssh"',
|
||||||
|
]
|
||||||
|
|
||||||
|
programs += {'gvfsd-sftp': {'sources': sources, 'dependencies': deps, 'c_args': cflags}}
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 7fd67427..a84c0104 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -457,10 +457,6 @@ endif
|
||||||
|
|
||||||
|
# *** SFTP backend ***
|
||||||
|
enable_sftp = get_option('sftp')
|
||||||
|
-if enable_sftp
|
||||||
|
- ssh = find_program('ssh', required: false)
|
||||||
|
- assert(ssh.found(), 'SFTP backend requested but a ssh client is required')
|
||||||
|
-endif
|
||||||
|
|
||||||
|
# *** Enable development utils ***
|
||||||
|
enable_devel_utils = get_option('devel_utils')
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
||||||
@ -18,7 +18,10 @@ DEPENDS += "\
|
|||||||
|
|
||||||
RDEPENDS:${PN} += "gsettings-desktop-schemas"
|
RDEPENDS:${PN} += "gsettings-desktop-schemas"
|
||||||
|
|
||||||
SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
|
SRC_URI = "\
|
||||||
|
https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive \
|
||||||
|
file://0001-daemon-PATH-expand-the-sftp-backend-ssh-client.patch \
|
||||||
|
"
|
||||||
|
|
||||||
SRC_URI[archive.sha256sum] = "03d72b8c15ef438110f0cf457b5655266c8b515d0412b30f4d55cfa0da06ac5e"
|
SRC_URI[archive.sha256sum] = "03d72b8c15ef438110f0cf457b5655266c8b515d0412b30f4d55cfa0da06ac5e"
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user