> Author: sobomax
> Date: Tue Apr  7 02:46:22 2020
> New Revision: 359685
> URL: https://svnweb.freebsd.org/changeset/base/359685
> 
> Log:
>   Normalize deployment tools usage and definitions by putting into one place
>   instead of sprinkling them out over many disjoint files. This is a follow-up
>   to achieve the same goal in an incomplete rev.348521.

I have concerns that this factoring out of 5 values that have not changed
in 25 years is a pessimization, it is one more file that make has to
open on each invocation.


>   Approved by:        imp
>   MFC after:  1 month
>   Differential Revision:      https://reviews.freebsd.org/D20520
> 
> Added:
>   head/share/mk/src.tools.mk   (contents, props changed)
> Modified:
>   head/Makefile.inc1
>   head/etc/Makefile
>   head/lib/libc/gen/Makefile.inc
>   head/share/mk/sys.mk
>   head/share/termcap/Makefile
>   head/usr.bin/login/Makefile
>   head/usr.bin/vgrind/Makefile
>   head/usr.sbin/services_mkdb/Makefile
> 
> Modified: head/Makefile.inc1
> ==============================================================================
> --- head/Makefile.inc1        Tue Apr  7 02:45:24 2020        (r359684)
> +++ head/Makefile.inc1        Tue Apr  7 02:46:22 2020        (r359685)
> @@ -57,6 +57,8 @@ _MKSHOWCONFIG=      t
>  SRCDIR?=     ${.CURDIR}
>  LOCALBASE?=  /usr/local
>  
> +.include "share/mk/src.tools.mk"
> +
>  # Cross toolchain changes must be in effect before bsd.compiler.mk
>  # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes.
>  .if defined(CROSS_TOOLCHAIN)
> @@ -874,8 +876,8 @@ MTREEFLAGS+=      -W
>  INSTALLFLAGS+=       -h sha256
>  .endif
>  .if defined(DB_FROM_SRC) || defined(NO_ROOT)
> -IMAKE_INSTALL=       INSTALL="install ${INSTALLFLAGS}"
> -IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}"
> +IMAKE_INSTALL=       INSTALL="${INSTALL_CMD} ${INSTALLFLAGS}"
> +IMAKE_MTREE= MTREE_CMD="${MTREE_CMD} ${MTREEFLAGS}"
>  .endif
>  
>  DESTDIR_MTREEFLAGS=  -deU
> @@ -887,12 +889,12 @@ WORLDTMP_MTREEFLAGS=    -deUW
>  # that are created by mtree to be owned by root/wheel.
>  DESTDIR_MTREEFLAGS+= -W
>  .endif
> -MTREE?=      mtree
> +DISTR_MTREE= ${MTREE_CMD}
>  .if ${BUILD_WITH_STRICT_TMPPATH} != 0
> -MTREE=       ${WORLDTMP}/legacy/usr/sbin/mtree
> +DISTR_MTREE= ${WORLDTMP}/legacy/usr/sbin/mtree
>  .endif
> -WORLDTMP_MTREE=      ${MTREE} ${WORLDTMP_MTREEFLAGS}
> -DESTDIR_MTREE=       ${MTREE} ${DESTDIR_MTREEFLAGS}
> +WORLDTMP_MTREE=      ${DISTR_MTREE} ${WORLDTMP_MTREEFLAGS}
> +DESTDIR_MTREE=       ${DISTR_MTREE} ${DESTDIR_MTREEFLAGS}
>  
>  # kernel stage
>  KMAKEENV=    ${WMAKEENV:NSYSROOT=*}
> @@ -1363,14 +1365,14 @@ distributeworld installworld stageworld: _installcheck
>  .endif
>  .endif
>  .if defined(NO_ROOT)
> -     ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \
> +     ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \
>           sed -e 's#^\./#./${dist}/#' >> ${METALOG}
> -     ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \
> +     ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \
>           sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
> -     ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \
> +     ${IMAKEENV} ${DISTR_MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist 
> | \
>           sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG}
>  .if defined(_LIBCOMPAT)
> -     ${IMAKEENV} ${MTREE} -C -f 
> ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \
> +     ${IMAKEENV} ${DISTR_MTREE} -C -f 
> ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \
>           sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
>  .endif
>  .endif
> 
> Modified: head/etc/Makefile
> ==============================================================================
> --- head/etc/Makefile Tue Apr  7 02:45:24 2020        (r359684)
> +++ head/etc/Makefile Tue Apr  7 02:46:22 2020        (r359685)
> @@ -2,11 +2,11 @@
>  # $FreeBSD$
>  
>  .include <src.opts.mk>
> +.include <src.tools.mk>
>  
>  FILESGROUPS= FILES
>  NLS_ALIASES= POSIX C \
>               en_US.US_ASCII C
> -PWD_MKDB_CMD?=       pwd_mkdb
>  
>  # No need as it is empty and just causes rebuilds since this file does so 
> much.
>  UPDATE_DEPENDFILE=   no
> @@ -98,8 +98,6 @@ distribution:
>           ${DESTDIR}/boot/device.hints
>  .endif
>  .endif
> -
> -MTREE_CMD?=  mtree
>  
>  MTREES=              mtree/BSD.root.dist             /               \
>               mtree/BSD.var.dist              /var            \
> 
> Modified: head/lib/libc/gen/Makefile.inc
> ==============================================================================
> --- head/lib/libc/gen/Makefile.inc    Tue Apr  7 02:45:24 2020        
> (r359684)
> +++ head/lib/libc/gen/Makefile.inc    Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -550,11 +550,13 @@ MLINKS+=vis.3 nvis.3 \
>  
>  MLINKS+=wordexp.3 wordfree.3
>  
> +.include <src.tools.mk>
> +
>  afterinstallconfig:
>  .if ${MK_TCSH} == "no"
>       sed -i "" -e 's;/bin/csh;/bin/sh;' ${DESTDIR}/etc/master.passwd
>  .endif
> -     pwd_mkdb -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd
> +     ${PWD_MKDB_CMD} -i -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd
>  .if defined(NO_ROOT) && defined(METALOG)
>       ( \
>               echo "./etc/pwd.db type=file mode=0644 uname=root gname=wheel"; 
> \
> 
> Added: head/share/mk/src.tools.mk
> ==============================================================================
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ head/share/mk/src.tools.mk        Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -0,0 +1,25 @@
> +# Various tools used by the FreeBSD make installworld / distrib-dirs /
> +# distribution / installkernel targets. Also called "bootstrap tools"
> +# historically, however that name seemed to be ambiguous, as those tools
> +# merely help distributing the OS build artefacts into staging / production
> +# area.
> +#
> +# Very tiny subset of "itools", if you are old enough to know what it is.
> +#
> +# Please keep the list short, this file may and will be included from
> +# many places within the source tree. Rule of thumb: if the above mentioned
> +# targets survive with MYTOOL_CMD=false, then MYTOOL_CMD probably
> +# does not belong here. Stick it somewhere else, thank you very much!
> +#
> +# $FreeBSD$
> +
> +.if !target(__<src.tools.mk>__)
> +
> +INSTALL_CMD?=        install
> +MTREE_CMD?=  mtree
> +PWD_MKDB_CMD?=       pwd_mkdb
> +SERVICES_MKDB_CMD?=  services_mkdb
> +CAP_MKDB_CMD?=       cap_mkdb
> +
> +__<src.tools.mk>__:
> +.endif  # !target(__<tools>__)
> 
> Modified: head/share/mk/sys.mk
> ==============================================================================
> --- head/share/mk/sys.mk      Tue Apr  7 02:45:24 2020        (r359684)
> +++ head/share/mk/sys.mk      Tue Apr  7 02:46:22 2020        (r359685)
> @@ -234,7 +234,7 @@ FFLAGS            ?=      -O
>  .endif
>  EFLAGS               ?=
>  
> -INSTALL              ?=      install
> +INSTALL              ?=      ${INSTALL_CMD:Uinstall}
>  
>  LEX          ?=      lex
>  LFLAGS               ?=
> 
> Modified: head/share/termcap/Makefile
> ==============================================================================
> --- head/share/termcap/Makefile       Tue Apr  7 02:45:24 2020        
> (r359684)
> +++ head/share/termcap/Makefile       Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -14,9 +14,10 @@ CLEANFILES+=       termcap.db
>  CONFS=               termcap.small
>  
>  .include <bsd.endian.mk>
> +.include <src.tools.mk>
>  
>  termcap.db: termcap
> -     cap_mkdb ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC}
> +     ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC}
>  
>  etc-termcap:
>       ${INSTALL_SYMLINK} -T "package=runtime" \
> 
> Modified: head/usr.bin/login/Makefile
> ==============================================================================
> --- head/usr.bin/login/Makefile       Tue Apr  7 02:45:24 2020        
> (r359684)
> +++ head/usr.bin/login/Makefile       Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -2,13 +2,13 @@
>  # $FreeBSD$
>  
>  .include <src.opts.mk>
> +.include <src.tools.mk>
>  
>  CONFS=       fbtab login.conf motd.template login.access
>  PROG=        login
>  SRCS=        login.c login_fbtab.c
>  CFLAGS+=-DLOGALL
>  LIBADD=      util pam
> -CAP_MKDB_CMD?=       cap_mkdb
>  
>  WARNS?=      5
>  
> 
> Modified: head/usr.bin/vgrind/Makefile
> ==============================================================================
> --- head/usr.bin/vgrind/Makefile      Tue Apr  7 02:45:24 2020        
> (r359684)
> +++ head/usr.bin/vgrind/Makefile      Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -19,8 +19,9 @@ SCRIPTSDIR=/usr/bin
>  CLEANFILES= vgrindefs.src.db
>  
>  .include <bsd.endian.mk>
> +.include <src.tools.mk>
>  
>  vgrindefs.src.db: vgrindefs.src
> -     cap_mkdb ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC}
> +     ${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f vgrindefs.src ${.ALLSRC}
>  
>  .include <bsd.prog.mk>
> 
> Modified: head/usr.sbin/services_mkdb/Makefile
> ==============================================================================
> --- head/usr.sbin/services_mkdb/Makefile      Tue Apr  7 02:45:24 2020        
> (r359684)
> +++ head/usr.sbin/services_mkdb/Makefile      Tue Apr  7 02:46:22 2020        
> (r359685)
> @@ -6,11 +6,13 @@ CONFS=      services
>  PROG=        services_mkdb
>  MAN= services_mkdb.8
>  SRCS=        services_mkdb.c uniq.c extern.h
> -SERVICES_MKDB_CMD?=  ${PROG}
>  
>  .include <bsd.endian.mk>
>  .include <src.opts.mk>
>  .if ${MK_SERVICESDB} != "no"
> +# SERVICES_MKDB_CMD defined here
> +.include <src.tools.mk>
> +
>  afterinstallconfig:
>       ${SERVICES_MKDB_CMD} ${CAP_MKDB_ENDIAN} -q -o 
> ${DESTDIR}/var/db/services.db \
>               ${DESTDIR}/etc/services
> 

-- 
Rod Grimes                                                 rgri...@freebsd.org
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to