svn commit: r348540 - head

Rodney W. Grimes freebsd at gndrsh.dnsmgr.net
Tue Jun 4 21:57:45 UTC 2019


> > On Jun 3, 2019, at 12:06 PM, Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net> wrote:
> > 
> >> Author: sobomax
> >> Date: Mon Jun  3 15:34:00 2019
> >> New Revision: 348540
> >> URL: https://svnweb.freebsd.org/changeset/base/348540
> >> 
> >> Log:
> >>  Rollback the rest of the botched r348521. Re-work would be posted to
> >>  reviews. Sorry.
> >> 
> >>  Reported by:	Enji Cooper
> >> 
> >> Modified:
> >>  head/Makefile.inc1
> >> 
> >> Modified: head/Makefile.inc1
> >> ==============================================================================
> >> --- head/Makefile.inc1	Mon Jun  3 15:32:42 2019	(r348539)
> >> +++ head/Makefile.inc1	Mon Jun  3 15:34:00 2019	(r348540)
> >> @@ -887,7 +887,7 @@ MTREEFLAGS+=	-W
> >> INSTALLFLAGS+=	-h sha256
> >> .endif
> >> .if defined(DB_FROM_SRC) || defined(NO_ROOT)
> >> -IMAKE_INSTALL=	INSTALL="${INSTALL} ${INSTALLFLAGS}"
> >> +IMAKE_INSTALL=	INSTALL="install ${INSTALLFLAGS}"
> > 
> > This is a correct change,
> > ngie please explain exactly why this is an exception to INSTALL?=install.
> 
> 	There are edge cases I?ve had to work around in the build system in the past, where using $INSTALL would not work here, e.g., use ?INSTALL=true?. This would break that use.

This holds valid for all places in the three that use INSTALL today, anything that INSTALL is set to must be something that knows how to ignore the flags it may get.
This holds true not only for INSTALL but also for any other like variable name.
Furthermore true is infact one of those commands that ignores all args and all flags so how can your example break that I want this to do nothing, but not fail?

> 	There?s also absolutely no guarantee that ?$INSTALL? knows how to interpret "$INSTALLFLAGS?; FreeBSD?s install(1) however, used during make distribution, installworld, installkernel, etc, does support these flags.
> 	The same goes for mtree as well; nmtree isn?t the same as the older version of mtree that?s on older (pre-9.x) systems (IIRC). It?s better to use known build/install tools to avoid maintenance/debugging burden.

It would be far far better to not have this 1 hard coded install and mtree, and arguing that it is about not parsing -flags is not going to hold water, as that is already true of all the other places that this is done.

> Thanks,
> -Enji
-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-head mailing list