[Qemu-devel] [PATCH v3 9/10] qemu-binfmt-conf.sh: update usage()

Unai Martinez-Corral posted 10 patches 6 years ago
Maintainers: Laurent Vivier <laurent@vivier.eu>, Riku Voipio <riku.voipio@iki.fi>
There is a newer version of this series
[Qemu-devel] [PATCH v3 9/10] qemu-binfmt-conf.sh: update usage()
Posted by Unai Martinez-Corral 6 years ago
Reduce indentation to better use available space.

Add list of supported environment variables and their default values.

Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus>
---
 scripts/qemu-binfmt-conf.sh | 61 ++++++++++++++++++++-----------------
 1 file changed, 33 insertions(+), 28 deletions(-)

diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
index 4a45636b53..8ca2647ed0 100755
--- a/scripts/qemu-binfmt-conf.sh
+++ b/scripts/qemu-binfmt-conf.sh
@@ -201,34 +201,31 @@ Usage: qemu-binfmt-conf.sh [--help][--path PATH][--suffix SUFFIX]
                            [--persistent][--credential][--exportdir PATH]
                            [--reset ARCHS][--systemd][--debian][CPUS]

-       Configure binfmt_misc to use qemu interpreter for the given CPUS.
-       Supported formats for CPUS are: single arch or comma/space separated list.
-       See QEMU target list below. If CPUS is 'ALL' or empty, configure all known
-       cpus. If CPUS is 'NONE', no interpreter is configured.
+    Configure binfmt_misc to use qemu interpreter for the given CPUS.
+    Supported formats for CPUS are: single arch or comma/space separated list.
+    See QEMU target list below. If CPUS is 'ALL' or empty, configure all known
+    cpus. If CPUS is 'NONE', no interpreter is configured.

-       --help:        display this usage
-       --path:        set path to qemu interpreter ($QEMU_PATH)
-       --suffix:      add a suffix to the default interpreter name
-                      ($QEMU_SUFFIX)
-       --persistent:  if present, the interpreter is loaded when binfmt is
-                      configured and remains in memory. All future uses
-                      are cloned from the open file.
-                      ($QEMU_PERSISTENT=yes)
-       --credential:  if present, credential and security tokens are
-                      calculated according to the binary to interpret
-                      ($QEMU_CREDENTIAL=yes)
-       --exportdir:   define where to write configuration files
-                      (default: $SYSTEMDDIR or $DEBIANDIR)
-       --reset:       remove registered interpreter for target ARCHS (comma
-                      separated list). If ARCHS is 'ALL', remove all registered
-                      'qemu-*' interpreters.
-       --systemd:     don't write into /proc,
-                      instead generate file for systemd-binfmt.service;
-                      environment variable HOST_ARCH allows to override 'uname'
-                      to generate configuration files for a different
-                      architecture than the current one.
-       --debian:      don't write into /proc,
-                      instead generate update-binfmts templates
+    --help:        display this usage.
+    --path:        set path to qemu interpreter.
+    --suffix:      add a suffix to the default interpreter name.
+    --persistent:  if present, the interpreter is loaded when binfmt is
+                   configured and remains in memory. All future uses
+                   are cloned from the open file.
+    --credential:  if present, credential and security tokens are
+                   calculated according to the binary to interpret.
+    --exportdir:   define where to write configuration files.
+                   (default: $SYSTEMDDIR or $DEBIANDIR)
+    --reset:       remove registered interpreter for target ARCHS (comma
+                   separated list). If ARCHS is 'ALL', remove all registered
+                   'qemu-*' interpreters.
+    --systemd:     don't write into /proc,
+                   instead generate file(s) for systemd-binfmt.service;
+                   environment variable HOST_ARCH allows to override 'uname'
+                   to generate configuration files for a different
+                   architecture than the current one.
+    --debian:      don't write into /proc,
+                   instead generate update-binfmts templates.

     To import templates with update-binfmts, use :

@@ -240,6 +237,14 @@ Usage: qemu-binfmt-conf.sh [--help][--path PATH][--suffix SUFFIX]

     QEMU target list: $qemu_target_list

+    Options 'path, 'suffix', 'persistent' and 'credential' are also supported
+    through environment variables. Defaults are:
+
+      QEMU_PATH=/usr/local/bin
+      QEMU_SUFFIX=
+      QEMU_PERSISTENT=no
+      QEMU_CREDENTIAL=no
+
 EOF
 }

@@ -384,8 +389,8 @@ DEBIANDIR="/usr/share/binfmts"

 QEMU_PATH="${QEMU_PATH:-/usr/local/bin}"
 QEMU_SUFFIX="${QEMU_SUFFIX:-}"
-QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"
 QEMU_PERSISTENT="${QEMU_PERSISTENT:-no}"
+QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"

 options=$(getopt -o r:dsQ:S:e:hcp -l reset:,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@")
 eval set -- "$options"
--
2.20.1


Re: [Qemu-devel] [PATCH v3 9/10] qemu-binfmt-conf.sh: update usage()
Posted by Laurent Vivier 6 years ago
On 06/03/2019 05:54, Unai Martinez-Corral wrote:
> Reduce indentation to better use available space.
> 
> Add list of supported environment variables and their default values.
> 
> Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus>
> ---
>  scripts/qemu-binfmt-conf.sh | 61 ++++++++++++++++++++-----------------
>  1 file changed, 33 insertions(+), 28 deletions(-)
> 
> diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
> index 4a45636b53..8ca2647ed0 100755
> --- a/scripts/qemu-binfmt-conf.sh
> +++ b/scripts/qemu-binfmt-conf.sh
> @@ -201,34 +201,31 @@ Usage: qemu-binfmt-conf.sh [--help][--path PATH][--suffix SUFFIX]
>                             [--persistent][--credential][--exportdir PATH]
>                             [--reset ARCHS][--systemd][--debian][CPUS]
> 
> -       Configure binfmt_misc to use qemu interpreter for the given CPUS.
> -       Supported formats for CPUS are: single arch or comma/space separated list.
> -       See QEMU target list below. If CPUS is 'ALL' or empty, configure all known
> -       cpus. If CPUS is 'NONE', no interpreter is configured.
> +    Configure binfmt_misc to use qemu interpreter for the given CPUS.
> +    Supported formats for CPUS are: single arch or comma/space separated list.
> +    See QEMU target list below. If CPUS is 'ALL' or empty, configure all known
> +    cpus. If CPUS is 'NONE', no interpreter is configured.
> 
> -       --help:        display this usage
> -       --path:        set path to qemu interpreter ($QEMU_PATH)
> -       --suffix:      add a suffix to the default interpreter name
> -                      ($QEMU_SUFFIX)
> -       --persistent:  if present, the interpreter is loaded when binfmt is
> -                      configured and remains in memory. All future uses
> -                      are cloned from the open file.
> -                      ($QEMU_PERSISTENT=yes)
> -       --credential:  if present, credential and security tokens are
> -                      calculated according to the binary to interpret
> -                      ($QEMU_CREDENTIAL=yes)
> -       --exportdir:   define where to write configuration files
> -                      (default: $SYSTEMDDIR or $DEBIANDIR)
> -       --reset:       remove registered interpreter for target ARCHS (comma
> -                      separated list). If ARCHS is 'ALL', remove all registered
> -                      'qemu-*' interpreters.
> -       --systemd:     don't write into /proc,
> -                      instead generate file for systemd-binfmt.service;
> -                      environment variable HOST_ARCH allows to override 'uname'
> -                      to generate configuration files for a different
> -                      architecture than the current one.
> -       --debian:      don't write into /proc,
> -                      instead generate update-binfmts templates
> +    --help:        display this usage.
> +    --path:        set path to qemu interpreter.
> +    --suffix:      add a suffix to the default interpreter name.
> +    --persistent:  if present, the interpreter is loaded when binfmt is
> +                   configured and remains in memory. All future uses
> +                   are cloned from the open file.
> +    --credential:  if present, credential and security tokens are
> +                   calculated according to the binary to interpret.
> +    --exportdir:   define where to write configuration files.
> +                   (default: $SYSTEMDDIR or $DEBIANDIR)
> +    --reset:       remove registered interpreter for target ARCHS (comma
> +                   separated list). If ARCHS is 'ALL', remove all registered
> +                   'qemu-*' interpreters.
> +    --systemd:     don't write into /proc,
> +                   instead generate file(s) for systemd-binfmt.service;
> +                   environment variable HOST_ARCH allows to override 'uname'
> +                   to generate configuration files for a different
> +                   architecture than the current one.
> +    --debian:      don't write into /proc,
> +                   instead generate update-binfmts templates.
> 
>      To import templates with update-binfmts, use :
> 
> @@ -240,6 +237,14 @@ Usage: qemu-binfmt-conf.sh [--help][--path PATH][--suffix SUFFIX]
> 
>      QEMU target list: $qemu_target_list
> 
> +    Options 'path, 'suffix', 'persistent' and 'credential' are also supported
> +    through environment variables. Defaults are:
> +
> +      QEMU_PATH=/usr/local/bin

You can write

        QEMU_PATH=$QEMU_PATH

to have the actual value.

> +      QEMU_SUFFIX=
> +      QEMU_PERSISTENT=no
> +      QEMU_CREDENTIAL=no

and
         QEMU_SUFFIX=$QEMU_SUFFIX
         QEMU_PERSISTENT=$QEMU_PERSISTENT
         QEMU_CREDENTIAL=$QEMU_CREDENTIAL=

> +
>  EOF
>  }
> 
> @@ -384,8 +389,8 @@ DEBIANDIR="/usr/share/binfmts"
> 
>  QEMU_PATH="${QEMU_PATH:-/usr/local/bin}"
>  QEMU_SUFFIX="${QEMU_SUFFIX:-}"
> -QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"
>  QEMU_PERSISTENT="${QEMU_PERSISTENT:-no}"
> +QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"
> 
>  options=$(getopt -o r:dsQ:S:e:hcp -l reset:,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@")
>  eval set -- "$options"


I think you can merge this patch with the previous one.

Thanks,
Laurent