Bug 3423

Summary: Define KFEATURE_COMPATIBILITY
Product: [Yocto Project Subprojects] Kernel Reporter: Darren Hart <dvhart>
Component: linux-yoctoAssignee: Bruce Ashfield <bruce.ashfield>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium    
Version: 1.3   
Target Milestone: 1.5 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Darren Hart 2012-11-13 22:45:37 UTC
The variable "KFEATURE_COMPATIBILITY" is not currently well defined, but does appear in various feature fragments. Before this can be properly documented, we need an explicit definition of how this is meant to be used.
Comment 1 Bruce Ashfield 2012-11-15 16:52:05 UTC
This  bugzilla will also be used to introduce the kquery scripts (that use the KFEATURE) to the kern-tools.
Comment 2 Bruce Ashfield 2013-03-08 16:14:40 UTC
  - the two ways that things are declared 'optional', is largely historical.
    before we had KFEATURE_COMPATIBILITY, -enable meant "you can turn
    this on if you want", so not having to update all those fragments
    with the new field, and keep them working with existing front ends
    was the driver behind keeping it around. I won't be suggesting it
    to people for new fragments.

  - "optional": means that is truly is something that you can turn on
    for any board, any arch at any time. It's a software construct that
    carries some sort of overhead or optional functionality. As such, 
    we don't have it on all the time .. but a BSP or end user might want
    to do so.

 - I'll be documenting all the options for KFEATURE_COMPATIBILITY 
   options. In the end, the list of values is extendible, since the
   enforcement of values can be either by front ends, or by the
   meta-series processing scripts. Both which can change to match
   new values.

   Right now it is:
    
     - board
         - board:<specific board names (comma separated)>
     - arch
         - arch:<specific kernel arches(comma separated) >
     - all


   And these mean just what you'd think, that they have board or 
   architecture specific requirements (ports) and that they may only
   work for a few specific arches/boards. Without the : and list of
   boards are arches, it is a big vague/generic and should be treated
   as a warning vs a hard error.
Comment 3 Bruce Ashfield 2013-03-26 19:50:08 UTC
Other items to document for 1.4:

 - KERNEL_FEATURES_EXTRA                                                                                                         
 - KFEATURE_COMPATIBILITY                                                                                                        
 - Secondary kernel-cache features                                                                                               
 - scc changes:                                                                                                                  
        - git merge -> "merge"                                                                                                   
        - include <feature> nocfg                                                                                                
        - include <feature> nocfg inherit                                                                                        
 - kernel-devl manual:                                                                                                           
        - Kernel configuration audit output changes
Comment 4 Bruce Ashfield 2013-04-15 17:16:24 UTC
This will be sent out shortly, functional issues trumped this in M6.
Comment 5 Bruce Ashfield 2013-06-12 15:07:12 UTC
Information has been sent to ScottR.