Message ID | 20190311103207.GI16@765644dd90e5 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qemu-binfmt-conf.sh | expand |
On 11/03/2019 11:32, Unai Martinez-Corral wrote: > Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus> > --- > scripts/qemu-binfmt-conf.sh | 21 +++++++++++++++------ > 1 file changed, 15 insertions(+), 6 deletions(-) > > diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh > index a516181a3a..db85798e76 100755 > --- a/scripts/qemu-binfmt-conf.sh > +++ b/scripts/qemu-binfmt-conf.sh > @@ -196,8 +196,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 > @@ -209,6 +208,8 @@ TARGETS QEMU_TARGETS A single arch name or a list of them (see > SYSTEMDDIR > -c|--clear: QEMU_CLEAR (yes) remove registered interpreters for target TARGETS; > then exit. > +-t|--test|--dry-run: QEMU_TEST (yes) test the setup with the provided arguments, but do not > + configure any of the interpreters. > -s|--systemd: don't write into /proc, generate file(s) for > systemd-binfmt.service; environment variable HOST_ARCH > allows to override 'uname' to generate configuration files > @@ -222,6 +223,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 : > > @@ -317,9 +319,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 > @@ -376,12 +375,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 cdsQ:S:e:hcp -l clear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@") > +options=$(getopt -o tcdsQ:S:e:hcp -l test,dry-runclear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@") missing comma here. > eval set -- "$options" > > while true ; do > case "$1" in > + -t|--test|--dry-run) We don't need multiple parameter for the same effect. You must choose between --test and --dry-run. > + QEMU_TEST="yes" > + ;; > -c|--clear) > QEMU_CLEAR="yes" > ;; > @@ -438,4 +441,10 @@ if [ "x$QEMU_CLEAR" = "xyes" ] ; then > exit > fi > > +if [ "x$QEMU_TEST" = "xyes" ] ; then > + skip(){ > + :;} > + BINFMT_SET=skip Why do you need a function? Can't you set directly BINFMT_SET to ':'? Thanks, Laurent
2019/3/11 11:45, Laurent Vivier: > > while true ; do > > case "$1" in > > + -t|--test|--dry-run) > > We don't need multiple parameter for the same effect. You must choose > between --test and --dry-run. Ok. I'll take 'test', because the short for '--dry-run' would be '-d' and it is already used for 'debian'. > > +if [ "x$QEMU_TEST" = "xyes" ] ; then > > + skip(){ > > + :;} > > + BINFMT_SET=skip > > Why do you need a function? > Can't you set directly BINFMT_SET to ':'? Indeed... Regards, Unai
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh index a516181a3a..db85798e76 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -196,8 +196,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 @@ -209,6 +208,8 @@ TARGETS QEMU_TARGETS A single arch name or a list of them (see SYSTEMDDIR -c|--clear: QEMU_CLEAR (yes) remove registered interpreters for target TARGETS; then exit. +-t|--test|--dry-run: QEMU_TEST (yes) test the setup with the provided arguments, but do not + configure any of the interpreters. -s|--systemd: don't write into /proc, generate file(s) for systemd-binfmt.service; environment variable HOST_ARCH allows to override 'uname' to generate configuration files @@ -222,6 +223,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 : @@ -317,9 +319,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 @@ -376,12 +375,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 cdsQ:S:e:hcp -l clear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@") +options=$(getopt -o tcdsQ:S:e:hcp -l test,dry-runclear,debian,systemd,path:,suffix:,exportdir:,help,credential,persistent -- "$@") eval set -- "$options" while true ; do case "$1" in + -t|--test|--dry-run) + QEMU_TEST="yes" + ;; -c|--clear) QEMU_CLEAR="yes" ;; @@ -438,4 +441,10 @@ if [ "x$QEMU_CLEAR" = "xyes" ] ; then exit fi +if [ "x$QEMU_TEST" = "xyes" ] ; then + skip(){ + :;} + BINFMT_SET=skip +fi + qemu_set_binfmts "$@"
Signed-off-by: Unai Martinez-Corral <unai.martinezcorral@ehu.eus> --- scripts/qemu-binfmt-conf.sh | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) -- 2.21.0