From owner-freebsd-ports@FreeBSD.ORG Fri Jun 22 02:58:21 2012 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 58FF61065670; Fri, 22 Jun 2012 02:58:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 20C018FC17; Fri, 22 Jun 2012 02:58:21 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q5M2wLFH040476; Fri, 22 Jun 2012 02:58:21 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q5M2wKHA040475; Fri, 22 Jun 2012 02:58:20 GMT (envelope-from bapt@FreeBSD.org) X-Authentication-Warning: freefall.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f Date: Fri, 22 Jun 2012 04:58:18 +0200 From: Baptiste Daroussin To: Bryan Drewery Message-ID: <20120622025818.GD83730@ithaqua.etoilebsd.net> References: <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org> <4FE3DB85.4080205@shatow.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="XvKFcGCOAo53UbWW" Content-Disposition: inline In-Reply-To: <4FE3DB85.4080205@shatow.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Marcus von Appen , freebsd-ports@FreeBSD.org, Alexander Pronin Subject: Re: [ bsd.port.mk ] improper evaluation of config-recursive target 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: Fri, 22 Jun 2012 02:58:21 -0000 --XvKFcGCOAo53UbWW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 21, 2012 at 09:42:13PM -0500, Bryan Drewery wrote: > On 6/21/2012 2:02 PM, Alexander Pronin wrote: > > Hello porters, > > My name is Alexander Pronin. I am a GSOC intern. My project is (http://= wiki.freebsd.org/SummerOfCode2012/Parallelization_in_the_ports_collection#p= review) > >=20 > > It is assumed that if a user calls > >=20 > > %make config-recursive > >=20 > > then options of current port and all it's dependency ports will be proc= essed, but > >=20 > > If this port(A) enables dependency port(Z) via options then $$(${ALL-DE= PENDS-LIST}) will not include this port(Z), hence options of port(Z) will n= ot be processed. > > If dependency port(B) of port(A) enables another dependency port(X) the= n options of this port(X) will not be processed either. > >=20 > > If I am correct with my assumptions, then the following patch fixes thi= s behaviour: > >=20 > > --- /Users/scher/tmp/config-recursive/bsd.port.mk 2012-06-21 22:53:45.0= 00000000 +0400 > > +++ /Users/scher/tmp/config-recursive/bsd.port.mk-fixed 2012-06-21 22:5= 4:35.000000000 +0400 > > @@ -6110,8 +6110,8 @@ > > =20 > > .if !target(config-recursive) > > -config-recursive: > > +config-recursive: config-conditional > > @${ECHO_MSG} "=3D=3D=3D> Setting user-specified options for ${PKGNAME= } and dependencies"; > > - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ > > - (cd $$dir; ${MAKE} config-conditional); \ > > + @for dir in $$(${MAKE} all-depends-list); do \ > > + (cd $$dir; ${MAKE} config-recursive); \ > > done > > .endif # config-recursive >=20 > The patch seems right and makes sense to me. Properly runs > config-conditional on every port first, then recurses into it, reading > its dependencies as they change. >=20 > Filing a PR is best so this doesn't get lost. >=20 > Regards, > Bryan Drewery >=20 This looks nice to me either. The best still is to send a PR about it so that we can take it in the next = run of "exp-run" and do not forget about at that time :) regards, Bapt --XvKFcGCOAo53UbWW Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAk/j30oACgkQ8kTtMUmk6Ew4+wCfcDsI+u1jpxNGjZYdiUbqm1Y+ ILcAnig00V0epP6FRrzPbkuccGj4PIii =+UD+ -----END PGP SIGNATURE----- --XvKFcGCOAo53UbWW--