From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id B108E1389E2 for ; Thu, 11 Dec 2014 19:04:51 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 60226E0E4B; Thu, 11 Dec 2014 19:04:50 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id AE8A5E0E4B; Thu, 11 Dec 2014 19:04:49 +0000 (UTC) Received: from pomiot.lan (mgorny-1-pt.tunnel.tserv28.waw1.ipv6.he.net [IPv6:2001:470:70:353::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 536D1340507; Thu, 11 Dec 2014 19:04:47 +0000 (UTC) Date: Thu, 11 Dec 2014 20:04:40 +0100 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: gentoo-dev-announce@lists.gentoo.org Cc: gentoo-python@lists.gentoo.org Subject: [gentoo-python] distutils-r1: parallel run support out, guaranteed cwd in sub-phase in Message-ID: <20141211200440.5cb07325@pomiot.lan> Organization: Gentoo X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Discussions centering around the Python ecosystem in Gentoo Linux X-BeenThere: gentoo-python@gentoo.org X-BeenThere: gentoo-python@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/hr=6a_3tg0ew/b6UNmrHNGg"; protocol="application/pgp-signature" X-Archives-Salt: 9b4c3227-602b-443d-b126-05bc9147816b X-Archives-Hash: 28ff53fc376b7b214a596585a48f6b92 --Sig_/hr=6a_3tg0ew/b6UNmrHNGg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, developers. The distutils-r1 eclass (and the python-r1 eclass used it to implement it) have seen a few minor changes recently. Hopefully, they will make Python ebuild writing easier and more predictable. Firstly, we have completely removed the parallel run support. This means that in particular: a. all of python_* phases are always run in series. b. python_parallel_foreach_impl() is deprecated, and works as alias to python_foreach_impl(). You can replace it with the latter at any time. c. DISTUTILS_JOBS and DISTUTILS_NO_PARALLEL_BUILD no longer have any meaning. The former may be removed from make.conf, the latter from ebuilds, d. All non-local variables set within sub-phase functions will be passed through to the next sub-phase executions. Please ensure to use 'local' whenever necessary ;). The rationale can be found at [1]. Long story short, the parallel runs gave real gains only in corner cases, while some more corner cases required them disabled. They triggered a lot of bugs in build systems which imposed a serious amount of work on our developers, and often confused our users. Secondly, we have added a clear guarantee that the working directory is restored after each sub-phase function invocation returns. In other words, you are free to 'cd' anywhere you want in a sub-phase function, and you can safely assume that the next Python implementation will start with the same initial directory, and that that directory will be restored once distutils-r1_src_* leaves. This is pretty much a bugfix for the first change. Since parallel runs caused sub-phase functions to be run in subshells, the directory changes within didn't affect the further calls. Additionally, DISTUTILS_IN_SOURCE_BUILD restored working directory on leave. Since we no longer have subshells and bugs started appearing, we decided to remove these implicit conditionals and just preserve working directory unconditionally. Hope these changes make the eclasses a bit easier on you. We still have over 250 distutils ebuilds to update [2]! Have fun. [1]:http://thread.gmane.org/gmane.linux.gentoo.python/641 [2]:http://dev.gentoo.org/~mgorny/python-r1/conversion.xhtml --=20 Best regards, Micha=C5=82 G=C3=B3rny --Sig_/hr=6a_3tg0ew/b6UNmrHNGg Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJUierIXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOgU4QAI6jrXiPb6+4AOGWz1BQfEXh QhtYuD5RKbw8ZsXj2HYmI0GwJYVQflfTyn1wE/Px9jTtSNmSwOwtsQmZLRloe5G0 SFMwHvZS9mnLzgOAVkJLRsJ8NtpN0ZzutOoluGUyYYtr2XJJMsi2y7APY+fHiV5M CShwH2GFYgDtetc6OptBGe+yUy1XPOh8egc4MbLFzFpxdcDk60yV56QcFFpR8dr3 P/4IvRO/12xW2a7XNkBKpCYCcDKPu2pP5dzPTOipNQ8UfU3mHaU2jkxLp/8Nt8Ih cVjzL4XLQC0qZl++4ZECMALvQLADs8H/KCtY3qvv7heBINh+pUI0rMnXBMxV9DTV inFZbhi+mqnYKLZ0t1d6iqytl6HCS7rjOG9PduZ5RumXyVlXufsVJvVryozUizco DwZeYKCy39nbW4MaFgOCfz4YhtUdq1DFdVajcYoBzIn/Kt8/RT8dnP0r2NHVyKDu IVn6JrkZwg+ERRDezc3vZvsIwZ8u62PCUN1Z+7q62xTXHXuWjStXA9iLcDfc5/Ao TXopYDLC9evOJAMrvrO2G8fkCkVvKku30yFjTNMRPyKzLLRfOs0vKKeeJgKPK1kG CJPBtFus+p4FHdNI+ysyJZqkc9Z/SVSvwhffbTJtYU1/hNX8GLCNy97mYB/mq3Gi pz5HF0vtreYhA17aYc7H =g1+9 -----END PGP SIGNATURE----- --Sig_/hr=6a_3tg0ew/b6UNmrHNGg--