Path: csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Piotr =?utf-8?Q?O=C5=BCarowski?= Newsgroups: linux.debian.maint.python Subject: Re: Byte-compilation for pypy3 Date: Fri, 28 Sep 2018 00:00:02 +0200 Message-ID: References: X-Original-To: debian-python@lists.debian.org X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Sep 27 21:57:01 2018 Old-Return-Path: X-Amavis-Spam-Status: No, score=-11.748 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, LDO_WHITELIST=-5, PGPSIGNATURE=-5, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -7 Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to:user-agent; bh=2OMosrqmWfaWxH8oSqMs7ZOUWL0Uh1ql8vPZFp3j7OA=; b=gZkYfKzBDVHrA3E0sj3KuG/apznynjrLCiVcnQJxreTjCYWbWxGLBwL4sF5C/ei2VW lfawK/PkDhUpK9pokHrwtG9Um2OKAOdRPAPKJHsPnTn992+RfXmSmOZzSCW92J2XbZ0T US+8/IzLwYBcflvr0NngjndY3K1Vz5nc7RRof3cxDoMN+l01ffFh9Eee2CWq6fUOagaB hweQ4sEfZDA1eTb5qDw11qe2+3t+4zMiCvx4v3io1Wjso9z+Nvjh1ATsWezem2BXZh2U 0PrhSvJdLaCs2hW4mfIZQmrWKRSQyHS2rWPjM7G0w/8stB3FIt7Gu74nyKFCFED5v88r 4y+Q== X-Google-Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=2OMosrqmWfaWxH8oSqMs7ZOUWL0Uh1ql8vPZFp3j7OA=; b=Ze7GhuLqbdMPbGo/27DHOFCaZRuue4nsXUlOkDic7XWdeYb21J4SxGhjBAwiqpXY/K R2cJ8cHh/13gSW4Mr5UjoQNIAl2R+G6A9Q7uxECwNbvYFo2IVkdqcd/JbmLx/IMmAJqF 3i8RY7wWQCQhJZ3Qj0UqL3zjvY0fauxcrV5ntMlV1zVO3dZM8JQIGlFgx+wt9Sso18us EHTThjKACDeHWbTfQ9x5Vt1SyliR6MSKLPDyKJZRn5MBSCBNSDYH6dJA/0XZfaVdRc0I V5bwYYhBNfXKeue07UvlXwPqBYjjPzNkmkiUCrkk5zD0fFYvKo/dbuZqArLqNSDXPDPH DQcg== X-Gm-Message-State: ABuFfog5XD01zAdLnr/jhBEE2YWyiIJmmXCLNx1nw+uY9IHTFLXIWBLK z3Aa7T0RZf3RvVVolPdKnUvIJBHH X-Google-SMTP-Source: ACcGV638oFqbpJuamC1HdX8MG+RnZVi1vN/INbS4kiwNf8igri4wl6jT5Wo4NEuVT9eS919qc8tBBg== X-Received: by 2002:a19:8c1a:: with SMTP id o26-v6mr4077968lfd.90.1538085403124; Thu, 27 Sep 2018 14:56:43 -0700 (PDT) Sender: robomod@news.nic.it Mail-Followup-To: debian-python@lists.debian.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="t4vilmrw3aeukgu5" Content-Disposition: inline X-Operating-System: Debian GNU/Linux (4.18.0-1-amd64) User-Agent: NeoMutt/20180716 X-Mailing-List: archive/latest/16377 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/20180927215641.ckgekus3gpdf6mvf@p1otr.com Approved: robomod@news.nic.it Lines: 67 Organization: linux.* mail to news gateway X-Original-Date: Thu, 27 Sep 2018 23:56:41 +0200 X-Original-Message-ID: <20180927215641.ckgekus3gpdf6mvf@p1otr.com> X-Original-References: <20180827015556.a7us7rxxkv6thflt@bach.rivera.co.za> <20180827090620.arbkko72uq4j4aix@sar0.p1otr.com> <20180827091036.honigvvbd543zqzs@sar0.p1otr.com> <20180827091505.2toz3hmw5n3aw2wv@sar0.p1otr.com> <20180827160121.mnvgfjixnb6o3dmt@bach.rivera.co.za> X-Original-Sender: =?UTF-8?Q?Piotr_O=C5=BCarowski?= Xref: csiph.com linux.debian.maint.python:10947 --t4vilmrw3aeukgu5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline > > err again (sorry, to many things at once), I meant option 4 (I can > > change dh-python to generate additional checks for pypy{compile,clean}) > > That'd be pypy3{compile,clean} this is now available in dh-python 3.20180927. Only postinst files are checking for pypy3compile, though. py3clean in prerm will remove .pyc generated by PyPy3 as well (so no need to call pypy3clean in there) > OK, so, now to figure out the "magic" part (byte-compiling already > installed modules when pypy3 is installed / removed. > > Should I run the runtime.d directory? Currently everything in that will > only do things with cpython bytecode. > > Apps that aren't in dist-packages probably don't need pypy3 bytecode, > unless they want to be run with pypy. > > Anything that tries to determine the version (e.g > /usr/share/python3/runtime.d/public_modules.rtinstall and > /usr/share/python3/runtime.d/public_modules.rtremove) looks like they > would break if I told them the version was pypy3. > > So, I'm somewhat tempted to ignore runtime.d entirely, and just > byte-compile /usr/lib/python3/dist-packages. That seems pretty hacky, > though :/ I think we should create a separate runtime.d for pypy3 and a separate one for bcep files as well while we're at it. FTR: bcep files are used to describe files that py3compile should avoid. F.e. files meant for Python >= 3.6 ('async' keyword, etc.) should not be byte-compiled using python3.5 (see dh_python3's manpage for details or python3-jinja2 and pylint3 binary packages for examples). Since we will share dist-package directory, we'll need to describe exceptions for pypy3compile. One way is to extend version range syntax in current /usr/share/python3/bcep/ files but I'd rather have separate /usr/share/pypy/bcep/ used by pypy3compile. --t4vilmrw3aeukgu5 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEHS+omFjar2IXhi33rvbxoqdFdkUFAlutUhgACgkQrvbxoqdF dkUcVQ//VCcsL10NrN088dv/bQRgmFL8rO77zsY68WHJxW3PONphV7dHg2dVXt59 lSgR9P17wnK5dzUWKHfihEmcHio6Gezts5+1KnhbtUqahN1KygmCpxBjlFrlADS3 MmMG9uFZMg6m43NxmBnzz7rSaEJ7YmAIEyf3wgrMlaauHlhAxcF1n9swrvjzVEz4 LsZL9ODQWSFfTh6Iuknu6tWA7j4ZGcsQsp9TizIUtC2vStV1Lnx78zaqLRQw7IM9 RF/LxSeEdZVR33IgR7rCzZDMu0Pt+hsskyOPrGH9TSRAriSRRgWC4G0Sh1zght5Y YBr0X+6F/iDb1C+s8Bx2XYbCHi5cPpwyj3WxEF4ahHXzG3Vq715TJF8gYSRT3hUN 3DWouHGxDhZCMVwPsIM6pc8bDhGK20HvNaZZrVmKvsCTip2jfFiO7uwjNYE/gy3F Zf8slnKqhf0K0jegS2R9Eqsi3I6LolqDH8BZYOk33C2zLIhcZEs9ICs4flJRH2zy dEdYZGn/3EjUa8ASagGwtdpY5Kt6+JdBE34oK5XE3jkZ+rfcwMOLe2DZRAYM+pz4 SpSlqEVDHimE4T4K3bm63na/njAfC6BtiShO7LKZ+7/hJKCbCsE+PNmIVrldGBpX YB5HJaFykTqMCMh8a92c2IfRX3Jqv2PFCoB8N0OzEq4Lu2dnCDU= =UzX9 -----END PGP SIGNATURE----- --t4vilmrw3aeukgu5--