The standard-nocfg.scc was originally intended to collect all the non-config related content for the standard scc. Somewhere along the way it appears to have done just the opposite! It pulls in a number of "feature" scc files that do nothing more than change configs. Perhaps this is just an articfact of a number of things finally being merged upstream. Perhaps -nocfg no longer adequately describes what this file is meant to accomplish. In any case, it is rather confusing and we should clean this up and make the meaning explicit as it serves as our primary example of how to prepare a ktype.
putting this in M3, since having more 1.4 features available is beneficial to this division of fragments.
There's two parts to the implementation for this: #1) standard-nocfg.cc is renamed standard-features.scc commit 59019b76cbb2f5dcd6af9f292fb09862092e2fff Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Thu Jan 17 00:30:18 2013 -0500 meta: rename standard-nocfg to standard-features standard-nocfg is not about having "no configuration", it is about including features that modify the source tree and their tightly coupled configs. renaming the fragment to standard-features makes this separation clear. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> #1a) standard-features.scc is merged back into standard.scc (See below) #2) the include modifier nocfg is added When a .scc file is included with this modifier, only kernel patches and other tree directives will be respected, no configuration fragments will be processed. This allows us to dump the manual separation between features and cfgs in a standard base, since they will always float over time. The design of .scc is to give control to the upper layer fragments, we are giving it back with this change. The only visible change to .scc files is in the inclusion of ktypes/standard/standard.scc. The standard kernel includes standard-features.scc, while preempt-rt and tiny include the standard kernel like this: include nocfg ktypes/standard/standard.scc And we will get no configuration fragments that are directly included from the standard kernel, hence why we should merge standard-features.scc back into standard.scc
Note: this also solves a problem in meta-handheld where this layer currently contains a configuration fragment that "undoes" configuration items it doesn't want. It will switch to this include style and no longer have to maintain this fraagment.
Item #2 implementation is complete. Testing for regressions now. Re-org of the .scc files will be in two phases, with the second being the merge of standard-feature and standard.scc, that is coupled with the tool tweaks.
LTSI is now merged into the 3.4 tree. It can be seen as the discrete "ltsi" branch, which is also merged into each and every BSP. There's no explicit action required to "use LTSI", you simply get it in each build. The features can be enabled via fragments as required, or left latent.
This was closed by mistake .. re-opening temporarily.
Patches have been sent to the oe-core list.
commit 59019b76cbb2f5dcd6af9f292fb09862092e2fff Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Thu Jan 17 00:30:18 2013 -0500 meta: rename standard-nocfg to standard-features standard-nocfg is not about having "no configuration", it is about including features that modify the source tree and their tightly coupled configs. renaming the fragment to standard-features makes this separation clear. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> :000000 100644 0000000... 21becf9... A ktypes/standard/standard-features.scc :100644 000000 cc8a694... 0000000... D ktypes/standard/standard-nocfg.scc :100644 100644 7bfd3c2... ec302db... M ktypes/standard/standard.scc commit c4f26a3296e0e1c3dbdd5ec8e2947d5443a9ffc2 Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Mon Jan 7 16:15:12 2013 -0500 updateme/scc: allow config fragment exclusion It is common to need the features (patches, git operations) of a branch, but not want the kernel configuration fragments of a given branch. To allow this, we provide a new include flag "nocfg". When this flag is used, all of the configuration fragments included by the targetted feature will not be applied to the current build, with one exception, a base/critical fragment can force it's config values, since without them, the system would not be functional. Example: include ktypes/standard/standard.scc nocfg Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> :100755 100755 0de55a4... 60b54e5... M tools/scc :100755 100755 26a20d5... 99f9c40... M tools/updateme