Bug 1805231

Summary: firefox requires Python 2 to build
Product: [Fedora] Fedora Reporter: Petr Viktorin <pviktori>
Component: firefoxAssignee: Gecko Maintainer <gecko-bugs-nobody>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: 0xalen+redhat, anto.trande, elxreno, gecko-bugs-nobody, jhorak, john.j5live, kengert, mhroncok, pjasicek, python-maint, rhughes, rstrode, sandmann, stransky
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-08 14:54:43 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:
Bug Depends On:    
Bug Blocks: 1803205    

Description Petr Viktorin 2020-02-20 14:22:09 UTC
Python 2 reached upstream end-of-life in January 2020. In Fedora Rawhide, it's now provided from the compat package `python27`.
Packages that only use Python 2 at build time, like firefox, had a general exception to keep using it in Fedora 31. Now, the dependency should be removed.
Let us know if you need any help investigating or removing the dependency. (There are dozens of packages like this, so we didn't investigate this one thoroughly. We assume you know the package best.)

If it's possible that the dependency won't be removed in Fedora 33. Please request a FESCo exception. You can refer to the exception for mercurial as an example: https://pagure.io/fesco/issue/2243
It's good to mention:

- What is the reason for the Python 2 build dependency?

- What are the upstream/community plans/timelines regarding Python 2?

- What is the guidance for porting the build to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)

If you need anything from us, or something is unclear, please mention it here.

Comment 1 Antonio T. (sagitter) 2020-02-20 19:24:20 UTC
Firefox does not build yet with Python2:

Upstream Python3 migration notes [1]:
"In mozilla-central there are over 3500 Python files (excluding third party files), comprising roughly 230k lines of code. Most of it is Python 2"

[1] https://wiki.mozilla.org/Firefox/Python_3_Migration

Comment 2 Martin Stransky 2020-02-20 21:14:13 UTC
If python2.7 is removed from Fedora we'd need to bundle it with Firefox sources as well as we do that for firefox on RHEL6. Perhaps we don't need system wide python in this case. We're not going to port Firefox build scripts to python3 as we have lot of other work to do.

Comment 3 Petr Viktorin 2020-02-27 12:21:33 UTC
Thanks for the wiki link and sharing the plans!

In Fedora, it would make sense to continue maintaining the python2 package separately, rather than bundle it in Firefox.
But we do want to track the situation, gather info and coordinate (and we use these bugzillas and FESCo exceptions for that).

Comment 5 Ben Cotton 2020-08-11 13:09:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 6 Petr Viktorin 2020-10-08 14:54:43 UTC
I see that this is fixed at least in the Rawhide build. Thank you!

Comment 7 Petr Viktorin 2021-04-07 11:31:59 UTC
I see that as of 87.0-10.fc35, firefox again requires python2.7 to build. I guess this was a case of temporarily skipped tests.