RPM

Comment 6 for bug 633650

Revision history for this message
In , Nils (nils-redhat-bugs) wrote :

Created attachment 438224
Enhanced version of pythondeps.sh which detects the version of Python with which .py[co] files were built and adds the needed "python(abi) = ..." dependency

Description of problem:
Recently, all packages requiring "python(abi) = 2.6" were rebuilt for Python 2.7. Unfortunately, this left out all packages that don't have files in the Python standard module paths. As bug #621726 shows, python modules not in the standard paths will let the new python version attempt to rebuild them which fails due to SELinux policy, if run as root and policy is enforced (which is the right thing to do). If not run as root, startup time of the affected programs might be longer than necessary because python can't simply use the pre-built .py[co] files. In my opinion, the affected packages should simply have the "python(abi) = ..." dependency as well (since the shipped pre-built .py[co] files depend on it). I'll attach a version of /usr/lib/pythondeps.sh which generates such a dependency if .py[co] files are in a package.

Version-Release number of selected component (if applicable):
rpm-0:4.8.1-5.fc15.x86_64
rpm-build-0:4.8.1-5.fc15.x86_64

How reproducible:
Reproducible.

Steps to Reproduce:
A.1.) Install an affected version of e.g. system-config-firewall (1.2.25-1.fc14 from http://koji.fedoraproject.org/koji/buildinfo?buildID=168786 will do)
A.2.) Run it.

B) rpm -q --provides system-config-firewall | grep 'python(abi)'

Actual results:
A) SELinux alerts, as described in bug #621726
B) nothing

Expected results:
A) No SELinux alerts.
B) "python(abi) = ..."