On 11/03/2019 11:26, Unai Martinez-Corral wrote:
> Allow to set options '--persistent' and/or '--credential' through
> environment variables. If not defined, defaults are used ('no').
> Anyway, command-line arguments have priority over environment variables.
>
> Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus>
> ---
> scripts/qemu-binfmt-conf.sh | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
> index ca15ff8092..e7a714e22c 100755
> --- a/scripts/qemu-binfmt-conf.sh
> +++ b/scripts/qemu-binfmt-conf.sh
> @@ -186,9 +186,11 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU]
> (default: $SYSTEMDDIR or $DEBIANDIR)
> --credential: if present, credential and security tokens are
> calculated according to the binary to interpret
> + ($QEMU_CREDENTIAL=yes)
> --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)
>
> To import templates with update-binfmts, use :
>
> @@ -255,10 +257,10 @@ qemu_check_systemd() {
>
> qemu_generate_register() {
> flags=""
> - if [ "x$CREDENTIAL" = "xyes" ] ; then
> + if [ "x$QEMU_CREDENTIAL" = "xyes" ] ; then
> flags="OC"
> fi
> - if [ "x$PERSISTENT" = "xyes" ] ; then
> + if [ "x$QEMU_PERSISTENT" = "xyes" ] ; then
> flags="${flags}F"
> fi
>
> @@ -281,7 +283,7 @@ package qemu-$cpu
> interpreter $qemu
> magic $magic
> mask $mask
> -credential $CREDENTIAL
> +credential $QEMU_CREDENTIAL
> EOF
> }
>
> @@ -320,8 +322,10 @@ SYSTEMDDIR="/etc/binfmt.d"
> DEBIANDIR="/usr/share/binfmts"
>
> QEMU_PATH=/usr/local/bin
> -CREDENTIAL=no
> -PERSISTENT=no
> +
> +QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"
> +QEMU_PERSISTENT="${QEMU_PERSISTENT:-no}"
> +
> QEMU_SUFFIX=""
>
> options=$(getopt -o ds:Q:S:e:hcp -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential,persistent -- "$@")
> @@ -373,10 +377,10 @@ while true ; do
> exit 1
> ;;
> -c|--credential)
> - CREDENTIAL="yes"
> + QEMU_CREDENTIAL="yes"
> ;;
> -p|--persistent)
> - PERSISTENT="yes"
> + QEMU_PERSISTENT="yes"
> ;;
> *)
> break
> --
> 2.21.0
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>