On Tue, Jun 08, 2021 at 09:53:44AM +0200, Martin Kletzander wrote:
Platforms that utilise python-exec [0] wrapper scripts (mainly Gentoo) utilise
Did you mean "[0]" to reference a URL?
basenames of python scripts and executables to decide which python implementation to use for running that particular command. That makes the nbdsh "hack" in sh/nbdsh.in not work, even if 'exec -a' is supported by sh.
It's annoying that we have to work around Gentoo here by adding a dependency on coreutils. I suppose FreeBSD does have readlink(1). But my feeling is that the Gentoo script is broken if it cannot cope with an unexpected basename. Would a configure-time test be better here? It seems like it would have less chance of breaking on the end-user machine (I know that on Gentoo, "end-user" is a distinction without a difference but it would make nbdsh more robust on non-Gentoo). Also it would mean the package didn't need to depend on coreutils. Rich.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- sh/nbdsh.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sh/nbdsh.in b/sh/nbdsh.in index d10f0c1b6b26..333c2d5f8b96 100644 --- a/sh/nbdsh.in +++ b/sh/nbdsh.in @@ -19,7 +19,8 @@
# Test if /bin/sh supports exec -a option (only supported in bash 4.2 # and above, and not part of POSIX). -if /bin/sh -c 'exec -a test true' 2>/dev/null; then +if /bin/sh -c 'exec -a test true' 2>/dev/null && \ + test $(readlink $(which @PYTHON@)) != python-exec2c; then exec -a nbdsh @PYTHON@ -mnbd "$@" else exec @PYTHON@ -mnbd "$@" -- 2.31.1
_______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org