Red Hat Bugzilla – Bug 208218
include/linux/autoconf.h shipped with kernel source
Last modified: 2015-01-04 17:28:48 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:184.108.40.206) Gecko/20060913 Fedora/220.127.116.11-1.fc5 Firefox/18.104.22.168
Description of problem:
The file linux/include/autoconf.h is auomatically generated from the .config file when you use make config/oldconfig/gconfig/etc. and should not be shipped with the kernel source.
This causes a problem specifically when defining the "O" macro to the make command, e.g. "make O=/builds/kernel-build-dir". Instead of picking up the newly generated autoconf.h file in the /builds/kernel-build-dir/include/linux directory, it picks up the old ones in the source include/linux directory. This can produce unpredictable results.
The ability to specify the kernel output directory is a facility that came in with the 2.6 kernel.org release. I strongly recommend using it to avoid contaminating your source directory with any generated files that shouldn't be shipped.
I suggest also not shipping the .config file, but instead identify the configuration file(s) used to build the kernel(s) included in the binary kernel RPM in a README-fodora file. If it is shipped, I suggest that it should exactly match one of the configuration files in the configs directory. It is presently close, but not exactly the same.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Use "make O=/builds/kernel-build-dir mrproper" to get ready to build a kernel from scratch.
2. Use "make O=/builds/kernel-build-dir gconfig" and specify a configuration that is significantly different from that used to create the linux/autoconf.h file. For example, specify a differeny value of PHYSICAL_START.
3. Use "make O=/builds/kernel-build-dir" to start the build.
I received warnings about CONFIG_PHYSICAL_START being redefined. I would expect that specific results might differ, depending on your build steps.
linux/autoconf.h is no longer shipped in FC6. The necessary changes are unlikely
to be backported to FC5.