Bug 5786

Summary: module_autoload_xxx variables are not taken into account for sstate signature
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Nicolas Dechesne <ndec13>
Component: kernelAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: bluelightning, bruce.ashfield, dvhart, richard.purdie, tom.zanussi
Version: 1.5   
Target Milestone: 1.7   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
Rough proof of concept none

Description Nicolas Dechesne 2014-02-04 12:26:32 UTC
hi,

it seems that module_autoload variables are not included in the kernel recipes. 

Here is what I did: add the following in linux-yocto_3.10.bbappend in my layer

module_autoload_snd-intel8x0 = "snd-intel8x0"                                                                                                                                                                                     

that does not trigger a rebuild (repackaging), and my change is ignored. 

Cleaning the sstate and rebuild, obviously, work.

thanks
Comment 1 Paul Eggleton 2014-02-04 13:41:37 UTC
Just to clarify, the problem is that the  module_autoload_* variables don't get included in the task hash for do_package as they ought to - because of the way they are read, bitbake can't determine that a dependency on them exists; thus adding one or changing one of their values and then building the kernel or image doesn't have any effect.

Because the name is dynamic I'm not sure how we can fix this. Richard, any suggestions?
Comment 2 Darren Hart 2014-02-05 16:42:55 UTC
As this is more bitbake-core related that kernel specific - I'm reassigning to Saul.
Comment 3 Richard Purdie 2014-03-25 21:55:40 UTC
I don't know how to fix this for the current codebase. The format of this variable (and module_conf_xxxx) are horrible. What we need is a:

KERNEL_MODULE_AUTOLOAD = "<list oof modules>"

KERNEL_MODULE_PROBECONF = "<list of modules>"

set of variables which replace the module_autoload ones and supplement the module_conf ones.

Unfortunately this is an API change, probably too late for this cycle but can make it early in the next one. Once we have the above variables, adding those to sstate is straight forward.
Comment 4 Richard Purdie 2014-03-25 22:06:37 UTC
Created attachment 1860 [details]
Rough proof of concept

Rough proof of concept
Comment 5 Richard Purdie 2014-06-13 16:14:42 UTC
Patch finished and posted for review