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_bytecompilation
[1] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1721147#c10
[3] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#manual-bytecompilation

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