Hi,

On 01/16/2017 08:06 PM, Aaron Conole wrote:
> This commit uses the $PACKAGE_VERSION automake variable to construct a
> release and version info combination which sets the library name to be:
> 
>    libfoo-$(OVS_MAJOR_VERSION).so.$(OVS_MINOR_VERSION).0.$(OVS_MICRO_VERSION)
> 
> where formerly, it was always:
> 
>    libfoo.so.1.0.0
> 
> This allows releases of Open vSwitch libraries to reflect which specific
> versions they came with, and sets up a psuedo ABI-versioning scheme.  In
> this fashion, future releases of Open vSwitch could be installed
> alongside older releases, allowing 3rd party utilities linked against
> previous versions to continue to function.

So I am a bit late here but the end result is not very consistent I think

/usr/lib64/libofproto-2.so.7
/usr/lib64/libofproto-2.so.7.0.90
/usr/lib64/libopenvswitch-2.so.7
/usr/lib64/libopenvswitch-2.so.7.0.90
...
/usr/lib64/libofproto.so
/usr/lib64/libopenvswitch.so
/usr/lib64/libovn.so
/usr/lib64/libovsdb.so

Shouldn't the linker names also have the major version in the naming
scheme? Like

/usr/lib64/libofproto-2.so.7
/usr/lib64/libofproto-2.so.7.0.90
/usr/lib64/libopenvswitch-2.so.7
/usr/lib64/libopenvswitch-2.so.7.0.90
...
/usr/lib64/libofproto-2.so
/usr/lib64/libopenvswitch-2.so
/usr/lib64/libovn-2.so
/usr/lib64/libovsdb-2.so

I understand that it could be problematic for existing applications and
that we may have to provide symlinks like

libofproto.so -> libofproto-2.so

etc

but the existing solution feels like that only half of the problem is
solved. Or perhaps this is OK and we want everybody to link against the
latest version when building an app.

-- 
markos

SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to