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