Bug 1626685

Summary: No more automagic Python bytecompilation (phase 2)
Product: [Fedora] Fedora Reporter: Ben Cotton <bcotton>
Component: Changes TrackingAssignee: Miro Hrončok <mhroncok>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: bcotton, mhroncok, pviktori
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-21 11:54:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1627936    
Bug Blocks:    

Description Ben Cotton 2018-09-07 21:17:58 UTC
This is a tracking bug for Change: No more automagic Python bytecompilation (phase 2)
For more details, see: https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2

See Changes/No_more_automagic_Python_bytecompilation. Now we are changing the default to be %global _python_bytecompile_extra 0.

Comment 1 Miro Hrončok 2018-09-10 11:54:28 UTC
The first step is to determine what packages ship pyo/pyc files outside of python directories and filter out the ones that use the automagic bytecompilation.

Comment 2 Miro Hrončok 2018-09-11 22:21:43 UTC
I repoqueried -f '*.pyo' and -f '*.pyc' packages. For each of them, I repoqueried -l | egrep -v '/(mingw|usr)/lib(64)?/python' | egrep '\.py(c|o)$' to see only the files outside of the Python dirs.

287 source packages build 407 packages that ship py(c|o) files outside of python's dirs.

From those:

23 packages already set %_python_bytecompile_extra to 0.

2 remaining packages %undefine __brp_python_bytecompile.

1 remaining package %undefines py_auto_byte_compile.

14 remaining packages alter %__os_install_post not to have brp-python-bytecompile.

5 remaining packages explicitly bytecompile all shipped py(c|o)s with %py_byte_compile.

copr-frontend explicitly bytecompiles only part of the shipped py(c|o)s, filled bz1627936.

That leaves 241 source packages:

PySolFC
PyXB
R-reticulate
adonthell
ambari
arm-none-eabi-gdb
atomic
audio-convert-mod
audit-viewer
autocloud
backintime
bakefile
bibus
bleachbit
blueberry
bro
btrbk
bugyou
bugzilla
calamares
cas
catkin
ceph
chromium
cinnamon-screensaver
comix
cura-lulzbot
cyphesis
darkserver
dracut-modules-olpc
edk2
encuentro
enemies-of-carlotta
eog-plugins
epylog
exaile
fedocal
fedora-review
firmware-tools
fish
fleet-commander-admin
fleet-commander-client
flumotion
font-manager
freecad
fwfstab
gaupol
gazebo
gdb
gdesklets
gedit
gedit-latex
gedit-plugins
git-cola
glib2
glusterfs
gnome-activity-journal
gnome-code-assistance
gnome-devel-docs
gnome-python2
gnome-transliteration
gnumeric
gobject-intrtion.spec
golly
graphite-web
grass
gtk-doc
gtranslator
ibus
ibus-anthy
ibus-hangul
ibus-libpinyin
ibus-libzhuyin
ibus-pinyin
ibus-table
ibus-typing-booster
ibus-uniemoji
ibus-xkbc
inkscape-sozi
inkscape-table
jam-control
kajongg
kdevelop-python
klatexformula
koji
kupfer
lcgdm
libgda
libopensync-plugin-python
libpeas
libreoffice
libsmbios
libunity
lilypond
lirc
lyx
magicor
mate-menu
mesos
meta-test-family
metromap
mingw-glib2
mingw-qpid-cpp
mirrormanager2
modularity-testing-framework
mongodb
nextcloud-client
ntop
odcs
olpc-os-builder
ompl
onboard
openlayers
otf2
ovirt-guest-agent
paraview
passenger
pcs
phatch
php-opencloud-openstack
plague
playonlinux
pulp-rpm
pygobject2
pygtk2
python-cherrypy
python-cherrypy2
python-cookiecutter
python-feedparser
python-flask-silk
python-genmsg
python-genshi
python-pgu
python-pycurl
python-pyqtgraph
python-reportlab
python-scandir
python-tahrir-api
python-testscenarios
python-uranium-lulzbot
python-webtest
python3-cherrypy
qdigidoc
qgis
qpid-dispatch
qtools
rhythmbox
rpm-ostree-toolbox
sagator
scanmem
sems
sigul
sk2py
soletta
solfege
soundconverter
spacewalk-koan
sugar
sugar-abacus
sugar-browse
sugar-calculator
sugar-calendario
sugar-castle
sugar-chat
sugar-clock
sugar-colordeducto
sugar-connect
sugar-countries
sugar-deducto
sugar-distance
sugar-finance
sugar-flip
sugar-flipsticks
sugar-fototoon
sugar-fractionbounce
sugar-getiabooks
sugar-hello-world
sugar-imageviewer
sugar-implode
sugar-infoslicer
sugar-jukebox
sugar-kuku
sugar-labyrinth
sugar-locosugar
sugar-log
sugar-maze
sugar-measure
sugar-memorize
sugar-moon
sugar-nutrition
sugar-paint
sugar-physics
sugar-pippy
sugar-playgo
sugar-portfolio
sugar-pukllanapac
sugar-read
sugar-recall
sugar-record
sugar-ruler
sugar-speak
sugar-srilanka
sugar-starchart
sugar-stopwatch
sugar-story
sugar-terminal
sugar-turtleart
sugar-typing-turtle
sugar-view-slides
sugar-visualmatch
sugar-words
sugar-write
sugar-xoeditor
sugar-xoirc
sugar-xomail
sugar-yupana
swatchbooker
synce-sync-engine
synfigstudio
system-config-bind
system-config-firewall
system-config-kdump
system-config-repo
system-config-users
system-switch-displaymanager
system-switch-java
system-switch-mail
texlive
totem
transmageddon
ufw-kde
variety
vdsm
virt-manager
vtk
wastesedge
xed
xplayer
xviewer-plugins
yum-utils
znc



I intent to post the following lines on the top of specfiles of those packages:

# This package depedns on automagic byte compilation
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2
%global _python_bytecompile_extra 1

I will e-mail the maintainers and will rerun the above query in ~2 weeks before I do so.

Comment 3 Miro Hrončok 2018-09-12 11:49:25 UTC
s/gobject-intrtion.spec/gobject-introspection/

Comment 4 Miro Hrončok 2018-09-18 13:28:49 UTC
Note: In the e-mail I've said I'll do the mass push in 2 weeks. That is 2018-09-26.

Comment 6 Miro Hrončok 2018-11-15 11:38:09 UTC
And https://pagure.io/packaging-committee/pull-request/829

Comment 7 Miro Hrončok 2018-11-15 11:56:30 UTC
Packages adjusted.

Comment 8 Miro Hrončok 2018-12-10 13:20:46 UTC
Everything is done.