Policy for "Specifying Supported Versions" for Python3
The version of Python Policy that was just uploaded to unstable is the first one that attempts to address Python3. It is just a start and more changes are needed. POX and I were just discussion this and discovered that we had been carrying different assumptions about how packages would be expressing what versions they support. Today (since python3-defaults was also just uploaded) we have two supported python versions (2.5, 2.6) and one supported python3 version (3.1). The question that we think needs some discussion is what should the output of `py3versions -vr '>= 2.4'` be? As currently implemented, py3versions does not see that as including any python3 versions, since no python3 support is explicitly declared. I had anticipated something like: `py3versions -vr '>= 2.4 >=3.0'` I am concerned to avoid packages implicitly picking up a claim for python3 support that they don't actually provide. The problem with this is that using something like: XS-Python-Version: >= 2.x, >= 3.x in debian/control is not expected by at the very least python-support and dh_python{2,3}. Lintian is not at all happy with it either. First question: Does anyone know of other packages that this would be a problem for? Alternatives: XS-Python-Version: >= 2.x XS-Python3-Version: >= 3.x This avoids any risk of existing packages inadvertently expressing support for a Python3 version, but adds more fields to debian/control (this would also imply, I think, XB-Python3-Version). This ends up making Packages.gz (and .bz2) larger and making updates slower for everyone. Only interpret XS-Python-Version: >= 2.x as including python3 versions if there is some python3 interpreter in build-depends. This avoids making Packages.gz build and inadvertently causing packages to claim support for Python3, but it could get very convoluted when not all Python3 versions are supported. I think you'd end up with something like: XS-Python-Version: >= 2.7, <<3.0, >= 3.2 I don't thinks this helps in the long run as that would still break all the same tools my original proposal breaks and is more complex (pyversions would have to parse Build-depends and recognize that the python3 interpreter package variants). Related points: Python policy already says "all" means all Python2 versions and has no meaning in a Python3 context and that "current" is deprecated and does not apply at all to Python3. I'm open to other suggestions. Comments? Once there is some rough consensus around a concept, I'll prepare draft policy language for us to review. Scott K -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201006180837.33281.deb...@kitterman.com
Re: Policy for "Specifying Supported Versions" for Python3
Il 18/06/2010 14.37, Scott Kitterman ha scritto: > XS-Python-Version: >= 2.x > XS-Python3-Version: >= 3.x > > This avoids any risk of existing packages inadvertently expressing support > for > a Python3 version, but adds more fields to debian/control (this would also > imply, I think, XB-Python3-Version). This ends up making Packages.gz (and > .bz2) larger and making updates slower for everyone. I'd prefer this method over the above, it's clear and there's less risk to inadvertitely support python3 without proper source changes. Size is not that important: adding 30 bytes to 3,000 packages is less than 100Kb unzipped in total size, not a big deal after all. > Related points: Python policy already says "all" means all Python2 versions > and has no meaning in a Python3 context and that "current" is deprecated and > does not apply at all to Python3. Agreed. Changing "all" to include support to python3 is dangerous. I once read that almost 90% of the code needs at least basic porting. Regards, -- .''`. : :' : Luca Falavigna `. `' `- signature.asc Description: OpenPGP digital signature
Re: Policy for "Specifying Supported Versions" for Python3
[Luca Falavigna, 2010-06-18] > Il 18/06/2010 14.37, Scott Kitterman ha scritto: > > XS-Python-Version: >= 2.x > > XS-Python3-Version: >= 3.x +1 (but with XB-Python-Version, i.e. no XB-Python3-Version) -- Piotr Ożarowski Debian GNU/Linux Developer www.ozarowski.pl www.griffith.cc www.debian.org GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645 -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100618134522.gc18...@piotro.eu
Re: Policy for "Specifying Supported Versions" for Python3
On Jun 18, 2010, at 03:45 PM, Piotr Ożarowski wrote: >[Luca Falavigna, 2010-06-18] >> Il 18/06/2010 14.37, Scott Kitterman ha scritto: >> > XS-Python-Version: >= 2.x >> > XS-Python3-Version: >= 3.x > >+1 (but with XB-Python-Version, i.e. no XB-Python3-Version) Agreed. This aligns with the decision to separate the python2 and python3 stacks by essentially treating them as different interpreters. Maybe we should have called Python 3 "Phyton" instead. :) -Barry signature.asc Description: PGP signature
Re: Policy for "Specifying Supported Versions" for Python3
* Luca Falavigna , 2010-06-18, 15:12: XS-Python-Version: >= 2.x XS-Python3-Version: >= 3.x This avoids any risk of existing packages inadvertently expressing support for a Python3 version, but adds more fields to debian/control (this would also imply, I think, XB-Python3-Version). This ends up making Packages.gz (and .bz2) larger and making updates slower for everyone. I'd prefer this method over the above, it's clear and there's less risk to inadvertitely support python3 without proper source changes. Same here. Size is not that important: adding 30 bytes to 3,000 packages is less than 100Kb unzipped in total size, not a big deal after all. Right. We currently have: $ cat /var/lib/apt/lists/*_debian_dists_sid_*_Sources | grep-dctrl -F Python-Version -s Python-Version '' | wc -lc 963 21141 -- Jakub Wilk signature.asc Description: Digital signature
Re: Policy for "Specifying Supported Versions" for Python3
On Fri, Jun 18, 2010 at 08:37:32AM -0400, Scott Kitterman wrote: > The version of Python Policy that was just uploaded to unstable is the first > one that attempts to address Python3. It is just a start and more changes > are > needed. > > POX and I were just discussion this and discovered that we had been carrying > different assumptions about how packages would be expressing what versions > they > support. > > Today (since python3-defaults was also just uploaded) we have two supported > python versions (2.5, 2.6) and one supported python3 version (3.1). > > The question that we think needs some discussion is what should the output of > `py3versions -vr '>= 2.4'` be? > > As currently implemented, py3versions does not see that as including any > python3 versions, since no python3 support is explicitly declared. I had > anticipated something like: > > `py3versions -vr '>= 2.4 >=3.0'` > > I am concerned to avoid packages implicitly picking up a claim for python3 > support that they don't actually provide. The problem with this is that > using > something like: > > XS-Python-Version: >= 2.x, >= 3.x > > in debian/control is not expected by at the very least python-support and > dh_python{2,3}. Lintian is not at all happy with it either. First question: > Does anyone know of other packages that this would be a problem for? It worked on python-central the last time I tried it, although some 2.X versions were duplicated. > > Alternatives: > > XS-Python-Version: >= 2.x > XS-Python3-Version: >= 3.x > > This avoids any risk of existing packages inadvertently expressing support > for > a Python3 version, but adds more fields to debian/control (this would also > imply, I think, XB-Python3-Version). This ends up making Packages.gz (and > .bz2) larger and making updates slower for everyone. I guess this would break python-apt, since it uses the following one: XS-Python-Version: 2.5, 2.6, 3.1 (breaking meaning feature [3.1 modules] loss in package rebuild) Another reason against this would be that it will look stupid once there is no Python 2 anymore. -- Julian Andres Klode - Debian Developer, Ubuntu Member See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/. pgpiLdCGhehdU.pgp Description: PGP signature
Re: Policy for "Specifying Supported Versions" for Python3
On Jun 18, 2010, at 04:30 PM, Julian Andres Klode wrote: >Another reason against this would be that it will look stupid once there >is no Python 2 anymore. If it's one thing I've learned in all my years is that it's virtually impossible not to look stupid 10 or 15 years later . I mean, have you *seen* those haircuts? Seriously though, make the best decisions for today. Python 2 will be around for a long time. -Barry signature.asc Description: PGP signature
Re: Policy for "Specifying Supported Versions" for Python3
"Luca Falavigna" wrote: >Il 18/06/2010 14.37, Scott Kitterman ha scritto: >> XS-Python-Version: >= 2.x >> XS-Python3-Version: >= 3.x >> >> This avoids any risk of existing packages inadvertently expressing support >> for >> a Python3 version, but adds more fields to debian/control (this would also >> imply, I think, XB-Python3-Version). This ends up making Packages.gz (and >> .bz2) larger and making updates slower for everyone. > >I'd prefer this method over the above, it's clear and there's less risk >to inadvertitely support python3 without proper source changes. Size is >not that important: adding 30 bytes to 3,000 packages is less than 100Kb >unzipped in total size, not a big deal after all. > I take the view that it's already too big, so we should really strive to avoid making it any larger when there are reasonable alternatives. So I would argue there's no such thing as an increase that's not a big deal. Scott K -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/668a4549-51b5-4d2f-9611-29e1ee2e4...@email.android.com
Re: Policy for "Specifying Supported Versions" for Python3
"Barry Warsaw" wrote: >On Jun 18, 2010, at 03:45 PM, Piotr Ożarowski wrote: > >>[Luca Falavigna, 2010-06-18] >>> Il 18/06/2010 14.37, Scott Kitterman ha scritto: >>> > XS-Python-Version: >= 2.x >>> > XS-Python3-Version: >= 3.x >> >>+1 (but with XB-Python-Version, i.e. no XB-Python3-Version) > >Agreed. This aligns with the decision to separate the python2 and python3 >stacks by essentially treating them as different interpreters. Maybe we >should have called Python 3 "Phyton" instead. :) > I don't think we need a new debian/control field to achieve the separation. pyversions (as of yesterday's upload) ignores any python3 versions it gets and py3versions ignores anything less than 3. Scott K -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/692c863e-dabb-419a-b9ac-df0bc004f...@email.android.com