Currently, with 2.4 kernels, maintaining a system with external kernel modules, such as nforce-drivers is a nightmare, as they are wiped every time somebody does a make modules_install for the kernel they were merged against. With 2.6, it is a little better, but you can quickly run into inconsistencies with the kernel configuration parameters. There are (at least) three scenarios to this problem: 1) Merging modules after installing a kernel - this is problem-free. The modules are built against a particular kernel, and installed in that kernel's /lib/modules/<kernel-version> directory. 2) Updating an existing kernel after merging external modules - with 2.4, the external modules get wiped after a make modules_install - with 2.6, the external modules stay, but may not be usable anymore, depending on the kernel changes (kernel versioning on/off, pcmcia support on/off, etc) - the current solution is to manually remerge all relevant external modules by hand. 3) Upgrading an existing kernel to a new version - with either series, the external modules must manually be remerged by hand. In case 2, we may need to remerge the external modules. This should be done automatically if needed. If the user has only added extra modules to his kernel, so that the bzImage didn't change, then we will not need to remerge the external module. If he turned on/off a relevant subsystem, changed processor options or other prevasive kernel parameters, we probably need to remerge. If nothing else, after the kernel build system has done a modules_install, it should list all external driver packages that may need to be upgraded. Ideally, it should automatically update the ones that we cannot say with 100% certainty are not affected by the update. In case 3, we will need to remerge all drivers against the previously active kernel. At the very least, the user should easily be able to check which external drivers exist of a given kernel, so that he can make an informed choice about which drivers to remerge. Ideally, after modules_install, any missing drivers from a previous kernel version should be merged, however, determining which was the previous kernel version is non-trivial and probably impossible.
I see that you've stirred up the nest with your recent GLEP, so I'll shove this over to your capable hands so you may coordinate it as you see fit. I can't help out just now, as my backlog in tools-portage and java are horrendous, but hopefully in a few weeks I can come with some input:)
sys-kernel/module-rebuild