Index: kernel.spec =================================================================== RCS file: /cvs/extras/rpms/kernel/devel/kernel.spec,v retrieving revision 1.34 diff -u -r1.34 kernel.spec --- kernel.spec 27 Jul 2007 17:58:01 -0000 1.34 +++ kernel.spec 27 Jul 2007 21:23:41 -0000 @@ -1425,40 +1425,28 @@ cat modnames | xargs chmod u+x # Generate a list of modules for SCSI, sata/pata, and networking. - touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi - touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.libata + touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.block touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking - for i in `cat modnames | grep drivers | grep -v drivers\/ata` - do - if [ $(nm $i |grep --count scsi_add_host) -ne 0 ]; - then - basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi - fi - done - for i in `cat modnames | grep drivers | grep -v drivers\/scsi` - do - if [ $(nm $i |grep --count blk_init_queue) -ne 0 ]; - then - basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi - fi - done - for i in `cat modnames | grep drivers\/ata` - do - if [ $(nm $i |grep --count ata_device_add) -ne 0 -o $(nm $i |grep --count ata_pci_init_one) -ne 0 ]; - then - basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.libata - fi - done + drivers=$(grep drivers modnames) - for i in `cat modnames |grep drivers` - do - if [ $(nm $i |grep --count register_netdev) -ne 0 ]; - then - basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking - fi - done + # networking + netsyms="register_netdev ieee80211_register_hw usbnet_probe" + for i in $drivers ; do + for symbol in $netsyms ; do + nm -u $i | grep -q $symbol && echo ${i##*/} + done + done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking + + # block + blocksyms="ata_scsi_ioctl scsi_add_host blk_init_queue" + for i in $drivers ; do + for symbol in $blocksyms ; do + nm -u $i | grep -q $symbol && echo ${i##*/} + done + done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.block + # detect missing or incorrect license tags for i in `cat modnames` do