Fedora is always moving forward and that means switching to Python 3. There are plenty of upstream projects that already support Python 3. Unfortunately, they are often not packaged in Fedora. We try to keep track of such cases and more in the Fedora Python 3 Porting Database. There, you can see these packages marked with a blue color and listed on the page for Mispackaged packages. Get up to three Fedora badges for updating spec files to support Python 3! Join the porting party, help us move to the future and get your reward. We can port it, but not without your help!
Get involved, port a package
If you want to get the badges or just want to help the community, here’s what you can do:
- Pick a Mispackaged package.
- Open the Bugzilla link and check the status of the package.
- Post a comment that you are going to make a patch.
- Prepare a commit for the spec file that makes it Python 3 compatible, create a patch from it, attach it to Bugzilla.
- Make sure it gets applied.
- Claim your badge(s).
You’ll get the Parselmouth I badge for your first ported package, the Parselmouth II for first five and the Parselmouth III for the first ten.
Would you like to know more? See our detailed how-to guide.
Python 3 is happening
The first version of Python 3 was released in 2008. Unfortunately, Python 3 isn’t largely backwards-compatible with Python 2. Some projects are approaching the switch slowly. Python core developers have announced that 2.7 is the last 2.x version. In 2020, Python 2 will cease to be maintained.
The adoption of Python 3 by the community is accelerating. More and more projects are dropping Python 2 support, and Fedora will be there to lead the way.
Python 3 in Fedora
Fedora takes great pride in participating in the Python 3 porting effort. Starting from Fedora 23, users will no longer find Python 2 in the default installation of the Workstation, thanks to our Python 3 as Default change. However, our journey is yet to come to an end. Currently, only 47 percent of Python packages in Fedora are ported to Python 3.
Written with help from Tomáš Orsava and Petr Viktorin.
July 17, 2016 — 03:35
Hello,
I want to contribute. I know about python3, but I’ve never contribute to a project like Fedora :/ Could you please help me to follow the right steps to contribute?
Are the following steps correct?
1. Pick a Mispackaged package.
-> For instance, beesu.
2. Open the Bugzilla link and check the status of the package.
-> Is this the bugzilla link: http://fedora.portingdb.xyz/pkg/beesu/ for the beesu package?
3. Post a comment that you are going to make a patch.
-> Where?
4. Prepare a commit for the spec file that makes it Python 3 compatible, create a patch from it, attach it to Bugzilla.
-> What should be the structure of the commit?
5. Make sure it gets applied.
-> Does it means runing tests?
6. Claim your badge(s).
-> Thanks xD
I’ll really apreciate your help.
Thanks.
July 18, 2016 — 13:03
Hi, thanks for the will to contribute.
First of all, let me point you directly to the detailed how-to, that explains thing more clearly. Here, we tried to be as brief as possible. Please visit http://fedora.portingdb.xyz/howto/
Now I’ll try to answer your questins:
2. beesu unfortunately doesn’t have open bugzilla yet, but if you look at some other package, that does, like http://fedora.portingdb.xyz/pkg/python-zope-proxy/ you’ll see bugzilla link on the left in the link section. When the package does not have a open bug yet, feel free to open one, here https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=beesu
4. All Fedora specfiles are stored in git, see here: http://pkgs.fedoraproject.org/cgit/rpms/beesu.git for beesu
5. No this means somebody will get your patch and apply it. Either a maintainer of the package or a proven packager (more info in the link that this point is in the list)
As said, all of this is described in http://fedora.portingdb.xyz/howto/ – please read that and if you are unsure later, feel free to ping me (mhroncok) as freenode #fedora-python channel.
July 18, 2016 — 13:05
I somehow didn’t finish 4. before posting, so here it is:
4. All Fedora specfiles are stored in git, see here: http://pkgs.fedoraproject.org/cgit/rpms/beesu.git for beesu. The commit should change the spec so it is Python 3 compatible. This thing is more described in our guide here http://python-rpm-porting.readthedocs.io/
July 20, 2016 — 19:54
there are a lot patches, but maintainers not react
July 24, 2016 — 19:31
Any specific links? I can push some patches further.
July 25, 2016 — 13:53
list is there https://bugzilla.redhat.com/show_bug.cgi?id=1312032 field “Depends On”
July 25, 2016 — 15:47
we are slowly reviewing those and pushing them if the package maintainer is not against it
July 25, 2016 — 13:56
there is 2 patches for 1 package https://github.com/pulp/nectar/pulls
July 25, 2016 — 15:50
This is upstream, the post is about spec files. I don’t understand how that relates… sorry.