Hi, Had 2.6.3 kernel. Installed 2.6.6 (emerge development-sources) and saw that simbolic link - /usr/src/linux still points to linux-2.6.3. It should point to linux-2.6.6. I believe this code in postinst_sources() function in /usr/portage/eclass/kernel-2.eclass is wrong: postinst_sources() { if [ ! -h ${ROOT}usr/src/linux ] then ln -sf ${ROOT}usr/src/linux-${KV} ${ROOT}usr/src/linux fi Linking will be done only if /usr/src/linux doesn't exist (clean install). Please see man bash and -h switch: -h file True if file exists and is a symbolic link.
I'm pretty sure this is intentional (and the desired behavior), but I'll let the kernel team explain it.
That is correct, we leave it untouched. Not everyone wants to use the new kernel, and it will often get mixed in with a simple emerge world. If the user wants to upgrade the kernel, we trust that they know the proper steps to do so. If it's the first kernel installed, there's no harm in making that link.