Bug 1370016

Summary: Port fabric to Python 3
Product: [Fedora] Fedora Reporter: Craig Rodrigues <rodrigc>
Component: fabricAssignee: Othman Madjoudj <athmanem>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: athmanem, mhroncok, pviktori, silas, tadej.j
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-19 14:16:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1572928    
Bug Blocks: 1285816    
Attachments:
Description Flags
Port Fabric to Python 3 none

Description Craig Rodrigues 2016-08-25 04:43:13 UTC
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 Othman Madjoudj 2016-08-27 14:25:20 UTC
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 (pviktori) 2016-08-29 12:50:11 UTC
Perhaps it would be better to add Mathias' fork as a separate new package?

Comment 3 Othman Madjoudj 2016-08-29 19:20:43 UTC
That was my thinking, I'll submit review request.

Comment 4 Craig Rodrigues 2016-08-29 19:54:30 UTC
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 10:09:09 UTC
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 10:46:30 UTC
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 Othman Madjoudj 2018-04-28 23:18:16 UTC
Seems like a good plan, I resubmitted fabric3 for review in #1572928

Comment 8 Fedora End Of Life 2018-05-03 08:02:38 UTC
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 Othman Madjoudj 2018-05-12 15:05:35 UTC
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 Othman Madjoudj 2018-05-12 19:04:42 UTC
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

Comment 11 Jan Kurik 2018-08-14 11:08:59 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 12 Petr Viktorin (pviktori) 2019-03-19 14:16:32 UTC
fabric is now Python 3 only, at least in Rawhide.