Bug 155832

Summary: Refactor kernel rpm.
Product: [Fedora] Fedora Reporter: Sam Varshavchik <mrsam>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: pfrields
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-25 00:59:25 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:

Description Sam Varshavchik 2005-04-24 13:07:56 UTC
Description of problem:

/lib/modules/`uname -r`/build directory is included in every kernel rpm.  The
stuff in build is only needed to build add-on kernel modules, and is not needed
at runtime.  Most people don't need that, and it logically belongs in a
kernel-devel subpackage.

I propose that in post-FC4 the build directory gets moved into a kernel-devel
subpackage.  Right now build has over 4500 files, and takes up about 36Mb, and a
typical system might have several kernel rpms installed.

Additionally, out of those 4500 files, over a thousand are called "module.h",
and there are over 700 "Makefile" files in there.  Multiple files with the same
name give extra work to rpm, because it complicates dependency resolution.  For
the purpose of conflict and dependency resolution it is necessary to know if two
different pathnames refer to the same file, due to intermediate soft links.  If
pathnames have different filename components this cannot happen, of course, but
because you have thousands of files here with the same filename rpm ends up
stat-ing everything when installing rpms.  Moving the build directory into a
separate -devel rpm, which rarely needs to be installed, should significantly
speed up installing and upgrading kernel rpms.

Comment 1 Dave Jones 2005-04-25 00:59:25 UTC
No.  The /lib/modules/`uname -r`/build _symlink_ is in every kernel rpm.
The actual files are in the kernel-devel package.