Hi everybody,
a lot of packages were rebuilt for Python 2.7 recently, but
unfortunately they've turned out to be not all that needed rebuilding.
Essentially, all packages that contain .py files that aren't
below /usr/lib(64)/python need to be rebuilt so that their respective
pre-built .pyc/.pyo files are built with the new Python version.
If the packages aren't rebuilt, python will either attempt to rebuild
the .pyc/.pyo files (and fail due to SELinux policy) during runtime (if
run as root[1]) or the program will take longer to startup because the
python interpreter needs to parse the .py files everytime (and can't
just use the respective .pyc/.pyo files since they're invalid).
The reason why this hasn't been noticed/why those packages haven't been
covered in the mass rebuild is because they don't require
"python(abi)" (which was used to find out which packages to rebuild)
even though the contained .pyc/.pyo files clearly do. This is because
the pythondeps.sh used by rpmbuild only adds that dependency to packages
which have modules in the standard paths[2].
Thanks to Kalev Lember who wrote a script identifying the affected
packages. Using its output, Dave Malcolm has just mass-filed bugs
against the packages which we could identify and he's looking to get
these rebuilt en-masse as well. Owners or comaintainers still would need
to file update requests so the packages actually end up where the users
can get them ;-). For this purpose, I've attached two lists to this
mail: one listing the affected packages and their owners and
comaintainers, the other listing the affected packages each person owns
or comaintains.
Please file updates when your packages have been rebuilt and nag us if
they don't get rebuilt in time, whatever that means.
Thanks for your help,
Nils
[1]:
https://bugzilla.redhat.com/show_bug.cgi?id=621726 - 'SELinux is
preventing /usr/bin/python "write" access
on /usr/share/system-config-firewall.'
[2]:
https://bugzilla.redhat.com/show_bug.cgi?id=623233 - 'python(abi)
autodetection needed for all .py[co] files, not just those
beneath /usr/lib*/python*'
--
Nils Philippsen "Those who would give up Essential Liberty to purchase
Red Hat a little Temporary Safety, deserve neither Liberty
nils(a)redhat.com nor Safety." -- Benjamin Franklin, 1759
PGP fingerprint: C4A8 9474 5C4C ADE3 2B8F 656D 47D8 9B65 6951 3011