Bug 1312102

Summary: python-perf installs bitmap.o, find_bit.o, hweight.o and rbtree.o files
Product: [Fedora] Fedora Reporter: Jeff Bastian <jbastian>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: medium    
Version: rawhideCC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-26 19:19:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jeff Bastian 2016-02-25 18:02:01 UTC
Description of problem:
Four object files -- bitmap.o, find_bit.o, hweight.o and rbtree.o -- are installed as part of the python-perf rpm.

$ rpm -qlp python-perf-4.5.0-0.rc5.git0.2.fc24.x86_64.rpm 
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/bitmap.o
/usr/lib64/python2.7/site-packages/find_bit.o
/usr/lib64/python2.7/site-packages/hweight.o
/usr/lib64/python2.7/site-packages/perf-0.1-py2.7.egg-info
/usr/lib64/python2.7/site-packages/perf.so
/usr/lib64/python2.7/site-packages/rbtree.o

This seems to have been introduced with the 4.2.0 kernel with just hweight.o and rbtree.o:

$ rpm -qlp python-perf-4.2.6-300.fc23.x86_64.rpm 
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/hweight.o
/usr/lib64/python2.7/site-packages/perf-0.1-py2.7.egg-info
/usr/lib64/python2.7/site-packages/perf.so
/usr/lib64/python2.7/site-packages/rbtree.o

The 4.1 kernel was the last clean build with just the .so file:

$ rpm -qlp python-perf-4.1.13-100.fc21.x86_64.rpm 
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/perf-0.1-py2.7.egg-info
/usr/lib64/python2.7/site-packages/perf.so


Version-Release number of selected component (if applicable):
python-perf-4.2 and newer

How reproducible:
always

Steps to Reproduce:
1. rpm -ql python-perf

Actual results:
leftover object files from the kernel build are installed in the python site-packages directory

Expected results:
only perf.so and the egg-info file are installed

Additional info:

Comment 1 Josh Boyer 2016-02-26 20:26:13 UTC
Ew.  Thanks for the report.  I have an idea as to why this is, but I don't have a fix in hand yet.

Comment 2 Jeff Bastian 2016-02-26 20:50:58 UTC
I've been poking through the Makefiles to see why this might be happening, but I haven't figured it out yet.  We could add an rm command to the rpm spec file to clean up the *.o files, but that's just masking the problem.

Comment 3 Josh Boyer 2016-02-26 23:12:46 UTC
(In reply to Jeff Bastian from comment #2)
> I've been poking through the Makefiles to see why this might be happening,
> but I haven't figured it out yet.  We could add an rm command to the rpm
> spec file to clean up the *.o files, but that's just masking the problem.

Right, exactly.

I described the problem and the reason for it to upstream.  Jiri replied with a patch that should fix things.  I'll grab it Monday and give it a shot.

http://thread.gmane.org/gmane.linux.kernel/2163216

Comment 4 Josh Boyer 2016-02-29 13:27:18 UTC
I've added the patch in Rawhide.  Should make the 4.5-rc6 build.