Bug 1370016 - Port fabric to Python 3
Port fabric to Python 3
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: fabric (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Athmane Madjoudj
Fedora Extras Quality Assurance
:
Depends On: 1572928
Blocks: PYTHON3
  Show dependency treegraph
 
Reported: 2016-08-25 00:43 EDT by Craig Rodrigues
Modified: 2018-05-12 15:04 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Port Fabric to Python 3 (2.39 KB, text/plain)
2016-08-25 00:43 EDT, Craig Rodrigues
no flags Details

  None (edit)
Description Craig Rodrigues 2016-08-25 00:43:13 EDT
Created attachment 1193863 [details]
Port Fabric to Python 3

The maintainer of Fabric is not accepting patches which break compatibility with Python 2.5.  Mathias Ertl managed to port Fabric to Python 3, but these patches were not accepted:

https://github.com/fabric/fabric/issues/1378


Mathias then created a fork of Fabric which supports Python 2.7 and 3.4+:

https://github.com/mathiasertl/fabric


This port is actively maintained and follows the upstream fabric release schedule.
It has also been uploaded to pypi:

https://pypi.python.org/pypi/Fabric3/1.12.post1


As part of the Fedora effort to move to Python 3, I would like to request
that the default Fabric package in Fedora be moved the Mathias Ertl's fork.
Comment 1 Athmane Madjoudj 2016-08-27 10:25:20 EDT
Looks good, however I see a potential issue in case we want to provide both Py2 and Py3 sub packages;

The .egg-info is not the same as the original Fabric which could raise dependency issues on some Py2 applications expecting the original Fabric library.
Comment 2 Petr Viktorin 2016-08-29 08:50:11 EDT
Perhaps it would be better to add Mathias' fork as a separate new package?
Comment 3 Athmane Madjoudj 2016-08-29 15:20:43 EDT
That was my thinking, I'll submit review request.
Comment 4 Craig Rodrigues 2016-08-29 15:54:30 EDT
I strongly disagree with having a separate package for this,
and hope you don't go down this path.

Please talk to Mathias and ask him what he did to port Fabric to Python 3.

The items which he changed are very arcane things which the vast majority
of users do not use.

In my own projects, I switched from Fabric to Fabric3, and noticed no
differences.
Comment 5 Fedora End Of Life 2017-02-28 05:09:09 EST
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.
Comment 6 Miro Hrončok 2018-04-25 06:46:30 EDT
Can we perhaps:

 1. package fabric3
 2. retire fabric
 3. make adjustments to fabric3 to provide and obsolete fabric, add a /usr/bin/fabric symblink?

Athmane, let me know if you are still interested.
Comment 7 Athmane Madjoudj 2018-04-28 19:18:16 EDT
Seems like a good plan, I resubmitted fabric3 for review in #1572928
Comment 8 Fedora End Of Life 2018-05-03 04:02:38 EDT
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Comment 9 Athmane Madjoudj 2018-05-12 11:05:35 EDT
fabric 2.0 was released, it's compatible with Py3.
I guess I'll retire fabric3 since it conflicts with fabric (both use namespace /fabric)
Comment 10 Athmane Madjoudj 2018-05-12 15:04:42 EDT
On second thought, we'll keep them both since:
- fabric2 can be installed in diff namespace
- fabric3 will provide v1 old API for application that are not compatible yet with fabric2

Note You need to log in before you can comment on or make changes to this bug.