in /etc/genkernel.conf I can set OLDCONFIG to "yes" and "no" and even unset, "make oldconfig" is always run. I always get this output: ----------- BEGIN ----------- paddor@pantoo linux $ sudo genkernel --kernname=paddor.1 all * Gentoo Linux Genkernel; Version 3.4.9 * Running with options: --kernname=paddor.1 all * Linux Kernel 2.6.24-gentoo for x86_64... * config: Using config from /etc/kernels/kernel-config-x86_64-2.6.24-gentoo * Previous config backed up to .config.bak * >> Running oldconfig... * kernel: >> Cleaning... ----------- END (cutted) --------- Also, it takes always the config of /etc/kernels/, although there exists an .config. This will just be backed up to .config.bak. So I have to specify the edited config with --kernel-config or "on the fly" with MENUCONFIG="yes" or --menuconfig so menuconfig is invoked and I can set my settings.
It looks like the logic for handling OLDCONFIG is a bit...weird. Looking at the code, if CLEAN is set to yes, oldconfig is executed regardless of what OLDCONFIG is set to. The behavior you mention about using the previous config is "normal" for a kernel version that you've compiled before. If you want to use a different kconfig file, use the --kernel-config=<foo> option.
I've committed a fix for this in SVN. However, disabling OLDCONFIG will not get you the results you want. That comment in genkernel.conf that said setting OLDCONFIG="yes" would disable the fetching of the kconfig from /etc/kernels/ was outdated. There is no code to do that.
I just released genkernel 3.4.10_pre1, which has this fix included. Feel free to REOPEN this bug or make a comment if it is not resolved.