You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Chris Darroch (JIRA)" <ji...@apache.org> on 2009/02/05 20:55:59 UTC

[jira] Created: (ZOOKEEPER-296) adopt APR-style versioning and compatibility guidelines for C API

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.