Bug 11743 - libndr: public or private API - header files should possibly be removed from installation
libndr: public or private API - header files should possibly be removed from ...
Status: NEW
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Build
4.4.0rc1
All All
: P5 trivial
: ---
Assigned To: Jelmer Vernooij
Samba QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-19 15:25 UTC by Jan Engelhardt
Modified: 2016-03-30 11:55 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Engelhardt 2016-02-19 15:25:55 UTC
Currently, `make install` from samba-4.4.0rc2.tar.gz will install the following files to somewhere in /usr, for example:

/usr/include/samba-4.0/ndr.h
/usr/lib64/libnbt.so
/usr/lib64/pkgconfig/libndr.pc

The contents of ndr.h (1-line excerpt):

_PUBLIC_ void ndr_print_timeval(struct ndr_print *ndr, const char *name,
                                const struct timeval *t);

The presence of the header file and the .so file make this is a public interface in the context of a distribution, that is, third-party packages can be compiled and linked against libndr.

Some confused people in the land of the openSUSE distribution are now claiming that libndr is private, despite indications to the contrary.

This leaves two possibilities, of which I ask you to indicate which one holds:

1. libndr is public and that is the end of the story.

2. libndr is in fact private (like that which is in /usr/lib64/samba/) and the samba source tree ought not to install its .h files (nor the corresponding .pc file, nor the libnbt.so symlink) on `make install`.