
On Thu, Nov 13, 2008 at 06:31:04PM +0100, Daniel Veillard wrote:
On Thu, Nov 13, 2008 at 05:21:23PM +0000, Daniel P. Berrange wrote:
This patch changes the way we use linker scripts to have fully versioned symbols, and a versioned private section for symbols needed by libvirtd and virsh.
Just a couple of questions:
+++ b/src/driver.h Tue Nov 11 17:28:31 2008 +0000 @@ -73,7 +73,7 @@ typedef int (*virDrvClose) (virConnectPtr conn); typedef int - (*virDrvSupportsFeature) (virConnectPtr conn, int feature); + (*virDrvDrvSupportsFeature) (virConnectPtr conn, int feature);
I miss the point ... err why ?
When I removed the __ from the 'private' symbols exported, this internal driver typedef now clashes with the following public symbol:
- ret->supported = __virDrvSupportsFeature (client->conn, args->feature); + ret->supported = virDrvSupportsFeature (client->conn, args->feature); if (ret->supported == -1) return -1;
The DrvDrv looks a little odd, but it is actually consistent with the naming for driver.h, which is basically s/vir/virDrv/ against the public API :-)
...]
diff -r bbf3d0bc9d49 src/libvirt_sym.version.in [...] +LIBVIRT_0.5.0 { + global: + virDomainCreateXML; + virEventRegisterImpl; + virConnectDomainEventRegister; + virConnectDomainEventDeregister; +} LIBVIRT_0.4.5; + +/* .... define new API here using predicted next version number .... */
So basically as part of doing a release I should guess the new version number and make a template empty section here, commited after tagging the release.
Yeah, that'd be a reasonable thing todo - just add .1 to the existing version. If we end up adding lots of new symbols, it'll be fairly obvious that we should increment a major version number instead. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|