Suggestion: A new variable for a few Makefiles: IS_BINARY

Julian H. Stacey jhs at
Thu Jan 21 17:49:27 UTC 2010

> From:		Gary Jennejohn <gary.jennejohn at> 
> Reply-to:	gary.jennejohn at 
> Date:		Thu, 21 Jan 2010 17:01:46 +0100 
> Message-id:	<20100121170146.672acbbd at> 

Gary Jennejohn wrote:
> On Thu, 21 Jan 2010 07:34:02 -0800
> Doug Barton <dougb at> wrote:
> > On 1/20/2010 6:47 PM, Julian H. Stacey wrote:
> > > Some may not don't mind
> > > installing binaries from elsewhere, but FreeSBD could protect more,
> > 
> > What is it that you're trying to protect people from? In other words, 
> > what bad thing do you think is going to happen if someone installs a 
> > binary, and why do you think that we would allow something dangerous 
> > into the ports collection in the first place?
> > 
> I know Julian very well and he's, umm, very cautious.
> I assume he wants a knob he can turn on to avoid installing binaries while
> doing unattended installations, i.e. with BATCH set to yes.

Thanks, Yes, sort of, 
Mechanism would be similar to implemenation methoid of BATCH,
	(Except we could improve on it by not having different strings eg 
		Mk/*:		BATCH=
	but perhaps
		Makefile:	IS_BINARY=YES

It could be use with BATCH (but doesnt have to be), eg
personally I do a multi pass build on my ports,
 cd /usr/ports ; make BERKLIX_CLIENTS=YES BATCH=YES	# overnight
 cd /usr/ports ; make BERKLIX_CLIENTS=YES # later build of interactives next day

Usage of SKIP_BINARY_INSTALL would be personaly choosable I'd specify
SKIP_BINARY_INSTALL=YES (if  not default in Mk/*.mk) but others
could equally choose Not to assert it.

I just did an upgrade (to 8.0) & compiled & installed 694 ports
(inc. dependencies), from my set of */Makefile.local Manually
scanning Makefiles each remake (inc changing dependencies), looking
for binary rogue software sneaking through, is pointless, when
binaries without source could so easily be marked in Makefiles.

The mechanism would help people & companies that have a policy:
	Install No software without matching sources.
Others could ignore occasional declarative markers in a few ports like

One could debate whether default make install behaviour from Mk/
should be to continue to install (as now), or exit 1, on the few ports
needing IS_BINARY=YES; Default would be over-ridable by an env var
to make command.

There is a spectrum of usage, no one preference fits all, No point
trying to convince each other 1 policy is best for all :-)

   Some run binaries ie BLOBs, drivers, opera, mega ports (openoffice),
   & flash binaries under linux emulators etc, & maybe havent source,
   enthusiasm, time, space or interest to build their own.

   Some (by temperament, employer, or market sector, eg security
   companies, firewall manufacturers, military development support,
   government security etc), may want to No software tools installed
   without matching sources.

Not everyone needs the hook, but that's no reason not implement it;
it is simple, helps some, & will not harm others who can ignore it.

Julian Stacey: BSD Unix Linux C Sys Eng Consultants Munich
Mail plain text not quoted-printable, HTML or Base64

More information about the freebsd-ports mailing list