On 18/06/10 14:10, JohnS wrote: > > On Thu, 2010-06-17 at 16:10 -0400, m.roth at 5-cent.us wrote: > >> <snip> >> Ok, so I got the src rpm from el repo. Lessee, first I tried rpmbuild, and >> that failed, because it *required* xen-devel. So I grabbed the tarfile >> from /usr/src/redhat/SOURCES, unbzip2'd it, untar'd it, and did a make. >> And ten or so later, I had 265 kernel modules. I don't want or need to >> install all of that, so I tried just building gspca, and that failed with >> unresolved errors. > --- > rpmbuild -ba --target=i686 --nodeps video4linux-kmod-rt.spec > > Wrote: /SRPMS/video4linux-kmod-0.0-5.20090615.el5.jerepo.src.rpm > Wrote: /RPMS/i686/kmod-video4linux-0.0-5.20090615.el5.jerepo.i686.rpm > Wrote: /RPMS/i686/kmod-video4linux-xen-0.0-5.20090615.el5.jerepo.i686.rpm > Wrote: /RPMS/i686/kmod-video4linux-PAE-0.0-5.20090615.el5.jerepo.i686.rpm > Wrote: /RPMS/i686/video4linux-kmod-debuginfo-0.0-5.20090615.el5.jerepo.i686.rpm > > Use that command to build it. You should get the above then trash xen, > pae and debug. That builds and works on a pure kernel-rt install. > Allthough there things said left to do get it built the right way but it > is usable. > > lib/modules/2.6.24.7-149.el5rt/extra/video4linux/ has several gspca > modules so your better off installing all to get the correct one. > > John > No, define kvariants as appropriate and only build for the variants you want. http://wiki.centos.org/HowTos/BuildingKernelModules#head-b86b6eec08d5719cf1838929f26a64af88e2b7f0 rpmbuild -ba --target=i686 --define 'kvariants ""' video4linux-kmod.spec If you don't, then by default the package will be built for *all* kernel variants and you will of course need the appropriate BuildRequires installed on your build system (eg, kernel-devel, kernel-xen-devel, kernel-PAE-devel). Also, you can't just install the modules you want as there are also kernel module dependencies to consider. For example, your required gspca module might depend on gspca_main which might depend on videodev, which might depend on v4l2-compat-ioctl32, v4l1-compat etc. And you can't just update those modules because something else might also depend on them and it's dependencies will then be broken. This is why we package the whole lot - so you don't get screwed up dependencies. I admit it's not a perfect solution, and is very much one size fits all but if your hardware is not detected by the EL5 kernel then it is the simplest option.