Red Hat Bugzilla – Bug 155832
Refactor kernel rpm.
Last modified: 2015-01-04 17:19:07 EST
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
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.
No. The /lib/modules/`uname -r`/build _symlink_ is in every kernel rpm.
The actual files are in the kernel-devel package.