Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jul 2018 12:07:36 -0500
From:      Kyle Evans <kevans@freebsd.org>
To:        Bryan Drewery <bdrewery@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, Mariusz Zaborski <oshogbo@freebsd.org>,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r336026 - in head: lib/libnv usr.sbin/config
Message-ID:  <CACNAnaETGzGUAuykL41_Ni4hzrk2Nkud1kn0yDDYL=mw7CpZAw@mail.gmail.com>
In-Reply-To: <201807061123.w66BNEtb022856@repo.freebsd.org>
References:  <201807061123.w66BNEtb022856@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 6, 2018 at 6:23 AM, Kyle Evans <kevans@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?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaETGzGUAuykL41_Ni4hzrk2Nkud1kn0yDDYL=mw7CpZAw>