<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><div>OpenEmbedded Technical Steering Committee Minutes, F2F meeting April 10 2011</div><div>12:00pm - 5:00pm</div>
<div><br></div><div>OE-TSC Attendees:</div><div>Tom Rini (Tartarus)</div><div>Richard Purdie (RP)<br>Khem Raj (khem)</div><div>Koen Kooi (koen)</div><div>Mark Hatle (fray)</div><div><br></div><div>Other Attendees:</div><div>
Denys <span style="font-family: arial, sans-serif; line-height: 15px; ">Dmytriyenko (denix) - OE board</span></div><div><span style="font-family: arial, sans-serif; line-height: 15px; ">Jeff Osier-Mixon (jefro) - secretary</span></div>
<div><span style="font-family: arial, sans-serif; line-height: 15px; "><br></span></div><div>_____________________________________________________________</div><div>Agenda &amp; Action Items</div><div><br></div><div>Note: This was a working meeting rather than a regular status meeting.</div>
<div><div><br></div><div>* BBCLASS_EXTEND and .inc files don&#39;t work well with the layer approach</div></div><div><div>==&gt; document, explain why bad idea, don&#39;t want to do for x reasons</div></div><div><br></div>
<div><div>* Import xorg structure from OE .dev into meta-oe</div></div><div><div><br></div><div>* Task-boot in meta-angstrom is fit for meta-oe</div></div><div><div><br></div><div>* Angstrom-core-tweaks seems for meta-oe as well</div>
</div><div><div>==&gt; action item for khem - please use LIBC rather than ANGSTROMLIBC</div></div><div><br></div><div><div>* Global poky files need improvement:</div></div><div><div>=&gt; on yocto 1.1 plan - action - document, take action for october (oe-core)</div>
<div><br></div><div>* patchwork instance for layers (e.g. meta-oe/meta-efl/meta-angstrom) &amp; pull requests, need to track</div></div><div><br></div><div><div>* infrastructure</div><div>* Yocto steering group discussion summary (inc BSPs + interest groups)</div>
</div><div><div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; collaborative charter with Yocto Project</div></div><div><div>==&gt;   //&gt; create clearinghouse for bsps/layers &amp; set of mgmt policies (fray) + mirroring</div>
<div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; denix - clause in contact that oe owns their set of data</div><div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; rp -&gt; denix: talk to LF to sort infrastructure hosting details</div>
</div><div><br></div><div><div>* Layer tooling brainstorming</div></div><div>==&gt; RP  improve addhandler functionality in bitbake to list relative events</div><div><br></div><div>* layer creation tools</div><div><div>==&gt; already works in layer.conf, need documentation</div>
<div><br></div><div>* OECore branding</div></div><div><div><br></div><div>* config options</div></div><div><div><br></div><div>* multilibs</div></div><div>==&gt; continue any discussion needed on ml</div><div><br></div><div>
<div><br></div></div><div>* fixing local.conf</div><div><div><div><div>==&gt; document bbmask</div><div>==&gt; simplify local.conf.sample</div></div><div><br></div><div>other:</div><div>==&gt; getting rid of poky name: poky -&gt; core</div>
</div></div><div><br></div><div>_____________________________________________________________</div><div>Raw notes</div><div><br></div><div>Martin raised some points we should discuss:</div><div><br></div><div>* BBCLASS_EXTEND and .inc files don&#39;t work well with the layer approach</div>
<div>// can&#39;t do bb append into a .inc file</div><div>// painful to append to a .inc file</div><div>// also bbclass files</div><div>// rp - natural pressure to share core files</div><div>==&gt; document, explain why bad idea, don&#39;t want to do for x reasons</div>
<div><br></div><div>* Import xorg structure from OE .dev into meta-oe</div><div>// xserver-xorg, x11 - need to synchronize</div><div>// lots of recipes, need to share common files</div><div>// defer to hackathon session later in evening</div>
<div>// fray working on as part of yocto - synch bits in meta-oe with oe-core</div><div>// koen - import from dev</div><div><br></div><div>* Task-boot in meta-angstrom is fit for meta-oe</div><div>// koen already moved to meta-oe</div>
<div>// defer to hackathon</div><div><br></div><div>* Angstrom-core-tweaks seems for meta-oe as well</div><div>==&gt; action item for khem - please use LIBC rather than ANGSTROMLIBC</div><div>// oe-core may be missing this bit (Tartarus)</div>
<div>// RP suggests : core distro include file &quot;shared libcs&quot; to share libcs within same work dir</div><div>// RP contintued: with specific include file</div><div>// defer implementation to hackathon</div><div><br>
</div><div>* Global poky files need improvement:</div><div>// &lt;JaMa|Wrk&gt; and on ELC meetup, when doing oe-core rebranding,  please raise my concern about </div><div>// couple of global poky files, like SRCREVs etc.. I really hate</div>
<div>// openembedded-core/meta/conf/distro/include/poky-default-revisions.inc file included directly </div><div>// from layer.conf as SRCREV_pn-u-boot ??= &quot;v2010.12&quot; there is harder to overwrite from own </div><div>
// u-boot recipe (SRCREV_pn-u-boot works, SRCREV itself doesn&#39;t ofc), but enduser will be</div><div>// confused for sure when most recipes have just SRCREV and sometimes it&#39;s not enough</div><div><br></div><div>// rp doesn&#39;t disagree, but some use case breaks - bb keeps src rev stuff in core config context</div>
<div>// doesn&#39;t know about src rev until passing individual recipe</div><div>// mismatch between recipes</div><div>// teach core about revs in individ. recipes, missing code to do this atm</div><div>// bitbake problem</div>
<div>// can add SRC_REV to bbcache but validation timing is at issue wrt cache</div><div>// rp can solve in layers</div><div>// fray: want to get rid of, but must cope with corner cases</div><div>=&gt; on yocto 1.1 plan - action - document, take action for october (oe-core)</div>
<div><span style="white-space: pre-wrap; ">                                </span></div><div>* patchwork instance for layers (e.g. meta-oe/meta-efl/meta-angstrom) &amp; pull requests, need to track</div><div>// manual intervention needed, need to automate as much as possible</div>
<div>// education issue</div><div>// alternatives are expensive</div><div>// rp first thing, improve hooks</div><div>// go for net improvement (koen) - can include items in patchwork, find individual to monitor </div><div>
// need janitors - koen doing some of this</div><div>// where to put patchwork instance? all on oe currently, falls to oe maintainers</div><div>// koen - <a href="http://patchwork.kernel.org/" target="_blank" style="color: rgb(0, 0, 204); ">patchwork.kernel.org</a> ?</div>
<div>// ** also see infrastructure discussion</div><div><br></div><div>infrastructure</div><div>// resources constrained, but political pressure to keep inside OE</div><div>// rather than depend on corporate support from any corp sponsor</div>
<div><br></div><div><br></div><div>* Yocto steering group discussion summary (inc BSPs + interest groups)</div><div>// don&#39;t want manuf bsps hosted on oe - yocto ok, i.e. beagleboard ok, ti boards not ok</div><div>// nor confusion of one manuf saying &quot;this is official for x board&quot;</div>
<div>// can work with yocto to provide hosting for some</div><div>// koen - layers promote silo mentality - hosting elsewhere promotes that mentality</div><div>// rp - if layers spread across infrastructures, hard to see what is there already</div>
<div>// rp - this is why <a href="http://git.yoctoproject.org/" target="_blank" style="color: rgb(0, 0, 204); ">git.yoctoproject.org</a> set up for many repos</div><div>// tartarus - having mirrors only solves the problem once it exists</div>
<div>// koen - want to promote cooperation, oe board should not tell corps to get lost</div><div>// rp - layers have specific owners, koen - if layer owner disappears, oe can deprecate/mark read-only</div><div>// rp - readonly mirror is not a fork</div>
<div>// koen - tsc can resolve a namespace conflict, has charter that covers infrastructure</div><div>// koen re hosting &quot;yes, but&quot;, not &quot;no, unless&quot;</div><div>// fray - layers are a planned way to cope with distribution (layers vs repos)</div>
<div><br></div><div>multilayer problem:</div><div>  community issues:</div><div>    political inside OE</div><div>    political with corporations</div><div><span style="white-space: pre-wrap; ">        </span>integration with yocto</div>
<div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; collaborative charter</div><div>  technical:</div><div>    infrastructure <span style="white-space: pre-wrap; ">                                </span>- immediate</div><div><span style="white-space: pre-wrap; ">        </span>  hardware, admin</div>
<div>==&gt;   //&gt; create clearinghouse for bsps/layers &amp; set of mgmt policies (fray) + mirroring</div><div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; denix - clause in contact that oe owns their set of data</div>
<div>==&gt;<span style="white-space: pre-wrap; ">        </span>  //&gt; rp -&gt; denix: talk to LF to sort infrastructure hosting details</div><div><br></div><div>* Layer tooling brainstorming</div><div>// problems today - khem : abi  fray: dependencies &amp; versioning, latter no way to specify</div>
<div>// rp have something but very basic</div><div>// fray would like to see layer file, specify url &amp; download layer as a step - possible? desirable?</div><div>// denix - 2 yrs ago trying to enable devteams, update recipes with new versions</div>
<div>    instead of making changes in mainline (arago) used recipe specified default version,</div><div><span style="white-space: pre-wrap; ">        </span>in component specific branches have config file, pokes values into recipe</div>
<div><span style="white-space: pre-wrap; ">        </span>offload recipe updating to the teams, build from internal URL without churning mainline</div><div><span style="white-space: pre-wrap; ">        </span>BOM into one config file, create BOM layers for products</div>
<div><span style="white-space: pre-wrap; ">        </span>easy to implement, nothing in core infrastructure changed</div><div>   fray: wget clones repos until pulled entire tree</div><div>    desired: config file to be just downloaded, script to pull layer stuff</div>
<div><span style="white-space: pre-wrap; ">        </span>knows that if I ran this, here is where everything went</div><div><span style="white-space: pre-wrap; ">        </span>khem: submodules? fray: problem</div><div>   koen: want something like that but not actual submodules</div>
<div>   fray: ok when want to be locked to version, suck when don&#39;t</div><div>     mostly want version of some branch</div><div>   denix: mvl6 pull compressed layers from different places (single server)</div><div>   rp : mv has bitbake run bitbake denix: collections</div>
<div>   fray: bitbake fetcher works</div><div>   rp: variety of higher level tooling doesn&#39;t belong in bitbake - eg qemu, pseudo</div><div>     seem to develop more use cases where we need something above bitbake</div>
<div><span style="white-space: pre-wrap; ">        </span>fray: as we move fwd, need stage1 then auto downloads of collective data</div><div><span style="white-space: pre-wrap; ">        </span> large things</div><div><span style="white-space: pre-wrap; ">        </span> have components to do downloads, but no way to structure right now</div>
<div><span style="white-space: pre-wrap; ">        </span> have to do this, but lower priority</div><div>    rp: leave provisioning for later</div><div><span style="white-space: pre-wrap; ">        </span>fray: roadmap item</div><div><span style="white-space: pre-wrap; ">        </span>fray: missing sanity checks specific to a layer</div>
<div><span style="white-space: pre-wrap; ">        </span>rp: some checks on yocto 1.1 roadmap</div><div><span style="white-space: pre-wrap; ">        </span>kk:  config file to fetch layers, simple format</div><div><span style="white-space: pre-wrap; ">        </span>  fray: dependency reordering</div>
<div><span style="white-space: pre-wrap; ">        </span>rp: visualizing dependencies between layers</div><div><span style="white-space: pre-wrap; ">        </span>fray: flatten tool -&gt; single layer, flattened model</div><div><span style="white-space: pre-wrap; ">        </span>  tar: should be able to do with something chris published before leaving mv</div>
<div><span style="white-space: pre-wrap; ">        </span>  may be a virtual flatten</div><div><span style="white-space: pre-wrap; ">        </span>(kk: fuse filesystem?)</div><div><span style="white-space: pre-wrap; ">        </span>rp: create effective layer repos: layer repo tools to merge layers into a repo, or</div>
<div><span style="white-space: pre-wrap; ">        </span>  separate respective patches to upstream repos</div><div><span style="white-space: pre-wrap; ">        </span>pedigree - genealogy of a layer</div><div><span style="white-space: pre-wrap; ">        </span>kk: note deviations from default</div>
<div><span style="white-space: pre-wrap; ">        </span>  output variable state against given recipe, refer to what pulling in (-e on steroids)</div><div><span style="white-space: pre-wrap; ">        </span>additional information inside layers: pedigree, where maintained, which rev</div>
<div><span style="white-space: pre-wrap; ">        </span>top of bitbake output, banner that summarizes build - add revisions for each layer</div><div><span style="white-space: pre-wrap; ">        </span>  addhandler improvement - layer fingerprint  </div>
<div><span style="white-space: pre-wrap; ">        </span>  </div><div>==&gt; RP  improve addhandler functionality in bitbake to list relative events</div><div><span style="white-space: pre-wrap; ">        </span>currently every handler receives every event - performance issue</div>
<div><span style="white-space: pre-wrap; ">        </span>have handlers optionally specify which events to receive</div><div><span style="white-space: pre-wrap; ">        </span></div><div><span style="white-space: pre-wrap; ">        </span>fray: user&#39;s build directory is a layer in wrl</div>
<div><span style="white-space: pre-wrap; ">        </span>  also &quot;make export&quot; layer</div><div><span style="white-space: pre-wrap; ">        </span>  very handy for prototyping</div><div><span style="white-space: pre-wrap; ">        </span>  rp: technically already is, but missing &quot;make export&quot;</div>
<div><span style="white-space: pre-wrap; ">        </span>  //&gt; verify build dir does act as layer, figure out export tooling</div><div><br></div><div>layer creation tools</div><div>  fetching</div><div>  easy tool to integrate sstate cache?</div>
<div>==&gt; already works in layer.conf, need documentation</div><div>  list of layers constructed from, top layer/bottom layer</div><div>  unique id or uses filepath</div><div>  internal recipe variable so a component can use it </div>
<div>  tool to show recipes shadowing each other</div><div> </div><div>==&gt; continue tooling discussion on ml</div><div><br></div><div>rp: implementation - effective way to create new tooling</div><div>  git submodules, repo, &quot;um waitwait...&quot;</div>
<div>  fray: reality is people will choose own ways</div><div>  khem/rp: have to set own path</div><div>  rp: agree to create higher level tooling? tartarus: yes, want to hear real proposal</div><div>    look at git submodules, look at repo, but do our own thing</div>
<div>  fray: build in discrete stages </div><div>    1 - set up environment</div><div><span style="white-space: pre-wrap; ">        </span>2 - download &amp; set up tools, layers</div><div><span style="white-space: pre-wrap; ">        </span>3 - ...</div>
<div><span style="white-space: pre-wrap; ">        </span>4 - other tools</div><div><span style="white-space: pre-wrap; ">        </span>5 - now have everything, run build user asked for</div><div>  multiple (recursive?) layers</div><div>
  </div><div><br></div><div>* OECore branding</div><div>  I&#39;d also like to touch on the various major changes we&#39;re thinking about</div><div>  for Yocto 1.1 (multilib, config options) and see if there is anything at</div>
<div>  the TSC/architecture level we should be touching upon. There are</div><div>  proposals on the mailing list about these now.</div><div><br></div><div><br></div><div><br></div><div>* config options</div><div>  binary only, package config options, rocket cows (koen)</div>
<div>  koen: cascading of changes up the trees, e.g. gcc r4 to r5, dependencies automatically updated</div><div>  fray: checksums in wrl</div><div>  tar: make moderately painful to add new flags</div><div>  fray: flags when defined need defined states</div>
<div>  rp: what are criteria for having flags in the first place</div><div>  denix: gentoo has local use flags vs global, we are discussing global</div><div>    not implement package-specific? fray: generally yes</div><div>
    machine feature</div><div>  fray: trying to make policy dynamic: system vs package vs machine</div><div>  denix: if flag touches 5 or more different recipes.. rp suggests 8 fray: even #</div><div>  rp - distro specific thing, e.g. yocto doesn&#39;t get rid of x, user can</div>
<div>  fray: define default answer, or distro defined?</div><div>    oe-core shouldn&#39;t require a distro file to be present</div><div>    default in most cases is on</div><div>  can only provide sane defaults for flags in main layer</div>
<div>    complain about flags used but not defined</div><div>  avoid bb multistate flags</div><div>  avoid arbitrary values</div><div>  distro features already binary only</div><div>  fray: distro flags part of hash</div>
<div>  rp: checksum of distro features variable (denix: sort before hashing)</div><div><span style="white-space: pre-wrap; ">        </span></div><div><span style="white-space: pre-wrap; ">        </span></div><div>* multilibs</div><div>
   all agree that multilib needs to not hinder the non-multilib case</div><div>==&gt; continue any discussion needed on ml</div><div>Minutes</div><div>   </div><div>fray: will have a way to separate layer oe-core layers out, but don&#39;t have it today</div>
<div>  move meta-demo to yocto.. meta-rt stays for now, becomes a seperate repository/layer in the future</div><div><br></div><div>==&gt; getting rid of poky name: poky -&gt; core</div><div><br></div><div>distro conf file included or not? sane defaults to allow to run with no distro</div>
<div>rp: propose to keep yocto config in sync with oe-core amap </div><div>  keep defaults matching</div><div>  implicitly agree</div><div><br></div><div>rp: poky.lsb override becomes linuxstandardbase</div><div>  flag becomes override as well</div>
<div>  in distrofeatures becomes override</div><div><br></div><div>pokyimage.bbclass can become coreimage.bbclass</div><div>longer term, merge in</div><div><br></div><div>tasks -&gt; core</div><div><br></div><div>fixing local.conf</div>
<div>==&gt; document bbmask</div><div>==&gt; simplify local.conf.sample</div><br><font color="#888888">-- <br>Jeff Osier-Mixon <a href="http://jefro.net/blog" target="_blank" style="color: rgb(0, 0, 204); ">http://jefro.net/blog</a><div>
Yocto Project Community Manager @Intel <a href="http://yoctoproject.org/" target="_blank" style="color: rgb(0, 0, 204); ">http://yoctoproject.org</a></div><div><br></div></font></span>