Anthony Liguori wrote:
Philip Boulain wrote:
That should probably be "#!/usr/bin/env qemu", or something similar...
I think the magic should just be "#!". Whatever you put as the QEMU executable is your choice. Separating the args to the next line actually does make it pretty portable.

Not really; you'd still have to use the editing tool (qemu-img?) to prep it for your particular QEMU binary location on that particular host. But, yes: being able to set arbitrary binaries is essential. Using env is probably a good /default/, though.

Yes, I think that another argument should be required as Dan suggested although I'd like something more explicit like "-read-args-from-image". In the case where the image was directly executable, it would be embedded as part of the interpreter arguments.

This works, so long as qemu disregards "-read-args-from-image" unless it's being called as an interpreter. Otherwise, you've put the lock and the key in the same place. :)

If an image says:
  #!/whatever/qemu -read-args-from-image
  -curious-and-interesting-flags

This should use those flags:
  $ ./image.qcow2

And this shouldn't, because you don't need to have made it executable:
  $ qemu -hda image.qcow2

(But this would:)
  $ qemu -read-args-from-image -hda image.qcow2

(Side thought: presumably, we're assuming that the in-file and on-command-line arguments are unioned, ideally with the latter taking precidence if mutually exclusive.)

This also doesn't apply outside of UNIX-like environments, e.g. Windows...
I think this is covered by requiring the additional argument.

Agreed.

LionsPhil


Reply via email to