NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/58648: private shared libraries should go in /usr/lib/private, not /usr/lib



>Number:         58648
>Category:       lib
>Synopsis:       private shared libraries should go in /usr/lib/private, not /usr/lib
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 27 00:35:00 +0000 2024
>Originator:     Taylor R Campbell
>Release:        current, 10, 9, ...
>Organization:
The LibBSD Private Foundation
>Environment:
>Description:
NetBSD base ships with various shared libraries that are used internally by programs and daemons included in NetBSD but that really shouldn't be exposed as libraries -- this leads to unnecessary conflicts, e.g. with libsqlite3 or libssh.

Currently the only mechanism we have for hiding these is to statically link them, even if they are reused by multiple programs in base, like like libgmp.

We should be able to use shared libraries in base programs without also exposing them to pkgsrc.
>How-To-Repeat:
struggle with pkgsrc conflicts
>Fix:
1. Introduce /usr/lib/private.
2. Rule: Nothing in /usr/lib outside /usr/lib/private can link against anything in it.  We can enforce this by simply not putting /usr/lib/private in any rpaths when linking libraries, and adding it only to the executables that do use /usr/lib/private.
3. Move various libraries such as libsqlite3 and libssh under /usr/lib/private.



Home | Main Index | Thread Index | Old Index