Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1024805
Summary: | mock: Use Python 3 instead of Python 2 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | mock | Assignee: | Miroslav Suchý <msuchy> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | karlthered, mebrown, msuchy, pingou, redhat-bugzilla, williams |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-11-18 16:23:26 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: | 1014563, 1024806, 1136366 | ||
Bug Blocks: | 1024796 |
Description
Miro Hrončok
2013-10-30 13:15:38 UTC
Interesting. I started looking at what it would take to port mock to python3 last week and now I actually have a request for it :) I created a work-python3 branch in my local git tree, ran 2to3 over the mock directory and then started looking at the changes. So far I have two things that are show-stoppers: 1. Figuring out how to tell rpm to use python3 to byte-compile modules when packaging. 2. Translating the trace_decorator code. I'm sure more things will crop up as we move forward. The question is, should we try and maintain 2 and 3 simultaneously or should we do a cut-over to 3 at some point? I believe that RPM bytecompiles python3 modules by default, see for example this log: http://kojipkgs.fedoraproject.org/packages/python-setuptools/0.9.8/2.fc20/data/logs/noarch/build.log (search for byte-compiling) I think that dropping Python 2 support is not yet a very good idea for systems with doesn't offer Python 3, such as RHEL/CentOS. It's relatively easy to keep one code working with Pythons 2.6, 2.7 and 3.3. This is a very good text about it: http://lucumr.pocoo.org/2013/5/21/porting-to-python-3-redux/ Thanks to msimacek work, mock and mockchain are python3 ready. If you change #!/usr/bin/python in both scripts to #!/usr/bin/python3 it will work. I do not want to change it for current RHELs and stable Fedora and F21, which is just before release. I changed those shebang by sed in spec file for F22. Commit e75d55b. However there is one problem. There is no lvm2-python3-libs yet (see bug 1136366). Therefore build of mock-lvm subpackage is temporary disabled for F22. I hope I can enable it before we cut next release. By curiosity, from which version of mock is the API compatible py3 ? mock-1.2.0 is the first version which works under python3 rawhide version of mock now run under python3 |