Message ID | 20190311202418.GI9@59ca1d9b7985 |
---|---|
State | New |
Headers | show |
Series | qemu-binfmt-conf.sh | expand |
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 >
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" + ;; -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=: +fi + qemu_set_binfmts "$@"
Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus> --- scripts/qemu-binfmt-conf.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) -- 2.21.0