[Libguestfs] [libnbd PATCH] nbdsh: Simplify the script

Richard W.M. Jones rjones at redhat.com
Wed Jun 23 11:29:38 UTC 2021


On Tue, Jun 22, 2021 at 01:33:27PM +0200, Martin Kletzander wrote:
> There is no need for any hacks if we just do what execution of the module would
> have done.
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  sh/nbdsh.in | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/sh/nbdsh.in b/sh/nbdsh.in
> index d10f0c1b6b26..f66e2918d304 100644
> --- a/sh/nbdsh.in
> +++ b/sh/nbdsh.in
> @@ -1,4 +1,4 @@
> -#!/bin/sh -
> +#!/usr/bin/env @PYTHON@
>  # Copyright (C) 2011-2019 Red Hat Inc.
>  #
>  # @configure_input@
> @@ -17,10 +17,6 @@
>  # License along with this library; if not, write to the Free Software
>  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>  
> -# 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
> -    exec -a nbdsh @PYTHON@ -mnbd "$@"
> -else
> -    exec          @PYTHON@ -mnbd "$@"
> -fi
> +import nbdsh
> +
> +nbdsh.shell()

Can we set argv[0] from Python?  That would solve the problem that
Eric has noted.

This seems to say that you have to use an external module (which we'd
like to avoid from a tool as simple as nbdsh):

https://superuser.com/questions/427642/is-it-possible-to-set-the-process-name-with-pythonw
https://bugs.python.org/issue5672

But maybe there's a way to make it work only in Linux, which would be
fine.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list