From Fedora Project Wiki
(Change Announced on 2014-12-17)
(Update based on fedora-devel discussion to do package replacement vs. coinstallability)
Line 58: Line 58:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
This change proposal aims to get wxPython 3.0 (Python bindings for the wxWidgets GUI library) packaged and into Fedora.  Currently Fedora has wxPython 2.8 which has not been updated since 2011.  The plan is to make wxPython 3.0 co-installable with wxPython 2.8, similarly to what has been done with the wxWidgets packages (wxGTK and wxGTK3).
This change proposal aims to get wxPython 3.0 (Python bindings for the wxWidgets GUI library) packaged and into Fedora.  Currently Fedora has wxPython 2.8 which has not been updated since 2011.  The plan is to make replace wxPython 2.8 with wxPython 3.0 and fix any dependent packages that may have issues with wxPython 3.0.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 67: Line 67:
* Proposal owners:
* Proposal owners:
<!-- 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?-->
# Update existing wxPython package so that it is co-installable with wxPython 3 ([https://bugzilla.redhat.com/show_bug.cgi?id=1142515 currently in progress]).
# Update existing wxPython package to wxPython 3 and ensure it builds/works in Rawhide.
# Get wxPython 3 through the package review process, built, and ensure it can co-exist with wxPython 2.8 package.
# In conjunction with the wxPython dependent package maintainers, test dependent packages to ensure they work correctly with wxPython 3. Assist with porting issues.
# If all wxPython-dependent packages get moved to wxPython 3.0, consider retiring wxPython 2.8 package.


* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: <!-- 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?-->
# For maintainers of packages that depend on wxPython: switch the dependent packages to use wxPython 3.0.  This can be done package-by-package as time permits.  The API hasn't changed much between wxPython 2.8 and 3.0, but some changes may be required.
# For maintainers of packages that depend on wxPython: test the dependent packages to ensure they work correctly wxPython 3.0.  Update the dependent packages as needed to support wxPython 3.0.  The API hasn't changed much between wxPython 2.8 and 3.0, but some changes may be required.
# If a package cannot be moved to wxPython 3, after wxPython 3 is packaged, maintainers should verify that their packages continue to use wxPython 2.8 correctly when wxPython 3.0 is co-installed.  A small change may be required to some packages to ensure they select wxPython 2.8 specifically.


* Release engineering: None  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: None  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 115: Line 113:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
These packages depend on wxPython: PyPE, PythonCard, bibus, congruity, cura, cycle, gitso, gnumed, gnuradio, grass, gtkwhiteboard, hugin, londonlaw, mMass, metamorphose2, openstv, peppy, phatch, plater, pronterface, pyhoca-gui, pymol-wxpython, pyobd, python-matplotlib-wx, python-pyface-wx, python-squaremap, rurple, sidc-gui, sk2py, spe, taskcoach, timeline, wammu, winpdb, wxGlade
The packages below depend on wxPython.  The wxPython 3 test/fix status will be tracked below.
 
PyPE, PythonCard, bibus, congruity, cura, cycle, gitso, gnumed, gnuradio, grass, gtkwhiteboard, hugin, londonlaw, mMass, metamorphose2, openstv, peppy, phatch, plater, pronterface, pyhoca-gui, pymol-wxpython, pyobd, python-matplotlib-wx, python-pyface-wx, python-squaremap, rurple, sidc-gui, sk2py, spe, taskcoach, timeline, wammu, winpdb, wxGlade
 
{| class="wikitable"
!Package|Status
|-
|Pie
|Danish
|-
|Cheese
|Yogurt
|}


== Contingency Plan ==
== Contingency Plan ==

Revision as of 22:24, 19 December 2014


wxPython 3

Summary

Get wxPython 3 packaged and into Fedora.

Owner

Current status

  • Targeted release: Fedora 22
  • Last updated: 2014-12-16
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

This change proposal aims to get wxPython 3.0 (Python bindings for the wxWidgets GUI library) packaged and into Fedora. Currently Fedora has wxPython 2.8 which has not been updated since 2011. The plan is to make replace wxPython 2.8 with wxPython 3.0 and fix any dependent packages that may have issues with wxPython 3.0.

Benefit to Fedora

This change brings a more modern wxPython to Fedora, including support for GTK3 (currently wxPython 2.8 uses GTK2). Additionally, it moves Fedora to a supported version of wxPython.

Scope

  • Proposal owners:
  1. Update existing wxPython package to wxPython 3 and ensure it builds/works in Rawhide.
  2. In conjunction with the wxPython dependent package maintainers, test dependent packages to ensure they work correctly with wxPython 3. Assist with porting issues.
  • Other developers:
  1. For maintainers of packages that depend on wxPython: test the dependent packages to ensure they work correctly wxPython 3.0. Update the dependent packages as needed to support wxPython 3.0. The API hasn't changed much between wxPython 2.8 and 3.0, but some changes may be required.
  • Release engineering: None
  • Policies and guidelines: None

Upgrade/compatibility impact

User written wxPython applications may require a small amount of porting, but mostly wxPython 2.8 is forward compatible with wxPython 3.0.

How To Test

No special hardware or data is required. To test, one would install a wxPython-dependent package and verify that it functions as it did with wxPython 2.8 (other than possible GTK2 vs GTK3 UI differences).

User Experience

For the most part, users will not notice any changes, other than the fact that wxPython applications will now look like GTK3 applications instead of GTK2.

Dependencies

The packages below depend on wxPython. The wxPython 3 test/fix status will be tracked below.

PyPE, PythonCard, bibus, congruity, cura, cycle, gitso, gnumed, gnuradio, grass, gtkwhiteboard, hugin, londonlaw, mMass, metamorphose2, openstv, peppy, phatch, plater, pronterface, pyhoca-gui, pymol-wxpython, pyobd, python-matplotlib-wx, python-pyface-wx, python-squaremap, rurple, sidc-gui, sk2py, spe, taskcoach, timeline, wammu, winpdb, wxGlade

Status
Pie Danish
Cheese Yogurt

Contingency Plan

  • Contingency mechanism: remove wxPython 3.0 and revert any dependent packages back to wxPython 2.8
  • Contingency deadline: Beta Freeze
  • Blocks release? No
  • Blocks product? No

Documentation

http://wxpython.org/migrationguide.php

Debian's wxPython 3.0 Migration Documentation/Tools: http://anonscm.debian.org/cgit/collab-maint/wx-migration-tools.git/tree/README

Release Notes