On 03/23/18 16:43, Toshio Kuratomi wrote:
On Fri, Mar 23, 2018, 8:13 AM Petr Viktorin <pviktori(a)redhat.com
On 03/23/18 15:15, Toshio Kuratomi wrote:
> Something that occurred to me last night, rather than a
> Fedora version, is there a macro that we could provide to mean
> is available in this Fedora version? That way packagers wanting to
> support their packages on the versions of python that the
> can conditionalize on that imstead of fedora release (which is
> depending on whether someone picked up and drops support for the
> orphaned python 2 package)
I'm not sure how useful that would be. Wouldn't we want that not only
for the python2 package, but also for other dependencies?
Django's py2 subpackage is dropped already. Should there have been a
macro advertising that?
Also, we want to *avoid* breaking everything at once. Providing a flag
that gets flipped at one moment wouldn't solve much.
Depends on what the groups of packagers want... A macro for Django would
definitely have given an easy option for packagers to take advantage
of. Otoh, how far in advance was the Django removal telegraphed and how
much chance was there that a new maintainer would pick it up?
Um, Django set its current policy back in 2015 (see
We will support a Python version up to and including the
first Django LTS release whose security support ends after
security support for that version of Python ends. For
example, Python 3.3 security support ends September 2017 and
Django 1.8 LTS security support ends April 2018. Therefore
Django 1.8 is the last version to support Python 3.3.
Fedora follows upstream, packaging the newest version (which is now
incompatible with py2). And the django-1.11 LTS release is packaged in
Fedora for Python 2, as a courtesy to projects that need a bit more time.
(Of course, instead of maintaining the LTS I could just say to kobo or
pulp that they're out of time and on their own. That's not what I want.
But I also don't want to maintain the LTS forever.)
It doesn't do as much good for a package that is going to
support in the very next release as it does for a package that is going
to drop support two releases from now, maybe, unless someone decides to
pick it up, even at the last minute, perhaps only after they realize
it's been removed from the repository....
Python 2 is security-critical software with thousands of dependencies.
If someone is not following along, and wakes up at the last minute to
maintain it, then I *still* want to remove as many of those dependencies
as possible -- both to make their job easier, and because I wouldn't
trust them to do a very good job.
Why do we want to avoid *breaking* everything at once? I can see us
wanting to keep things *working* as long as it makes sense to the set of
packagers that care (which I think adding the macro would aid in) but it
doesn't feel like actively designing things to break a little at a time
is helpful to anyone.
I *don't* want to support Python 2. I *do* want to give packagers a
more-than-fair change to switch to py3-only, if they haven't done so
yet. And possibly help with concrete problems they'll have when switching.
But I can't help with those problems if they appear all at once.
Python2 is used in many parts of Fedora (and beyond) that we don't *see*
until we start removing things -- build tools, infrastructure, who knows
what else. Removing these things lets us react to problems as they come up.
If everyone starts dropping the py2 subpackages *now*, starting from the
leaves, then by circa 2020 we can orphan Python 2 with clean conscience.
Users can't count on things working from release
to release and packagers have to do more work to keep the pieces they
care about working.
Sorry, but with that mindset I could just orphan Python 2 now. That
would be irresponsible.