[ bsd.port.mk ] improper evaluation of config-recursive target
Baptiste Daroussin
bapt at FreeBSD.org
Fri Jun 22 02:58:21 UTC 2012
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#preview)
> >
> > It is assumed that if a user calls
> >
> > %make config-recursive
> >
> > then options of current port and all it's dependency ports will be processed, but
> >
> > If this port(A) enables dependency port(Z) via options then $$(${ALL-DEPENDS-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) then options of this port(X) will not be processed either.
> >
> > If I am correct with my assumptions, then the following patch fixes this behaviour:
> >
> > --- /Users/scher/tmp/config-recursive/bsd.port.mk 2012-06-21 22:53:45.000000000 +0400
> > +++ /Users/scher/tmp/config-recursive/bsd.port.mk-fixed 2012-06-21 22:54:35.000000000 +0400
> > @@ -6110,8 +6110,8 @@
> >
> > .if !target(config-recursive)
> > -config-recursive:
> > +config-recursive: config-conditional
> > @${ECHO_MSG} "===> 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
>
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120622/0fad835b/attachment.pgp
More information about the freebsd-ports
mailing list