Hello.
We plan to continue on our plan to disable automagic Python bytecompilation so I'd like to summarize what you can expect.
If you don't know what I am talking about, please read this change [0] and its second phase [1].
Currently, we have 130 packages with `%global _python_bytecompile_extra 1` in their specfiles [2] but suprisingly only 42 of them (listed below) actually ship any .pyc files outside the standard location "/usr/lib(64)?/python[0-9].[0-9]+". That might be caused by either of the following:
A) there is nothing to byte-compile -- the statement is a leftover to be removed
B) The automagic bytecompilation uses /usr/bin/python by default (for historical reasons) but /usr/bin/python is not present in the buildroot by default.
Those 42 packages should switch to explicit `%py_byte_compile` [3], for example:
/%py_byte_compile %{python3} %{buildroot}%{_datadir}/mypackage/bar/
Remember that this has something to do only for importable Python modules and only outside the standard location.
I'll prepare a Fedora change proposal for this but I wanted to inform maintainers in advance.
The new RPM macros will raise an error if _python_bytecompile_extra will be defined to 1. Package maintainers should switch to %py_byte_compile or just remove it from the specfile if it's not needed.
I'll definitely help with this transition as much as I can.
Have a nice day.
Lumír
[0] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilat... [1] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilat... [2] https://bugzilla.redhat.com/show_bug.cgi?id=1721147#c10 [3] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#m...
Packages using extra byte compilation:
cinnamon-screensaver edk2 eog-plugins fish gaupol gdb gedit gedit-latex gedit-plugins glusterfs gnome-code-assistance gtk-doc ibus ibus-anthy ibus-hangul ibus-libpinyin ibus-libzhuyin ibus-pinyin ibus-table ibus-typing-booster ibus-uniemoji kajongg kdevelop-python libsmbios libunity lirc lyx mingw-glib2 pcs pygobject2 pygtk2 rhythmbox sigul soundconverter sugar system-config-repo system-switch-mail texlive totem transmageddon ufw-kde virt-manager