[SoaS] Fwd: Fedora 32 System-Wide Change proposal: Retire Python 2

Peter Robinson pbrobinson at gmail.com
Fri Apr 26 03:12:17 EDT 2019


On Thu, Apr 25, 2019 at 7:20 PM Walter Bender <walter.bender at gmail.com>
wrote:

> gives us a year.. hopefully we'll make great strides during GSoC 2019
>

Except it doesn't really. There are other things that are being actively
removed. For example the python2 bindings for xapian, which is used by
sugar-datastore, fails to build because one of it's build deps rebased to a
new major version that dropped python2 support.

We really need to have the core sugar running as python3 in Fedora 31, in
time for Beta which freezes late August, and core Activities moved over
with just the stragglers and cleanup for for Fedora 32.

So it gives us a year to complete it all, we really need to have the major
pieces done by late summer.

To begin this how many of the Activities that care about the old GTK2
sugar-toolkit do we care about:

# dnf repoquery --whatrequires sugar-toolkit
sugar-castle-0:23-12.fc29.noarch
sugar-connect-0:22-23.fc30.noarch
sugar-countries-0:33-16.fc30.noarch
sugar-deducto-0:9-13.fc29.noarch
sugar-flipsticks-0:13-13.fc30.noarch
sugar-kuku-0:5-8.fc29.noarch
sugar-labyrinth-0:16-11.fc30.noarch
sugar-playgo-0:5-20.fc30.noarch
sugar-srilanka-0:3-8.fc29.noarch
sugar-starchart-0:16-9.fc29.noarch
sugar-view-slides-0:8-20.fc30.noarch
sugar-xomail-0:0-0.19.20090128.fc30.noarch

If there's ones there we don't think will be migrated to gtk3 we should
just retire them now in Fedora 31 and cross them off the list.

Peter

[1] https://fedoraproject.org/wiki/Releases/31/Schedule

On Thu, Apr 25, 2019 at 2:09 PM Alex Perez <aperez at alexperez.com> wrote:
>
>> FYI
>>
>>
>> -------- Forwarded Message --------
>> Subject: Fedora 32 System-Wide Change proposal: Retire Python 2
>> Date: Wed, 24 Apr 2019 17:04:39 -0400
>> From: Ben Cotton <bcotton at redhat.com> <bcotton at redhat.com>
>> Reply-To: devel at lists.fedoraproject.org
>> To: Development discussions related to Fedora
>> <devel at lists.fedoraproject.org> <devel at lists.fedoraproject.org>,
>> devel-announce at lists.fedoraproject.org
>>
>> https://fedoraproject.org/wiki/Changes/RetirePython2
>>
>> == Summary ==
>> The {{package|python2}} package and all its subpackages will be
>> removed from Fedora 32.
>> A legacy {{package|python27}}  package for developers and users will
>> be provided.
>> All packages in Fedora that need Python 2 to run will be removed from
>> Fedora 32 regardless of their dependencies.
>> All packages in Fedora that need Python 2 to build will be removed
>> from Fedora 32 regardless of their dependencies.
>> Exceptions can be granted by FESCo.
>>
>> == Owner ==
>> * Name: [[User:Churchyard|Miro HronĨok]]
>> * Email: <mhroncok at redhat.com> <mhroncok at redhat.com> <python-devel at lists.fedoraproject.org> <python-devel at lists.fedoraproject.org>
>>
>> == Detailed Description ==
>> Python 2 is unsupported upstream since 2020-01-01. Packages dependent
>> on Python 2 are being removed from Fedora for several releases
>> already:
>>
>> * [[Changes/Mass_Python_2_Package_Removal|Fedora 30 Mass Python 2
>> Package Removal]]
>> * [[Changes/F31_Mass_Python_2_Package_Removal|Fedora 31 Mass Python 2
>> Package Removal]]
>>
>> Now, the Python maintainers have decided to pull the plug. The
>> {{package|python2}} package and all its subpackages will be retired
>> (read: removed) from Fedora 32 (Rawhide) as soon as Fedora 31 is
>> branched.
>>
>> All packages depending on any python2 package will be removed. The
>> removal starts 2 weeks before the planned Fedora 32 Mass Rebuild.
>> Broken dependencies will not stop the removals.
>> Packages that Fail to Build From Source and prevent to remove Python 2
>> subpackages may end up with broken dependencies,
>> in cases where it is not desired, those packages will be retired instead.
>>
>> The rules also apply to modules built for Fedora 32+.
>>
>> The package removal will be executed in an automated fashion.
>>
>> Removed packages that would block the upgrades to Fedora 32 will be
>> obsoleted from {{package|fedora-obsolete-packages}}.
>>
>> === The python27 package ===
>>
>> Similarly to existing {{package|python36}}, {{package|python37}} etc.
>> packages, a {{package|python27}} package will be created.
>> This package is indented for Python developers who still need to
>> support the legacy version of Python.
>> This package is indented for users, who still need to use some
>> software depending on the legacy version of Python.
>> This package is not intended for other Fedora packages to be depended upon.
>>
>> The {{package|python27}} package has several drawbacks compared to the
>> original {{package|python2}} package:
>>
>> * it is "flat" - there are no subpackages, everything lives in one package
>> * there is no debug build (previously available as {{package|python2-debug}})
>> * there is no <code>/usr/bin/python</code> (note: there might be
>> already the case before this change)
>> * any special backwards compatible Provides are removed (this package
>> is not intended to be depended upon)
>>
>> === FESCo exceptions ===
>>
>> We realize that there are some packages whose removal could seriously
>> hurt Fedora. FESCo can grant exceptions for packages to use the
>> {{package|python27}} as a runtime or build dependency.
>>
>> The package maintainer is responsible to check the entire dependency
>> chain and they need to request exceptions for the entire list of
>> packages. For example, when seeking exception for the
>> {{package|chromium}} package, the request should contain
>> {{package|python-psutil}} and other dependent packages. (Yes, this is
>> tedious. Maintaining a Python 2 dependent package is a burden.)
>>
>> The exception request must include a plan for migrating to Python 3.
>>
>> Any non-essential dependency must be dropped. That includes optional
>> dependencies, test dependencies, optional subpackages etc.
>>
>> Package that fail to get an exception when the removal starts (see
>> above) will be removed. Their importance for Fedora Release
>> Engineering, Fedora Infrastructure or any other body will not be
>> automagically respected; every package that needs Python 2 needs an
>> exception.
>>
>> The change owners will send regular reminders to the package owners.
>>
>> == Benefit to Fedora ==
>> Python 2 is past upstream End of Life since 2020-01-01. This changes
>> is generally crafted in a way that:
>>
>> * it leaves Python developers an option to use it in case they still
>> need to support it
>> * it leaves Fedora users an option to use it in case they still need
>> it to run their (3rd party) software
>> * it leaves Fedora packagers an option to keep using it (complicated,
>> but possible)
>>
>> While:
>>
>> * it removes Python 2 software from Fedora that was only preserved so
>> far by inaction
>>
>> Using Python 2 is dangerous. While the Fedora Python maintainers will
>> try to fix as many security bugs as possible, without the upstream
>> involvement this will be hard.
>>
>> Python 2 is deprecated since Fedora 30. This change moves Python 2
>> from second class citizen to third class citizen.
>>
>> == Scope ==
>> * Proposal owners:
>> ** retire {{package|python2}}
>> ** introduce {{package|python27}}
>> ** remove all {{package|python2}} dependent packages that do not have
>> FESCo exceptions
>> ** obsolete removed packages that break the upgrade path via
>> {{package|fedora-obsolete-packages}}
>> * Other developers:
>> ** remove their {{package|python2}} dependent packages without exceptions
>> ** get exceptions if needed
>> ** fix broken dependencies
>> * Release engineering: [https://pagure.io/releng/issue/8306 #8306]
>> easeBlocking/Fedora{{FedoraVersionNumber|next}}|List of
>> deliverables]]: none
>> * Policies and guidelines: Python 2 packaging is against the
>> guidelines since Fedora 30. Python 2 packaging guidelines will be
>> removed from [https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/
>> Python Appendix] (unless the FPC wants to keep them around until F31
>> EOL).
>> * Trademark approval: not needed for this Change
>>
>> == Upgrade/compatibility impact ==
>> The majority of removed packages will be obsoleted and removed on upgrade.
>>
>> Users needing Python 2 libraries will not find these packaged as RPMs.
>> They may install upstream versions using pip and virtualenv.
>>
>> == How To Test ==
>> Try to update Fedora 30 or 31 to 32. No python2 packages should block
>> the upgrade.
>> Try to run Python 2 software via the {{package|python27}} package.
>>
>> == User Experience ==
>> There will be close to zero Python 2 RPMs in Fedora repos. Users are
>> encouraged to switch to Python 3 and/or use Python 2 virtual
>> environments and pip for development.
>>
>> == Dependencies ==
>> Ideally, all programs that use python2 would be switched to use
>> python3. Although we don't expect everything to be switched over, as
>> much as possible should be, so that the ripped remaining python2 set
>> is small as possible.
>>
>> == Contingency Plan ==
>> * Contingency mechanism:
>> ** In case of serious issues, FESCo can issue a general exception for
>> packages that would otherwise prevent Fedora 32 from being composed.
>> ** If someone steps up to maintain Python 2 (including the full
>> ecosystem of packages now in Fedora), they can decide to discontinue
>> removing packages, revert this Change, or come up with another plan.
>> (Note that in this case, current maintainers will most likely orphan
>> many fundamental python2 packages.)
>> * Contingency deadline: Fedora 32 Beta
>> * Blocks release? in theory it should not, in practice, it may break
>> the release and hence it will block it until fixed
>> * Blocks product? all of them?
>>
>> == Documentation ==
>> This page should serve as the documentation.
>>
>> == Release Notes ==
>> TBD.
>>
>> --
>> Ben Cotton
>> Fedora Program Manager
>> TZ=America/Indiana/Indianapolis
>> Pronouns: he/him
>> _______________________________________________
>> devel-announce mailing list -- devel-announce at lists.fedoraproject.org
>> To unsubscribe send an email to devel-announce-leave at lists.fedoraproject.org
>> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
>>
>> _______________________________________________
>> SoaS mailing list
>> SoaS at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/soas
>>
>
>
> --
> Walter Bender
> Sugar Labs
> http://www.sugarlabs.org
> <http://www.sugarlabs.org>
> _______________________________________________
> SoaS mailing list
> SoaS at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/soas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/soas/attachments/20190426/18e9ef5e/attachment.html>


More information about the SoaS mailing list