svn commit: r449196 - in head: . databases databases/py33-gdbm databases/py33-sqlite3 devel devel/py3-enum34 devel/py33-setuptools lang lang/python33 x11-toolkits x11-toolkits/py33-tkinter
Kubilay Kocak
koobs at FreeBSD.org
Mon Sep 4 10:16:22 UTC 2017
On 9/4/17 5:44 PM, René Ladan wrote:
> 2017-09-04 5:30 GMT+02:00 Kubilay Kocak <koobs at freebsd.org
> <mailto:koobs at freebsd.org>>:
>
> On 9/3/17 8:33 PM, Rene Ladan wrote:
> > Author: rene
> > Date: Sun Sep 3 10:33:56 2017
> > New Revision: 449196
> > URL: https://svnweb.freebsd.org/changeset/ports/449196
> <https://svnweb.freebsd.org/changeset/ports/449196>
> >
> > Log:
> > Remove Python 3.3 and related ports, it expired today:
> > 2017-09-01 lang/python33: No longer receives bug fixes, only
> security updates. Please update to Python 3.6
> > databases/py33-gdbm
> > databases/py33-sqlite3
> > devel/py33-setuptools
> > x11-toolkits/py33-tkinter
> > devel/py3-enum34
> >
> > Deleted:
> > head/databases/py33-gdbm/
> > head/databases/py33-sqlite3/
> > head/devel/py3-enum34/
> > head/devel/py33-setuptools/
> > head/lang/python33/
> > head/x11-toolkits/py33-tkinter/
> > Modified:
>
> [...]
>
> Please undelete py-enum34.
>
> it is a backport of a 3.4 module for all versions < 3.4 (including 2.7),
> not just 3.3 and still a dependency for any port that
> setup.py:*_requires it, orthogonal to any lang/pythonXY ports existence.
>
>
> devel/py-enum34 is still out there. Only devel/py3-enum34, which was
> only useful for Python 3.3 got removed.
It is *not* only relevant for 3.3, it is relevant for any python package
(current, or future) that references it as a dependency, orthogonal to
the Python version.
In particular, for this (enum34) case, enum34 can be a dependency for
*any* package for any Python version, including for > 3.4 (eg: 3.5, 3.6,
future 3.x).
What was incorrect, and probably threw off the scent was
*USES=python:3.3*. It should have always been 3.3+.
Something that is not immediately clear, but has been mentioned in the
past: Even if/when enum34 (and any module for that matter), ends up in
the standard python library, if a package references 'module' in its
*_requires, the *stdlib module does not satisfy it* and the package will
break.
The confusion happened before with argparse, and has happened again with
enum34. In this case complicated and red-herring'd by the py/py3-
duality, and more so due to the incorrect USES line.
> At least both 'rmport' (which cross-greps all ports Makefiles) and 'make
> index' were still happy.
That:
- Only covers existing that may have referenced it
- Only validates framework semantics, not runtime dependency
instantiation, and
- Does not take into account any ports that may need to reference (now
or going forward).
Again, py3-enum34 is a valid, current python package for any Python 3.x,
for any port that is buildable with Python 3.
Please resurrect it.
> René
> --
> https://rene-ladan.nl/
More information about the freebsd-python
mailing list