Skip site navigation (1)Skip section navigation (2)
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>