On Tue, 2016-05-31 at 12:49 -0700, Noriko Hosoi wrote:
> William raised a good point in fixing this ticket #48404.
>
> We have *.so and *.so.* (*.so # & *.so.#.#.#) for libraries. I assumed
> *.so should be in 389-ds-base-devel and *.so.* should be in
> 389-ds-base-libs. But it is not needed to be like that? He proposed to
> put all the .so and .so.* files in -libs and none in -devel.
>
> We are currently discussing about libnunc-stans.so* and libslapd.so*. I
> see another one libns-dshttpd.so* which are all in -libs.
>
lrwxrwxrwx. 1 root root 17 Apr 14 10:22 libslapd.so -> libslapd.so.0.0.0
lrwxrwxrwx. 1 root root 17 Apr 14 10:22 libslapd.so.0 -> libslapd.so.0.0.0
-rwxr-xr-x. 1 root root 6403918 Apr 14 10:22 libslapd.so.0.0.0
Basically, if we looked at -devel in isolation, it requires -libs to function.
But -devel provides a .so symlink, and we may have some application that looks for that. We should require -devel for an
application to find our library.
That's why I'd rather just see all the .so objects in -libs, and leave -devel to be our headers.
There are going to be three (or maybe more) use cases:
DS install (maybe with external plugins using the .so files):
* 389-ds-base
* 389-ds-base-libs
DS developer (maybe making plugins?)
* 389-ds-base
* 389-ds-base-libs
* 389-ds-base-devel
Plugin developer, or some other development
* 389-ds-base-libs
* 389-ds-base-devel
In all, they will all need 389-ds-base-libs which is why we should put all the .so there.
--
Sincerely,
William Brown
Software Engineer
Red Hat, Brisbane
No comments:
Post a Comment