On Mon, May 16, 2011 at 10:41:52AM +0100, Richard W.M. Jones wrote:
On Fri, May 13, 2011 at 02:36:55PM +0100, Daniel P. Berrange wrote:
> The hvsupport.html.in file is constantly out of date, because when
> updating the drivers to add new APIs, people often (always) forget
> to update the hvsupport.html.in file.
>
> To solve this we can instead store version number annotations in
> the drivers themselves, so it is not easily missed. Then the
> hvsupport.html.in file can be auto-generated
In libguestfs we generate the equivalent information entirely
automatically. See:
http://git.annexia.org/?p=libguestfs.git;a=tree;f=src/api-support;hb=HEAD
http://git.annexia.org/?p=libguestfs.git;a=blob;f=src/api-support/update-...
It requires access to a directory containing all the
{libguestfs|libvirt} tarballs from every released version.
That is just providing a list of public APIs per version. We already
generate that information from the src/libvirt_public.syms file which
has the public API versioning script.
The annotations are required in order to specify what each internal
driver implementation supports. Extracting this information from
the historical tarballs is too complex, unless we actually ran a
proper C parser over each codebase to extract the internal structs
and methods used. In the end, just annotating the drivers is far
simpler, than writing an even more complex script.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|