<?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>10253</bug_id>
          
          <creation_ts>2016-09-09 11:02:13 +0000</creation_ts>
          <short_desc>Better user display/access of PACKAGECONFIG options for recipes</short_desc>
          <delta_ts>2022-11-10 16:06:35 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</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></bug_file_loc>
          <status_whiteboard> </status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Igor Stoppa">igor.stoppa</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65981</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Stoppa">igor.stoppa</who>
    <bug_when>2016-09-09 11:02:13 +0000</bug_when>
    <thetext>Problem:

Depending on what one wants to accomplish, finding out all the parameters that can/must be configured, can be a daunting task.

Some are described in various configuration files (ex: distro.conf), others are to be found in .bbclass .bb and .bbappend files.

It is certainly possible to invoke bitbake -e to get an idea of what is the environment used to build, but that has the downside of treating on the same level &quot;configurable&quot; parameters with others that are meant to be used internally and not altered by the typical user.

Proposal:

Introduce a formalised way for the author of a recipe to differentiate normal variables from the knobs that a user is supposed to alter.
This could include also some contextual comment and an additional switch for bitbake, so that when invoked with this switch, the output provided would be something like:

* recipe xxx
   * parameter Y
     - contextual help, from the associated recipe
     - value that will be used (same as what would be reported by &quot;-e&quot;)
     - file which sets the value used
     - where this value can be modified (in a recipe, cfg file, etc.)
   * parameter K
     - ...
     - ...
     - ...
     - ...
* recipe zzz
   [more of the above]


Purpose of the feature request:

If implemented, this approach would lay down a filtering layer over the information that is currently available from bitbake, greatly improving the user experience for those who need to consume a large set of recipes (ex: for creating a complex disk image).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65988</commentid>
    <comment_count>1</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-09-09 12:47:53 +0000</bug_when>
    <thetext>Have you looked at the PACKAGECONFIG variable? This was an attempt to make it clear exactly which configuration options any given recipe has...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65992</commentid>
    <comment_count>2</comment_count>
    <who name="Igor Stoppa">igor.stoppa</who>
    <bug_when>2016-09-09 13:04:54 +0000</bug_when>
    <thetext>No, I wasn&apos;t aware of it :-/ thanks for the pointer.
Reading the docs, it seems to come pretty close to what I was advocating, and is already present in many recipes.
So it might just be that I didn&apos;t read the correct docs/howtos and what is missing is only the additional level of porcelain that i described, where the info is collected and presented in a user-friendly report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81995</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2018-11-01 15:15:04 +0000</bug_when>
    <thetext>I think some kind of tool to help display this information would be useful so leaving this open for that (we now have the info in the layers web pages but not from bitbake-layers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94403</commentid>
    <comment_count>4</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2022-11-10 16:06:35 +0000</bug_when>
    <thetext>We have:

$ less scripts/contrib/list-packageconfig-flags.py

and we test it so it&apos;s likely working:

$ rg list-packageconfig-flags.py
meta/lib/oeqa/selftest/cases/oescripts.py
145:        runCmd(&apos;%s/contrib/list-packageconfig-flags.py -h&apos; % self.scripts_dir)
148:        results = runCmd(&apos;%s/contrib/list-packageconfig-flags.py&apos; % self.scripts_dir)
158:        results = runCmd(&apos;%s/contrib/list-packageconfig-flags.py -f&apos; % self.scripts_dir)
167:        results = runCmd(&apos;%s/contrib/list-packageconfig-flags.py -a&apos; % self.scripts_dir)
179:        results = runCmd(&apos;%s/contrib/list-packageconfig-flags.py -p&apos; % self.scripts_dir)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>