<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>3292</bug_id>
          
          <creation_ts>2012-10-16 22:50:01 +0000</creation_ts>
          <short_desc>*_FEATURES variables documentation is inadequate</short_desc>
          <delta_ts>2013-02-12 01:25:00 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>9</classification_id>
          <classification>Documentation</classification>
          <product>Reference</product>
          <component>handbook</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://git.yoctoproject.org/cgit.cgi/yocto-docs/commit/?id=261cc16ad900f7f5254fa97dab82beab94f717d3</bug_file_loc>
          <status_whiteboard>11 Feb 2013 - resolved/fixed</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darren Hart">dvhart</reporter>
          <assigned_to name="Scott Rifenbark">srifenbark</assigned_to>
          <cc>jessica.zhang</cc>
    
    <cc>poky.doc.watcher</cc>
    
    <cc>poky.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>26654</commentid>
    <comment_count>0</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2012-10-16 22:50:01 +0000</bug_when>
    <thetext>The documentation for the following variables:

DISTRO_FEATURES
COMMON_FEATURES
MACHINE_FEATURES

is inadequate to instruct would-be users of how changes will impact the system.

These variables combine to determine various aspects of how images and packages are built. They impact RDEPENDS of various packagegroups, impact the way live images are built, and certainly others. MACHINE_FEATURES as a documented list of values, DISTRO_FEATURES does not. I do not see COMMON_FEATURES listed at all.

A discussion of how these interrelate and how someone can discover the exact impact from the sources would be useful. For example, using &quot;git grep &apos;contains.*MACHINE_FEATURES.*&lt;FEATURE&gt;&apos;&quot; to discover how the build is impacted would be a useful addition.

It isn&apos;t practical to define the dependency chains in the documentation, but providing the user with the background and tools to discover them seems appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26675</commentid>
    <comment_count>1</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2012-10-17 14:52:53 +0000</bug_when>
    <thetext>Darren, 

Agreed - I need as much information on how these variables actually affect things in order to improve their descriptions.  If you can, please include it here or as a separate email.  And when you explain them... remember who you are talking to :)

Thanks,
Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26677</commentid>
    <comment_count>2</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2012-10-17 15:02:42 +0000</bug_when>
    <thetext>I don&apos;t fully understand them either. I can do the digging, but perhaps someone else already familiar with them could comment and help flesh this out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26682</commentid>
    <comment_count>3</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2012-10-17 15:33:08 +0000</bug_when>
    <thetext>Just put a plea for help up on the discussion mailing list. 

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27529</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2012-11-16 20:38:46 +0000</bug_when>
    <thetext>I have upadated the introductory to both the MACHINE_FEATURES and DISTRO_FEATURES list sections in the reference manual to provide a bit more information on how including a feature might affect the build.  I used information from Paul Eggleton from an email thread a while back.  See http://www.yoctoproject.org/docs/1.4/poky-ref-manual/poky-ref-manual.html#ref-features-machine and http://www.yoctoproject.org/docs/1.4/poky-ref-manual/poky-ref-manual.html#ref-features-distro.  

I also included a practical example in the glossary description for MACHINE_FEATURES based on input from Ross Burton.  You can see that at http://www.yoctoproject.org/docs/1.4/poky-ref-manual/poky-ref-manual.html#var-MACHINE_FEATURES.  

I do not understand the &quot;git grep &apos;contains.*MACHINE_FEATURES.*&lt;FEATURE&gt;&apos;&quot; example that Darren Hart provided in Comment #0.  How is this different than simply grep&apos;ing for MACHINE_FEATURES?  I would like to provide some tools as Darren suggests for the user to use to see the effects of including a specific feature but I need some more understanding of it.  Can someone provide more examples or more explanation of the example Darren included?  

Once I get that piece in I will consider this bug closed.

Thanks, 
Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27561</commentid>
    <comment_count>5</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2012-11-19 19:26:50 +0000</bug_when>
    <thetext>The grep command in comment 0 searches for places in the meta-data where the recipes are checking to see that a specific FEATURE is contained in the MACHINE_FEATURES variable. This will point you at the recipes who&apos;s build is potentially changed based on a given FEATURE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27563</commentid>
    <comment_count>6</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2012-11-19 22:25:39 +0000</bug_when>
    <thetext>I updated the introduction area of the Features chapter in the poky-ref-manual to include the grep example in Comment #0.  This change needs approved for accuracy.  See http://www.yoctoproject.org/docs/1.4/poky-ref-manual/poky-ref-manual.html#ref-features

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29739</commentid>
    <comment_count>7</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2013-02-12 01:25:00 +0000</bug_when>
    <thetext>No further comments on the fix since mid-november so I am closing it.

Scott</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>