On 11/03/2019 21:24, Unai Martinez-Corral wrote:
> Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus>
> ---
> scripts/qemu-binfmt-conf.sh | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
> index 382bdaabfe..b750f60ef5 100755
> --- a/scripts/qemu-binfmt-conf.sh
> +++ b/scripts/qemu-binfmt-conf.sh
> @@ -197,8 +197,7 @@ Options and associated environment variables:
>
> Argument Env-variable Description
> TARGETS QEMU_TARGETS A single arch name or a list of them (see all names below);
> - if empty, configure/clear all known targets;
> - if 'NONE', no interpreter is configured.
> + if empty, configure/clear all known targets.
> -h|--help display this usage
> -Q|--path PATH QEMU_PATH set path to qemu interpreter(s)
> -F|--suffix SUFFIX QEMU_SUFFIX add a suffix to the default interpreter name
> @@ -208,6 +207,8 @@ TARGETS QEMU_TARGETS A single arch name or a list of them (see
> to the binary to interpret
> -r|--clear QEMU_CLEAR (yes) remove registered interpreters for target TARGETS;
> then exit.
> +-t|--test QEMU_TEST (yes) test the setup with the provided arguments, but do not
> + configure any of the interpreters.
> -e|--exportdir PATH DEBIANDIR define where to write configuration files
> SYSTEMDDIR
> -s|--systemd don't write into /proc, generate file(s) for
> @@ -221,6 +222,7 @@ QEMU_SUFFIX=$QEMU_SUFFIX
> QEMU_PERSISTENT=$QEMU_PERSISTENT
> QEMU_CREDENTIAL=$QEMU_CREDENTIAL
> QEMU_CLEAR=$QEMU_CLEAR
> +QEMU_TEST=$QEMU_TEST
>
> To import templates with update-binfmts, use :
>
> @@ -319,9 +321,6 @@ qemu_set_binfmts() {
>
> # reduce the list of target interpreters to those given in the CLI
> [ $# -eq 0 ] && targets="${QEMU_TARGETS:-}" || targets="$@"
> - if [ "x$targets" = "xNONE" ] ; then
> - return
> - fi
> qemu_check_target_list $targets
>
> # register the interpreter for each target except for the native one
> @@ -379,12 +378,16 @@ QEMU_SUFFIX="${QEMU_SUFFIX:-}"
> QEMU_PERSISTENT="${QEMU_PERSISTENT:-no}"
> QEMU_CREDENTIAL="${QEMU_CREDENTIAL:-no}"
> QEMU_CLEAR="${QEMU_CLEAR:-no}"
> +QEMU_TEST="${QEMU_TEST:-no}"
>
> -options=$(getopt -o rdsQ:S:e:hcp -l clear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@")
> +options=$(getopt -o trdsQ:S:e:hcp -l test,clear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@")
> eval set -- "$options"
>
> while true ; do
> case "$1" in
> + -t|--test)
> + QEMU_TEST="yes"
> + ;;
Please, put the ";;" at the same position as the others.
> -r|--clear)
> QEMU_CLEAR="yes"
> ;;
> @@ -438,4 +441,8 @@ if [ "x$QEMU_CLEAR" = "xyes" ] ; then
> exit
> fi
>
> +if [ "x$QEMU_TEST" = "xyes" ] ; then
> + BINFMT_SET=:
I think you have also to set BINFMT_CLEAR to ':' to allow --test to work
with --clear.
Thanks,
Laurent
> +fi
> +
> qemu_set_binfmts "$@"
> --
> 2.21.0
>