Bug 182950
Summary: | missing arch/xen/Makefile, or bad .spec | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | John Reiser <jreiser> |
Component: | kernel | Assignee: | Juan Quintela <quintela> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Brian Brock <bbrock> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | bstein, davej, mattdm, wtogami, xen-maint |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 2.6.23-0.139.rc3.git10.fc8 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-08-27 21:22:48 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
John Reiser
2006-02-24 17:59:01 UTC
Current spec files do not have any requirement for arch/xen: xen is built as a sub-arch of the primary arch (i686, x86_64) these days, not as a separate arch. This looks like you simply have a stale kernel config file left in your build directory; can you reproduce this after removing all kernel-*.config files and reinstalling a current kernel src rpm? Please reopen if you still have trouble. If there was a stale kernel config file in directory BUILD/kernel-2.6.15, and if this was the cause of the failed "Steps to Reproduce", then that is a bug in kernel-2.6.spec because it does not establish the proper initial conditions. As long as the .spec is going to use "for i in *.config" (instead of an explicit list of .config that the current .src.rpm contains) then there should be a "rm -f *.config" somewhere before the *.config files are extracted. This seems very similar to bug #185550. The "stale" configs come from SOURCES/kernel*.config, not from anywhere in BUILD. For instance, my SOURCES/kernel*.config now has 25 files, only 19 of which were put there by the most recent kernel*.src.rpm. The other 6 are left over from March 2 (two weeks ago, "same" 2.6.15): kernel-2.6.15-i686-guest-PAE.config etc. The problem in the .spec starts with ----- %ifarch %{all_x86} %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-i?86*.config ----- and continues with ----- cp -f %{all_arch_configs} . # now run oldconfig over all the config files for i in *.config ----- So that strategy initiates and propagates stale kernel*.config from SOURCES into BUILD. Not even the rpmbuild parameter "--clean" is effective at removing such staleness. *** Bug 185550 has been marked as a duplicate of this bug. *** Fedora Core 5 and Fedora Core 6 are, as we're sure you've noticed, no longer test releases. We're cleaning up the bug database and making sure important bug reports filed against these test releases don't get lost. It would be helpful if you could test this issue with a released version of Fedora or with the latest development / test release. Thanks for your help and for your patience. [This is a bulk message for all open FC5/FC6 test release bugs. I'm adding myself to the CC list for each bug, so I'll see any comments you make after this and do my best to make sure every issue gets proper attention.] The bug still applies to kernel-2.6.20-1.3045.fc7.src.rpm. At line 1315 of the .spec file: ----- # now run oldconfig over all the config files for i in *.config do ----- and "*.config" has not been removed before. The result is that stale *.config files (left over from other .src.rpm) will create errors. The recipe of the .spec file is not reliable because it does not guarantee a correct build. I change the Version field of this bug report to "devel". thanks. This is puzzling, as there's a @rm -f kernel-*-config in the configs target of Makefile.config, which should get run before the spec file runs oldconfig. Maybe that's happening at the wrong place. Try tweaking that, to see if you can get the desired effect. the spec in rawhide has had quite an overhaul in recent times, including config generation. Does this change anything for the better? Yes, the .spec is now better because it removes .config files that cannot pertain to the build at hand; see the quoted section below. (This means that simultaneous builds of different versions will encounter trouble, but that has been true anyway.) ----- kernel-2.6.23-0.139.rc3.git10.fc8/SPECS/kernel.spec line 1192 # Remove configs not for the buildarch for cfg in kernel-%{version}-*.config; do if [ `echo %{all_arch_configs} | grep -c $cfg` -eq 0 ]; then rm -f $cfg fi done %if !%{with_debug} rm -f kernel-%{version}-*-debug.config %endif # now run oldconfig over all the config files for i in *.config do mv $i .config ----- |