Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Sep 2009 00:08:28 +0200
From:      Mel Flynn <mel.flynn+fbsd.ports@mailing.thruhere.net>
To:        freebsd-ports@freebsd.org
Cc:        Doug Barton <dougb@freebsd.org>, Miroslav Lachman <000.fbsd@quip.cz>, ale@freebsd.org
Subject:   Re: portmaster is not always recursive
Message-ID:  <200909040008.28408.mel.flynn%2Bfbsd.ports@mailing.thruhere.net>
In-Reply-To: <alpine.BSF.2.00.0908300952370.43298@qbhto.arg>
References:  <4A89CB20.3000408@quip.cz> <4A999B4A.3000603@quip.cz> <alpine.BSF.2.00.0908300952370.43298@qbhto.arg>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909040008.28408.mel.flynn%2Bfbsd.ports>