svn commit: r336026 - in head: lib/libnv usr.sbin/config
Kyle Evans
kevans at freebsd.org
Sat Jul 7 17:07:59 UTC 2018
On Fri, Jul 6, 2018 at 6:23 AM, Kyle Evans <kevans at freebsd.org> wrote:
> Author: kevans
> Date: Fri Jul 6 11:23:14 2018
> New Revision: 336026
> URL: https://svnweb.freebsd.org/changeset/base/336026
>
> Log:
> config(8): Fix broken ABI
>
> r336019 introduced ${SRCTOP}/sys to the include paths in order to pull in a
> new sys/{c,}nv.h. This is wrong, because the build tree's ABI isn't
> guaranteed to match what's running on the host system.
>
> Fix instead by removing -I${SRCTOP}/sys and installing the libnv headers
> with `make -C lib/libnv includes`... this may or may not get re-worked in
> the future so that a userland lib isn't installing includes from sys/.
>
> Reported by: bdrewery
>
> Modified:
> head/lib/libnv/Makefile
> head/usr.sbin/config/Makefile
>
> Modified: head/lib/libnv/Makefile
> ==============================================================================
> --- head/lib/libnv/Makefile Fri Jul 6 10:13:42 2018 (r336025)
> +++ head/lib/libnv/Makefile Fri Jul 6 11:23:14 2018 (r336026)
> @@ -17,6 +17,9 @@ SRCS+= msgio.c
> SRCS+= nvlist.c
> SRCS+= nvpair.c
>
> +INCSDIR= ${INCLUDEDIR}/sys
> +INCS= ${SRCTOP}/sys/sys/cnv.h ${SRCTOP}/sys/sys/nv.h
> +
> HAS_TESTS=
> SUBDIR.${MK_TESTS}+= tests
>
It seems that this isn't a sustainable solution, as it creates a
conflict between runtime-development and libnv-development packages as
both try to install these headers from sys/. If we want to use libnv
from legacy build in a bootstrap tool, though, we need lib/libnv to
setup INCS correctly.
Is there a better solution to either only do this if we're
BOOTSTRAPPING < 1200070 and staging worldtmp or just pull these from
sys/sys while still allowing them to be used in kernel as expected?
More information about the svn-src-head
mailing list