How to create custom kernel kmod package?

How do I create an external kmod package for a custom kernel?

I’ve created a custom kernel and corresponding development source tree for an internal project. After installing these packages, I can create an RPM package based upon 3rd party software. The software creates user space software and several out of tree kernel modules.

I can then install the customer kernel and development packages on other opensuse-12.1 hosts, but the package with the kmods fails dependency checks. Interestingly, I can install the kmod package with the --nodeps option, and the modules install just fine. Analysis shows that the kmod package requires kernel ksyms that were never provided by the custom kernel package. It appears that the RPM package find-requires.ksyms tool will only provide ksyms for modules that are part of the custom kernel package.

So it looks like I need to either restrict the ksyms needed by my kmod package.

Or, provide more ksyms from my custom kernel package. The trouble is knowing which ksyms might be referenced by future kmods. Do I need to build a customer kernel-syms package? I tried looking in the opensuse kernel-syms package spec, but there is surprisingly little content. I am guessing this spec is a placeholder that activates ksym magic in other tools.

Googling found some help for this on CentOS, Fedora distros using their unique RPM tools, but nothing helpful for my opensuse-12.1 system.