When anaconda creates /etc/sysconfig/kernel, it always sets UPDATEDEFAULT=yes. This should not be set if the default boot option is not pointing to the kernel (i.e. when configuring the boot loader another OS, like WinXP, is chosen as default). My father dual boots WinXP and Fedora so he can work on Linux/Unix things at home, but WinXP is his default. When he updates the kernel, it changes the default boot option to point at the newly installed kernel, ignoring that WinXP was the default.
Actually, grubby should only be changing the default if the default is already matching (or that was the intent anyway)
I don't see anything in grubby or new-kernel-pkg that looks like it checks to see if the default is a Linux install before changing the default. That also seems like it would be the wrong place to do the detection. How can grubby know the difference between "make this default" and "make this default only if default is currently Linux"? If the second mode is what is intended, the documentation should be updated to reflect it. This is based on a decision made during install (whether the newly installed system should be the default in the boot loader); wouldn't it make more sense for anaconda to store the results of that decision in /etc/sysconfig/kernel rather than hard-code some behavior in grubby?
Fedora Core 3 is now maintained by the Fedora Legacy project for security updates only. If this problem is a security issue, please reopen and reassign to the Fedora Legacy product. If it is not a security issue and hasn't been resolved in the current FC5 updates or in the FC6 test release, reopen and change the version to match. Thank you!