Bug 68934 - compiling kernel from spec may not find modversions
Summary: compiling kernel from spec may not find modversions
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.3
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-07-16 08:44 UTC by Wilton Wong
Modified: 2007-04-18 16:44 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-07-16 08:44:15 UTC
Embargoed:


Attachments (Terms of Use)

Description Wilton Wong 2002-07-16 08:44:11 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.0.0-10; Linux)

Description of problem:
there is a find command in the kernel spec file: 

list=`find ../../savedheaders/*/*/modules/*.ver -exec basename '{}' \; | sort -u`

that will fail when you have too many "platforms" or too many modules to compile for, this is due to find being passed too many arguments on the command line. The packaging will finish and rpm will not terminate with an error but modversioning will be broken in the generated kernel-source rpm. The quick fix is to change the line to:

list=`find ../../savedheaders/* -name '*.ver' -exec basename '{}' \; | sort -u`


Version-Release number of selected component (if applicable):


How reproducible:
Sometimes

Steps to Reproduce:
1. Compile kernel from spec after adding a few modules or adding a new platform
 

Actual Results:  The packaging will finish and rpm will not terminate with an error but modversioning will be broken in the generated kernel-source rpm, because the *.ver files are not saved.

Expected Results:  *.ver files should be saved in kernel-source

Additional info:

Comment 1 Arjan van de Ven 2002-07-16 08:52:01 UTC
looks good; added for the next build. Thanks!

Comment 2 Michal Jaegermann 2002-09-16 19:55:46 UTC
The proposed change (still missing in 2.4.18-10 !!) does reduce a length of
arguments for 'find' but $list also may end up too long so this may
only may prevent failures for a while. The real fix would be to replace
this construct:

list=`find .... | sort -u`
mkdir modules
for l in $list ; do
  <whatever>
done

with something following this pattern:

mkdir modules
find ../../savedheaders/* -name '*.ver' -exec basename '{}' \; | sort -u | \
while read l ; do
  <whatever - the same as above>
done

and then we do not have problems with $list which is too long.

(Should this bug be reopened?)


Comment 3 Michal Jaegermann 2002-11-02 01:11:17 UTC
The bug is "closed" but it shows up in recent kernel-2.4.18-17.7.x specs
again.  Just got bitten by it.  Lack of attention but it is easy to forget
and miss in specs of that size. Sigh!


Note You need to log in before you can comment on or make changes to this bug.