On 30 January 2018 at 09:48, Igor Kozhukhov <[email protected]> wrote:
> I’d like to propose to do something:
> - all interfaces in public headers = public interfaces - available for
> external applications and should be saved as is

But what is a "public header"?  In this case, you're talking about a
header file that's part of a library that is an internal
implementation detail for zfs(1M) and zpool(1M) and so on.

It was likely a mistake to ship that header, or a compilation symlink
("libzfs.so"), for something which is really not meant to be used from
outside the consolidation.  If we do anything on that front, it should
probably be to stop shipping them to avoid future confusion.

> where we can change version and SONAME and use another version of library
> with link to lib.so for builds with correct version.

We've already effectively done this with "libzfs_core".  It has a
different SONAME by virtue of being a different library entirely: one
with a public, stable interface which won't change over time.  Within
that public library (as with other public libraries) we take
compatibility very seriously, and won't break third parties with
changes.


Cheers.

-- 
Joshua M. Clulow
Engineer @ Joyent
http://blog.sysmgr.org

------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T3962bc5196cae513-M69bc3d65fbd0745e715d0617
Powered by Topicbox: https://topicbox.com

Reply via email to