: Always use KVM_VERSION to build version number
PATCH 1/1 : Always use KVM_VERSION to build version number
Avi,
Trying to use libvirt with development snapshots of qemu-kvm is a bit
problematic. The trouble is that for all development snapshots, the value that gets placed into this string:
QEMU PC emulator version 0.10.0 (kvm-devel), Copyright (c) 2003-2008
Is always kvm-devel. That means we can't tell if this is a kvm development snapshot built yesterday, or 6 months ago, which means that in turn we can't tell what features are available. While we can always tell people building their own qemu to force it by echoing a value into KVM_VERSION, it would be much better if this were done by default. Something like kvm-88-devel, which would signify that this the development happening after kvm-88, leading towards kvm-89. Would you accept something like the patch below, which would require you to edit the KVM_VERSION file twice during a release (once right before the release, to change it to kvm-89, and once right after the release to change it back to kvm-89-devel)?
KVM_VERSION new file +1 -0
@@ -0,0 +1 @@ +kvm-88-devel
Quoted 7 lines · Chris Lalancette
Avi,
Trying to use libvirt with development snapshots of qemu-kvm is a bit
problematic. The trouble is that for all development snapshots, the value that gets placed into this string:QEMU PC emulator version 0.10.0 (kvm-devel), Copyright (c) 2003-2008
Quoted 12 lines
Is always kvm-devel. That means we can't tell if this is a kvm development snapshot built yesterday, or 6 months ago, which means that in turn we can't tell what features are available. While we can always tell people building their own qemu to force it by echoing a value into
KVM_VERSION, it would be much better if this were done by default. Something like kvm-88-devel, which would signify that this the development happening after kvm-88, leading towards kvm-89. Would you accept something like the patch below, which would require you to edit theKVM_VERSIONfile twice during a release (once right before the release, to change it to kvm-89, and once right after the release to change it back to kvm-89-devel)?
This is problematic in two ways. One is that I am basically guaranteed to forget to edit the file (which is why the release scripts generate the name based on the tag).
On fix is to use git describe --match to find out what's the closest release. But this is still quite bad as it doesn't account for branches and forks.
How about adding 'qemu -describe-features' which will output, one line per feature, what's supported (and limits where applicable)? I understand libvirt already does this for some features using -help; this is simply a formalization of that hack.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 21 lines · Avi Kivity
Quoted 7 lines · Chris Lalancette
Avi,
Trying to use libvirt with development snapshots of qemu-kvm is a bit
problematic. The trouble is that for all development snapshots, the value that gets placed into this string:QEMU PC emulator version 0.10.0 (kvm-devel), Copyright (c) 2003-2008
Quoted 12 lines
Is always kvm-devel. That means we can't tell if this is a kvm development snapshot built yesterday, or 6 months ago, which means that in turn we can't tell what features are available. While we can always tell people building their own qemu to force it by echoing a value into
KVM_VERSION, it would be much better if this were done by default. Something like kvm-88-devel, which would signify that this the development happening after kvm-88, leading towards kvm-89. Would you accept something like the patch below, which would require you to edit theKVM_VERSIONfile twice during a release (once right before the release, to change it to kvm-89, and once right after the release to change it back to kvm-89-devel)?
Quoted 3 lines
This is problematic in two ways. One is that I am basically guaranteed to forget to edit the file (which is why the release scripts generate the name based on the tag).
Anthony manages to remember to update VERSION :-)
Quoted 3 lines
On fix is to use git describe --match to find out what's the closest release. But this is still quite bad as it doesn't account for branches and forks.
Or we could drop this kvm snapshot numbering system and just use qemu VERSION numbering - i.e. qemu-kvm-devel-88 could have been published as qemu-kvm-0.10.50
Quoted 4 lines
How about adding 'qemu -describe-features' which will output, one line per feature, what's supported (and limits where applicable)? I understand libvirt already does this for some features using -help; this is simply a formalization of that hack.
Yes, libvirt would much rather not parse -help or use version numbers to detect whether features are available.
We should revisit the "info capabilities" thing again:
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00767.html
Cheers,
Mark.
PATCH 1/1 configure: make default KVM_VERSION qemu-kvm-devel
Released versions of qemu-kvm now have a KVM_VERSION of either qemu-kvm-x.y.z or qemu-kvm-devel-XX. However, when building from git, KVM_VERSION is kvm-devel.
Defaulting to qemu-kvm-devel makes more sense.
With newer versions of qemu-kvm, libvirt actually ignores the kvm snapshot number (i.e. 86, 87 etc.) and just uses the 'qemu-kvm-' string to detect that this is the kvm fork of qemu. The actual kvm snapshot number is no longer important, it's the qemu version number which is important.
--- configure | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
configure +1 -1
@@ -166,7 +166,7 @@ kvm_version() { if test -f "$fname"; then cat "$fname" else - echo "kvm-devel" + echo "qemu-kvm-devel" fi }
Signature · 1 line
1.6.2.5
Avi Kivity
AppliedRe: [PATCH] configure: make default KVM_VERSION qemu-kvm-devel
Quoted 4 lines · Mark McLoughlin
Released versions of qemu-kvm now have a
KVM_VERSIONof either qemu-kvm-x.y.z or qemu-kvm-devel-XX. However, when building from git,KVM_VERSIONis kvm-devel.
Quoted 8 lines
Defaulting to qemu-kvm-devel makes more sense.
With newer versions of qemu-kvm, libvirt actually ignores the kvm snapshot number (i.e. 86, 87 etc.) and just uses the 'qemu-kvm-' string to detect that this is the kvm fork of qemu. The actual kvm snapshot number is no longer important, it's the qemu version number which is important.
Applied, thanks.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 7 lines · Mark McLoughlin
Quoted 4 lines
This is problematic in two ways. One is that I am basically guaranteed to forget to edit the file (which is why the release scripts generate the name based on the tag).
Anthony manages to remember to update VERSION :-)
I'm not Anthony.
Quoted 9 lines
Quoted 4 lines
On fix is to use git describe --match to find out what's the closest release. But this is still quite bad as it doesn't account for branches and forks.
Or we could drop this kvm snapshot numbering system and just use qemu VERSION numbering - i.e. qemu-kvm-devel-88 could have been published as qemu-kvm-0.10.50
Yeah. You still couldn't distinguish among different snapshots.
Quoted 6 lines
Quoted 5 lines
How about adding 'qemu -describe-features' which will output, one line per feature, what's supported (and limits where applicable)? I understand libvirt already does this for some features using -help; this is simply a formalization of that hack.
Quoted 7 lines
Yes, libvirt would much rather not parse -help or use version numbers to detect whether features are available.
We should revisit the "info capabilities" thing again:
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00767.html
Logically it needs to work before starting a VM, so a command line option is more appropriate.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 8 lines · Avi Kivity
Quoted 5 lines · Mark McLoughlin
Or we could drop this kvm snapshot numbering system and just use qemu VERSION numbering - i.e. qemu-kvm-devel-88 could have been published as qemu-kvm-0.10.50
Yeah. You still couldn't distinguish among different snapshots.
0.10.51, 0.10.52 etc.
Quoted 9 lines
Quoted 9 lines
Quoted 5 lines
How about adding 'qemu -describe-features' which will output, one line per feature, what's supported (and limits where applicable)? I understand libvirt already does this for some features using -help; this is simply a formalization of that hack.
Yes, libvirt would much rather not parse -help or use version numbers to detect whether features are available.
Quoted 7 lines
Quoted 4 lines
We should revisit the "info capabilities" thing again:
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00767.htmlLogically it needs to work before starting a VM, so a command line option is more appropriate.
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00899.html
Cheers,
Mark.
Quoted 9 lines · Mark McLoughlin
Quoted 7 lines · Avi Kivity
Quoted 5 lines · Mark McLoughlin
Or we could drop this kvm snapshot numbering system and just use qemu VERSION numbering - i.e. qemu-kvm-devel-88 could have been published as qemu-kvm-0.10.50
Quoted 5 lines
Quoted 2 lines
Yeah. You still couldn't distinguish among different snapshots.
0.10.51, 0.10.52 etc.
The "50" is owned by upstream, so 0.10.50.1.
Quoted 6 lines
Quoted 3 lines
Logically it needs to work before starting a VM, so a command line option is more appropriate.
http://lists.gnu.org/archive/html/qemu-devel/2008-11/msg00899.html
Signature · 1 line
error compiling committee.c: too many arguments to function