svn commit: r359685 - in head: . etc lib/libc/gen share/mk share/termcap usr.bin/login usr.bin/vgrind usr.sbin/services_mkdb

Rodney W. Grimes freebsd at gndrsh.dnsmgr.net
Tue Apr 7 10:37:43 UTC 2020


> 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                                                 rgrimes at freebsd.org


More information about the svn-src-head mailing list