Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-296

adopt APR-style versioning and compatibility guidelines for C API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • c client
    • None

    Description

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            cdarroch Chris Darroch
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: