No more automagic Python bytecompilation (phase 2)
Summary
See Changes/No_more_automagic_Python_bytecompilation. Now we are changing the default to be %global _python_bytecompile_extra 0
.
Owner
- Name: Miro Hrončok
- Name: Petr Viktorin
- Email: mhroncok@redhat.com, pviktori@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 30
- Last updated: 2018-08-30
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
See the Detailed Description of the previous Change Proposal.
We will now set %_python_bytecompile_extra
to 0
by default.
All packages that ship Python 3 bytecode outside of Python 3 directories should be preferably converted to use %py_byte_compile
, but if they are not, it's fine.
We'll check all pyc/pyo files shipped by packages. We'll check if those are explicitly compiled using %py_byte_compile
. If not, we mass push %global _python_bytecompile_extra 1
to the package specs to make them work. It's up the package maintainers to adjust the package to the new style (or keep the line forever).
Benefit to Fedora
See Changes/No_more_automagic_Python_bytecompilation#Benefit_to_Fedora.
Scope
- Proposal owners: Change the default, slightly change the guidelines, get the list of packages, push the change into them.
- Other developers: Maintainers of python3 packages are encouraged to change their packages to use explicit
%py_byte_compile
(not a System Wide Change, they don't have to do anything).
- Release engineering: #7680 (a check of an impact with Release Engineering is needed)
- Policies and guidelines: will be changed as described in description
- Trademark approval: not needed
Upgrade/compatibility impact
None expected.
How To Test
N/A
User Experience
The users of this change are packagers. The new behavior should make byte-compilation more obvious, explicit, and discoverable. Users of Fedora should not feel this (except if this change uncovers a packaging bug).
Contingency Plan
- Contingency mechanism: we'll finish the change later (not a System Wide Change)
- Contingency deadline: none (not a System Wide Change)
- Blocks release? no (not a System Wide Change)
- Blocks product? no
Documentation
The guidelines will be the documentation.
Release Notes
This change does not deserve Release Notes, it is not user facing.