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(a)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(a)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