add '--targets' option to qemu-binfmt-conf.sh

Bug #1817239 reported by umarcor
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

I'd like to ask for the addition of option '--targets' to scripts/qemu-binfmt-conf.sh, in order to allow registering the interpreters for the given list of architectures only, instead of using all of the ones defined in qemu_target_list. The following is a possible patch that implements it:

 qemu-binfmt-conf.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/qemu-binfmt-conf.sh b/qemu-binfmt-conf.sh
index b5a1674..be4a19b 100644
--- a/qemu-binfmt-conf.sh
+++ b/qemu-binfmt-conf.sh
@@ -170,6 +170,7 @@ usage() {
 Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU]
                            [--help][--credential yes|no][--exportdir PATH]
                            [--persistent yes|no][--qemu-suffix SUFFIX]
+ [--targets TARGETS]

        Configure binfmt_misc to use qemu interpreter

@@ -189,6 +190,8 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU]
        --persistent: if yes, the interpreter is loaded when binfmt is
                       configured and remains in memory. All future uses
                       are cloned from the open file.
+ --targets: comma-separated list of targets. If provided, only
+ the targets in the list are registered.

     To import templates with update-binfmts, use :

@@ -324,7 +327,7 @@ CREDENTIAL=no
 PERSISTENT=no
 QEMU_SUFFIX=""

-options=$(getopt -o ds:Q:S:e:hc:p: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent: -- "$@")
+options=$(getopt -o ds:Q:S:e:hc:p:t: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent:,targets: -- "$@")
 eval set -- "$options"

 while true ; do
@@ -380,6 +383,10 @@ while true ; do
         shift
         PERSISTENT="$1"
         ;;
+ -t|--targets)
+ shift
+ qemu_target_list="$(echo "$1" | tr ',' ' ')"
+ ;;
     *)
         break
         ;;
--
2.20.1

Revision history for this message
Laurent Vivier (laurent-vivier) wrote : Re: [Bug 1817239] [NEW] add '--targets' option to qemu-binfmt-conf.sh

On 22/02/2019 04:31, Launchpad Bug Tracker wrote:
> I'd like to ask for the addition of option '--targets' to scripts/qemu-
> binfmt-conf.sh, in order to allow registering the interpreters for the
> given list of architectures only, instead of using all of the ones
> defined in qemu_target_list. The following is a possible patch that
> implements it:
>
> qemu-binfmt-conf.sh | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)

Please send your patch to the qemu-devel mailing list.

I think it's a good idea but we should homogenize "--debian" and
"--systemd": remove the parameter from "--systemd" to generate by
default all the targets, and allow the user to provide a subset of the
targets using the newly introduced "--target" parameter.

Thanks,
Laurent

Revision history for this message
umarcor (umarcor) wrote :

I submitted a first version some days ago, which homogeneized the implementation, as suggested by Laurent Vivier. It received some feedback from Eric Blake. A patchset (v3) is ready for review: https://patchew.org/QEMU/20190306031221.GA53@03612eec87fc/#

The feature requested in this issue is included in the patchset:

[Qemu-devel] [PATCH v3 6/10] qemu-binfmt-conf.sh: generalize <CPU> to positional <CPUS>
https://patchew.org/QEMU/20190306031221.GA53@03612eec87fc/20190306045019.GF75@03612eec87fc/

Note that, instead of adding a parameter named `--target`, positional arguments are used, which where not being processed at all.

Changed in qemu:
status: New → In Progress
Revision history for this message
John Snow (jnsnow) wrote :

This series appears to have stalled as of v7: https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg04241.html -- moving back to 'New' status.

Changed in qemu:
status: In Progress → New
Revision history for this message
Thomas Huth (th-huth) wrote :

The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now.
If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience.

Changed in qemu:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QEMU because there has been no activity for 60 days.]

Changed in qemu:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.