[RFC] kernel.spec: reverse dependency logic for moving packages between kernel and kernel-modules-extra

John W. Linville linville at redhat.com
Fri Dec 2 18:50:53 UTC 2011


On Fri, Dec 02, 2011 at 01:13:33PM -0500, Josh Boyer wrote:
> On Fri, Dec 02, 2011 at 01:02:03PM -0500, John W. Linville wrote:
> > The logic to process mod-extra.list finds modules that depend on
> > the modules in that list and includes those in kernel-module-extra
> > as well.  This logic is broken, because it does not account for
> > multi-layer dependency chains.  Specifically, if a module depends
> > on another module, and only the second one depends on something in
> > mod-extra.list, then only the second would get moved.  This leaves the
> > first module in the kernel package, resulting in WARNING messages
> > when the kernel rpm is installed:
> > 
> > Preparing...                ########################################### [100%]
> >    1:kernel                 ########################################### [100%]
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/scsi/bnx2fc/bnx2fc.ko needs unknown symbol cnic_register_driver
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/scsi/bnx2fc/bnx2fc.ko needs unknown symbol cnic_unregister_driver
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/scsi/bnx2i/bnx2i.ko needs unknown symbol cnic_register_driver
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/scsi/bnx2i/bnx2i.ko needs unknown symbol cnic_unregister_driver
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol wusbhc_reset_all
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol wusbhc_handle_dn
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol wusbd
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol __wusb_dev_get_by_usb_dev
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol wusbhc_giveback_urb
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/wusbcore/wusb-wa.ko needs unknown symbol wusb_dev_destroy
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/atm/xusbatm.ko needs unknown symbol usbatm_usb_disconnect
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/drivers/usb/atm/xusbatm.ko needs unknown symbol usbatm_usb_probe
> > WARNING: /lib/modules/3.2.0-0.rc3.git1.2.fc14.x86_64/kernel/net/bridge/netfilter/ebtable_broute.ko needs unknown symbol br_should_route_hook
> 
> Weird.  I don't recall seeing any of those warnings at all in my
> testing.

Not sure why that would be.  I downloaded the kernels from Koji and looked for bnx2i and cnic

[linville-8530p.local]:> rpm -qpl kernel-3.2.0-0.rc4.git1.3.fc17.x86_64.rpm | grep bnx2i
/lib/modules/3.2.0-0.rc4.git1.3.fc17.x86_64/kernel/drivers/scsi/bnx2i
/lib/modules/3.2.0-0.rc4.git1.3.fc17.x86_64/kernel/drivers/scsi/bnx2i/bnx2i.ko

[linville-8530p.local]:> rpm -qpl kernel-modules-extra-3.2.0-0.rc4.git1.3.fc17.x86_64.rpm | grep cnic
/lib/modules/3.2.0-0.rc4.git1.3.fc17.x86_64/extra/drivers/net/ethernet/broadcom/cnic.ko

I don't have that installed, but on my local kernel:

[linville-8530p.local]:> modinfo bnx2i
filename:       /lib/modules/3.2.0-rc3-wl/kernel/drivers/scsi/bnx2i/bnx2i.ko
version:        2.7.0.3
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712/57800/57810/57840 iSCSI Driver
author:         Anil Veerabhadrappa <anilgv at broadcom.com> and Eddie Wai <eddie.wai at broadcom.com>
srcversion:     7445E1064FD8729B5E670FA
depends:        scsi_transport_iscsi,libiscsi,cnic
...

So as we say around here -- somin' ain't right... :-)

-- 
John W. Linville		The water won't run clean until you get
linville at redhat.com			the pigs out of the creek.


More information about the kernel mailing list