From owner-freebsd-ports@FreeBSD.ORG Thu Sep 3 22:08:32 2009 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 2CC771065670; Thu, 3 Sep 2009 22:08:32 +0000 (UTC) (envelope-from mel.flynn+fbsd.ports@mailing.thruhere.net) Received: from mailhub.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 829688FC18; Thu, 3 Sep 2009 22:08:31 +0000 (UTC) Received: from smoochies.rachie.is-a-geek.net (mailhub.rachie.is-a-geek.net [192.168.2.11]) by mailhub.rachie.is-a-geek.net (Postfix) with ESMTP id 27B277E818; Thu, 3 Sep 2009 14:08:42 -0800 (AKDT) From: Mel Flynn To: freebsd-ports@freebsd.org Date: Fri, 4 Sep 2009 00:08:28 +0200 User-Agent: KMail/1.11.4 (FreeBSD/8.0-BETA3; KDE/4.2.4; i386; ; ) References: <4A89CB20.3000408@quip.cz> <4A999B4A.3000603@quip.cz> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200909040008.28408.mel.flynn+fbsd.ports@mailing.thruhere.net> Cc: Doug Barton , Miroslav Lachman <000.fbsd@quip.cz>, ale@freebsd.org Subject: Re: portmaster is not always recursive 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: Thu, 03 Sep 2009 22:08:32 -0000 On Sunday 30 August 2009 19:07:24 Doug Barton wrote: > Ok, I found the problem, but the bad news is that I don't know what the > solution is going to be. I've cc'ed ale since what I'm seeing is weird > behavior by the php5-mcrypt slave port. > > What portmaster does by default when looking for dependencies is to run > 'make build-depends-list run-depends-list | sort -u' to get the list of > things to check. I used to just do all-depends-list by default but users > complained that it was creating problems by recursing so far down the > tree. > > What I'm seeing in security/php5-mcrypt is that the union of > {build|run}-depends-list is different if I run it in the slave port than > if I run it in lang/php5 (after enabling the OPTION for apache): > > In the slave port: > /usr/ports/devel/autoconf262 > /usr/ports/devel/libltdl22 > /usr/ports/lang/php5 > /usr/ports/security/libmcrypt > > In lang/php5: > /usr/ports/devel/autoconf262 > /usr/ports/devel/pkg-config > /usr/ports/textproc/libxml2 > /usr/ports/www/apache22 > > That's why portmaster is not picking up the dependency on apache when > updating php5-mcrypt. Why should it matter? I didn't think portmaster stopped searching if a first level dep does not need upgrading. The reason for not using all-depends-list is that it duplicates efforts. F.e. all-depends-list on x11/xorg recurses down to everything and then asking all-depends-list for x11/xorg-apps will have been done already by x11/xorg, but make(1) will still recurse the list and you can't filter it till you see it. But when using {build|run}-depends-list, lang/php5 is seen from security/php5- mcrypt, as such, portmaster should drill down to {build|run}-depends-list of lang/php5 until ending at leaf nodes. In principle this will end up to be an all-depends-list, but with faster performance. -- Mel