Make atf libraries private

Julio Merino jmmv at freebsd.org
Fri May 16 21:31:06 UTC 2014


On Fri, May 16, 2014 at 12:10 AM, Simon J. Gerraty <sjg at juniper.net> wrote:
>>I'd like to make the libatf-c and libatf-c++ private, both in CURRENT _and_ in
>> stable/10.
>
> Can you briefly explain why

Oh sure.

Basically because I do not want the potentially-ancient ATF libraries
in base to leak to external components, and because I do not want to
have to worry about maintaining compatibility with these ancient
versions when the time comes. (This will start happening as soon as
FreeBSD 10 ages, for example.)

At some point, ports that install tests (lutok, kyua, shtk, ...)
*will* require a newer version of atf. Being able to just update
devel/atf within ports and get the newer versions of the other ports
working is trivial. Having to coordinate the ports updates with newer
FreeBSD releases just so that those ports can be updated will be a
nightmare.

It seems nicer to me to restrict the ATF libraries in base to what
FreeBSD needs them for: i.e. the ATF-based test programs inside the
tree. Anything else can just install the external package from ports
OR it can explicitly link against the private library -- clearly
knowing what the compatibility-related consequences of doing so are.

(As an aside, it seems that FreeBSD, as a project, wants to move as
many libraries into private as possible partly for the reasons
mentioned above. This came up during the devsummit. I'm wondering if
this was documented anywhere...)


More information about the freebsd-arch mailing list