Re: svn commit: r336026 - in head: lib/libnv usr.sbin/config

2018-07-07 Thread Kyle Evans
On Fri, Jul 6, 2018 at 6:23 AM, Kyle Evans  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?
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r336026 - in head: lib/libnv usr.sbin/config

2018-07-06 Thread Konstantin Belousov
On Fri, Jul 06, 2018 at 11:23:14AM +, Kyle Evans 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/.
But which libnv the cross-tool config(8) is linked against, the
host-provided one ? libnv which exposes the new headers interface would
come into existence only for the target.  Also, I do not think that you can
build this library for cross-tools.
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r336026 - in head: lib/libnv usr.sbin/config

2018-07-06 Thread Kyle Evans
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
 

Modified: head/usr.sbin/config/Makefile
==
--- head/usr.sbin/config/Makefile   Fri Jul  6 10:13:42 2018
(r336025)
+++ head/usr.sbin/config/Makefile   Fri Jul  6 11:23:14 2018
(r336026)
@@ -14,7 +14,7 @@ kernconf.c: kernconf.tmpl
${FILE2C} 'char kernconfstr[] = {' ',0};' < \
${SRCDIR}/kernconf.tmpl > kernconf.c
 
-CFLAGS+= -I. -I${SRCDIR} -I${SRCTOP}/sys
+CFLAGS+= -I. -I${SRCDIR}
 
 NO_WMISSING_VARIABLE_DECLARATIONS=
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"