adopt APR-style versioning and compatibility guidelines for C API
-----------------------------------------------------------------
Key: ZOOKEEPER-296
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-296
Project: Zookeeper
Issue Type: Improvement
Components: c client
Reporter: Chris Darroch
Per a recent discussion on the ZooKeeper users mailing list regarding the
API/ABI change introduced in 3.1.0 by ZOOKEEPER-255, I would suggest going
forwards that the project adopt the versioning and compatibility guidelines of
the Apache Portable Runtime (APR) project. These are well documented here:
http://apr.apache.org/versioning.html
I'd also suggest adopting the parallel installation procedure used by APR.
This would mean that, for example, as of version 4.0.0 the ZooKeeper C library
would be installed as libzookeeper_mt-4.so and the include files would be
installed as zookeeper-4/zookeeper.h, etc.
The namespace cleanup I suggest in ZOOKEEPER-295 would fit well with such a
change.
I should also point out the (rather mysterious) intent of the GNU libtool
versioning system for libraries; while many projects seem to disregard it, it
does have some value:
http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.