From owner-freebsd-ports@FreeBSD.ORG Sun Aug 22 00:37:11 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9A471065674 for ; Sun, 22 Aug 2010 00:37:11 +0000 (UTC) (envelope-from cyberleo@cyberleo.net) Received: from paka.cyberleo.net (paka.cyberleo.net [66.219.31.21]) by mx1.freebsd.org (Postfix) with ESMTP id A775D8FC1B for ; Sun, 22 Aug 2010 00:37:11 +0000 (UTC) Received: from [172.16.44.4] (h-74-2-96-2.chcgilgm.static.covad.net [74.2.96.2]) by paka.cyberleo.net (Postfix) with ESMTPSA id 11FC828416; Sat, 21 Aug 2010 20:21:13 -0400 (EDT) Message-ID: <4C706D78.70200@cyberleo.net> Date: Sat, 21 Aug 2010 19:21:12 -0500 From: CyberLeo Kitsana User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.10) Gecko/20100710 Thunderbird/3.0.5 MIME-Version: 1.0 To: FreeBSD Ports X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: CyberLeo Subject: Overriding port knobs in child ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 00:37:11 -0000 Hi! 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: ----8<---- MASTERDIR= ${.CURDIR}/../../www/squid .include "${MASTERDIR}/Makefile" PORTNAME= squid-perlless .undef USE_PERL5 USE_PERL5_BUILD=yes ----8<---- Installing this port creates a package named 'squid-perlless', but it still has perl5 registered as an rdep, regardless of where I put the .include. 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. Thanks! -- Fuzzy love, -CyberLeo Technical Administrator CyberLeo.Net Webhosting http://www.CyberLeo.Net Furry Peace! - http://wwww.fur.com/peace/