Message ID | 20190311102659.GB16@765644dd90e5 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qemu-binfmt-conf.sh | expand |
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>
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
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(-) -- 2.21.0