Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jun 2012 04:58:18 +0200
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Bryan Drewery <bryan@shatow.net>
Cc:        Marcus von Appen <mva@FreeBSD.org>, freebsd-ports@FreeBSD.org, Alexander Pronin <scher@FreeBSD.org>
Subject:   Re: [ bsd.port.mk ] improper evaluation of config-recursive target
Message-ID:  <20120622025818.GD83730@ithaqua.etoilebsd.net>
In-Reply-To: <4FE3DB85.4080205@shatow.net>
References:  <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org> <4FE3DB85.4080205@shatow.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120622025818.GD83730>