From Fedora Project Wiki
(Benefit to Fedora)
(Scope)
Line 274: Line 274:


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners: remove packages as described above as soon as possible, update {{package|python-sphinx}} to 2.0.0 or newer, provide guidance and help.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: stop using {{package|python2-sphinx}} (list of packages in description) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (no Release Engineering impact is anticipated) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: empty <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->


* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: none <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->


* Trademark approval: N/A (not needed for this Change)
* Trademark approval: not needed for this Change
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->



Revision as of 18:25, 6 February 2019


Update Sphinx to version 2 and drop Python 2 support from Sphinx

Summary

The version 2.0.x of Sphinx, popular Python documentation generator and framework, is expected to be released in early 2019. It drops support for Python 2. As part of Finalizing Fedora's Switch to Python 3, we update Package-x-generic-16.pngpython-sphinx to 2.0.x and we drop Package-x-generic-16.pngpython2-sphinx and related packages from Fedora 31 and further.

Package maintainers using Sphinx on Python 2 have three options:

  • they stop using Python 2 entirely (preferred), dropping their python2 subpackages if not dependent upon by other packages,
  • they switch to Sphinx on Python 3 for building their documentation,
  • they stop building documentation.

Packages that use Sphinx on Python 2 on runtime are Sphinx extensions, themes etc. and will be removed together with Package-x-generic-16.pngpython2-sphinx.

Owner

Current status

  • Targeted release: Fedora 31
  • Last updated: 2019-02-06
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

See live (or several days old) information of Python dependents of Template:Python2-sphinx at the Python 2 Dropping Database.

We will remove the following (sub)packages:

The following (source) packages currently (2019-02-06) BuildRequire any of the above and will need to be adapted to stop doing that:

As said in the summary, packages will either switch to Python 3 Sphinx or stop building the docs. Change owners can provide guidance and help yet they are not expected to do all the work here.

The following tools will be switched to Python 3:

  • /usr/bin/sphinx-apidoc
  • /usr/bin/sphinx-autogen
  • /usr/bin/sphinx-build
  • /usr/bin/sphinx-quickstart

Their -3 and -3.X suffixed counterparts will be kept as symbolic links for backwards compatibility.

Benefit to Fedora

Fedora is the leading environment for Python development and will include the newest and nicest Sphinx for users and packagers. The removal of Python 2 Sphinx will help getting rid of significant Python 2 usage, as Fedora long term plan is to get rid of this legacy interpreter. Python 2 is deprecated in Fedora and its upstream support ends at 2020-01-01, very early in the Fedora 31 life time.

Scope

  • Proposal owners: remove packages as described above as soon as possible, update Package-x-generic-16.pngpython-sphinx to 2.0.0 or newer, provide guidance and help.
  • Other developers: stop using Package-x-generic-16.pngpython2-sphinx (list of packages in description)
  • Policies and guidelines: none
  • Trademark approval: not needed for this Change

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes