Red Hat Bugzilla – Bug 144340
kernel packages - what should really be under 'build' ?
Last modified: 2015-01-04 17:14:52 EST
Description of problem:
I thought that after 'kernel-sourcecode' package was dropped
a content of /lib/modules/<whatever>/build/ was supposedly sufficient
for building external modules. I already run into problems described
in bug #140421 but this was a common source code file which was
This time I tried to recompile zd1201 (ZyDAS) driver,
http://linux-lc100020.sourceforge.net. This fails as that
source is using ieee802_11.h where a pile of constants is defined.
That header is present in drivers/net/wireless/ of a kernel
source code but not in build/drivers/net/wireless/ for the current
Fedora packages. It turns out that every header which is not
below of build/include is missing. I am afraid that kernels
sources are not laid out so neatly.
Yes, I can repackage, but assurances "you really do not need
full kernel sources" are misleading.
I'd like to second the inclusion of header files under the drivers/ tree. I
need to build an external scsi module that uses the drivers/scsi/scsi*.h include
files. I guess it would grow /lib/modules/<version>/build by 50% or 32MB.
At the very least, these should be in the kernel-devel packages for FC4.
*nothing* should be using includes from drivers/scsi/scsi*.h any more.
Any driver which does, is broken.
As a rule, any external driver that needs a .h file that lives somewhere other
than include/ is a sign that the file needs to *be* in include/
The ieee80211 code is still evolving, so that too will eventually migrate to
Thanks for the kick is the pants. Managed to change the driver to use the
include/ headers with much difficulty. This will be a big help in building new
versions in the future.