Overriding port knobs in child ports

CyberLeo Kitsana cyberleo at cyberleo.net
Sun Aug 22 00:37:11 UTC 2010


In the interests of keeping my embedded installations small, I wish to
avoid installing certain run-time dependencies for unused features.

For instance, the port www/squid is set USE_PERL5, which registers perl5
as a bdep and rdep; however, the only components of squid that actually
make use of perl5 are two authentication helper scripts that I do not
use. Since nothing else on the machine uses perl5, there's no point in
actually having it installed and using up space on the flashcard.

So I figure I can change www/squid from USE_PERL5 to USE_PERL5_BUILD,
while inheriting all other settings and options; but I don't want to
tamper with the original port and introduce problems updating the tree
later on. To accommodate this, I created a child port,
www/squid-perlless, and placed the following in the Makefile:

MASTERDIR=	${.CURDIR}/../../www/squid

.include "${MASTERDIR}/Makefile"

PORTNAME=	squid-perlless
.undef USE_PERL5

Installing this port creates a package named 'squid-perlless', but it
still has perl5 registered as an rdep, regardless of where I put the

I even tried including bsd.port*.mk after the master makefile, but that
just spewed a bunch of 'redefined' messages, and changed nothing.

Am I missing something here, or am I approaching the problem from the
wrong angle? It seems that this is a relatively necessary bit of
functionality for child ports, but I have not discovered anything in the
porters handbook that provides any hints for changing port knobs in a
child port.


Fuzzy love,
Technical Administrator
CyberLeo.Net Webhosting
<CyberLeo at CyberLeo.Net>

Furry Peace! - http://wwww.fur.com/peace/

More information about the freebsd-ports mailing list