https://bugs.openldap.org/show_bug.cgi?id=9819
Issue ID: 9819 Summary: Bump version of ldapc++ Product: OpenLDAP Version: 2.6.1 Hardware: All OS: All Status: UNCONFIRMED Keywords: needs_review Severity: normal Priority: --- Component: contrib Assignee: bugs@openldap.org Reporter: jengelh@inai.de Target Milestone: ---
In the *SUSE family of Linux distributions, we have had a standalone ldapcpp package, the code of which was authored by R. Haferkamp; the package is marked 0.3.1 inside and out and uses SONAME=libldapcpp.so.1. This ldapcpp package is being phased out in favor of building the software from the copy in openldap/contrib/ldapc++, which I find is also by Haferkamp. However, it is marked as 0.0.0 and uses SONAME=libldapcpp.so.0.
---- » abidiff /usr/lib64/libldapcpp.so.1 .libs/libldapcpp.so.0
ELF SONAME changed Functions changes summary: 0 Removed, 4 Changed, 2 Added (30 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 9 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 1 Added variable symbol not referenced by debug info
SONAME changed from 'libldapcpp.so.1' to 'libldapcpp.so.0'
2 Added functions:
[A] 'method virtual LDAPMsg::~LDAPMsg(int)' {_ZN7LDAPMsgD0Ev} note that this adds a new entry to the vtable of class LDAPMsg [A] 'method virtual LDAPMsg::~LDAPMsg(int)' {_ZN7LDAPMsgD2Ev, aliases _ZN7LDAPMsgD1Ev} note that this adds a new entry to the vtable of class LDAPMsg
4 functions with some indirect sub-type change:
[C] 'method void LDAPAsynConnection::unbind()' at LDAPAsynConnection.cpp:270:1 has some indirect sub-type changes: parameter 1 of type 'int' was added
[C] 'method LDAPAttrType::LDAPAttrType()' at LDAPAttrType.cpp:11:1 has some indirect sub-type changes: parameter 1 of type 'int' was added
[C] 'method LDAPAttributeList::LDAPAttributeList()' at LDAPAttributeList.cpp:24:1 has some indirect sub-type changes: parameter 1 of type 'int' was added
[C] 'method LDAPSchema::LDAPSchema()' at LDAPSchema.cpp:18:1 has some indirect sub-type changes: parameter 1 of type 'int' was added
9 Added function symbols not referenced by debug info:
[A] _ZN12LDAPAttrTypeC1ERKS_ [A] _ZN12LDAPAttrTypeC2ERKS_, aliases _ZN12LDAPAttrTypeC1ERKS_ [A] _ZN13LDAPExceptionC1ERKS_, aliases _ZN13LDAPExceptionC2ERKS_ [A] _ZN13LDAPExceptionC2ERKS_ [A] _ZN16LDAPUrlExceptionD1Ev [A] _ZN16LDAPUrlExceptionD2Ev, aliases _ZN16LDAPUrlExceptionD1Ev [A] _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev [A] _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev, aliases _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev [A] _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev
1 Added variable symbol not referenced by debug info:
[A] _ZTV7LDAPMsg ----
This leads me to believe that contrib/ldapc++ is actually the newer one despite the inferior versioning. To avoid confusion going forward, I propose to bump the version (in the `version.var` file) to at least 0.3.1, and the SONAME should be changed to libldapcpp.so.2 (now), so that future maintainers won't accidentally reuse libldapcpp.so.1.