Date: Thu, 21 Jun 2012 21:42:13 -0500 From: Bryan Drewery <bryan@shatow.net> To: Alexander Pronin <scher@FreeBSD.org> Cc: Marcus von Appen <mva@FreeBSD.org>, freebsd-ports@freebsd.org Subject: Re: [ bsd.port.mk ] improper evaluation of config-recursive target Message-ID: <4FE3DB85.4080205@shatow.net> In-Reply-To: <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org> References: <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig3EA2A0198141CBB97B03B6AB Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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= #preview) >=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= not 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 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. Filing a PR is best so this doesn't get lost. Regards, Bryan Drewery --------------enig3EA2A0198141CBB97B03B6AB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJP49uKAAoJEG54KsA8mwz57OAP/iiFHN7WyUzw0jmvool21a+U eQPU7/b0yHja5KuWsD2h+k4cjtj52tD1FiLb/uc9i3u+AkYOf1Y9Akm/GOgTfQGM Z25sp3YaouLOej9NCngegiT/sMzG7sfJ+RNZtIOXZr0pU9oFh4QQYunsp/oGd8IY EC6uoVTfmTT9ODjgqV16HzH4HVR3uD0YA7NLidULMXHv6sNUVjmMjoM94OLLM5il 3iIYMpVsHAf2i6BUF9IDIZX1kD/3QzTIAno8qGjyNlfapt/+I9STkIPtwoPwLg+y L8XWZfS7napIonTU1B6OwwqwnQtkUnyxUztWdf4M98TJPlUws5CUEEmTNfMKV/wQ lpU05Uu6QDzupiw0ughwOWbZoQ4udTNKKhWLUBsbqVLC7IrZcRsCbs30O6fgmFed cYXPKPHIkSEIALu+vKUFLjk3DKzn3aaNyipYY8XzIaGPPEPHrWEFv0fvepV2MQor 2cPqPPZo4VW5ct5/Xi92D/XVXuB9jTKQgPGfSsnrsx/Dx47zGZ4Y6DFGSmLr+pzP ET2OUS4oIlqGcBbHvg+lhBuQ40OrpDDTr4OvkI7UWfzvJC6ZQnGnhmoF3TPXkTOR rU000bF4HTiCZbl5eDSzJcAT0pjmmivQlqA5mwAt7T2jF+d4hhW/KG7pYPB9K+xX 9lh3DmyfoLNyaS0PXh1J =tAsM -----END PGP SIGNATURE----- --------------enig3EA2A0198141CBB97B03B6AB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FE3DB85.4080205>