<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openembedded-core.git/meta/classes/kernel-yocto.bbclass, branch master</title>
<subtitle></subtitle>
<id>https://trygvis.io/git/2012/05/openembedded-core.git/atom?h=master</id>
<link rel='self' href='https://trygvis.io/git/2012/05/openembedded-core.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/'/>
<updated>2012-05-11T22:23:27Z</updated>
<entry>
<title>kernel-yocto: export GUILT_BASE to devshell</title>
<updated>2012-05-11T22:23:27Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-05-08T19:10:17Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=10546e42a0db6a9585488536e29759239ef6e73b'/>
<id>urn:sha1:10546e42a0db6a9585488536e29759239ef6e73b</id>
<content type='text'>
One of the patch backends to linux-yocto is guilt, which normally
tracks patches under .git. But .git isn't something that can be
checked into a SCM and repeated. So it has been moved under meta/patches
and committed to the meta branch.

If devshell is used, GUILT_BASE isn't set, so patch manipulations will
fail. We export GUILT_BASE and point it at the meta directory when
devshell is invoked for linux-yocto.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: streamline support for multiple upstream repo types</title>
<updated>2012-05-08T15:05:59Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-03-22T20:00:08Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=06e5f45c8f38925cd5902a3a3f436f5e9451dd16'/>
<id>urn:sha1:06e5f45c8f38925cd5902a3a3f436f5e9451dd16</id>
<content type='text'>
In order to support repositories of various types (with or without
meta data, branched, pristine, custom, etc) information about the
type of processing that is required was passed to the processing
phases via variables.

The combination of variables involved in coordinating the processing
creates a learning curve and overly complicates recipe extensions.

With minor tweaks to the kern-tools, adding flexibility and keying
off the existence of the meta branch it is possible to remove all
of the variables that were added to support different repository
types.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: .diff is a valid patch extension</title>
<updated>2012-04-17T22:15:24Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-04-17T22:01:44Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=0ade3f26f40b67d7296725b1e956c46be9a86089'/>
<id>urn:sha1:0ade3f26f40b67d7296725b1e956c46be9a86089</id>
<content type='text'>
In fixing an existing patch migration bug, the list of valid extensions
got out of sync from the core patch class. As a result, valid patches
were not being applied to the tree.

Updating the tools to migrate .diff files fixes the issue.

Also in this fix is the removal of .patch in the find_sccs() routine, since
it will never be returned by patch.bbclass when all non-patches are
requested, it is simply confusing.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>linux-yocto: allow .cfg, .scc, .patch and defconfigs to be processed in order</title>
<updated>2012-04-13T21:43:03Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-04-13T20:55:44Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=08c368b9980716e459d846dd7183940a5bf8bea4'/>
<id>urn:sha1:08c368b9980716e459d846dd7183940a5bf8bea4</id>
<content type='text'>
During testing/extension of the linux-yocto-tiny kernel it was found that
defconfigs were not always properly applied. This was due to two issues:

  - not being able to fully control the order of objects applied to the
    git tree on the SRC_URI
  - defconfigs triggering --allnoconfig before being applied

To fix this, the recipe space code that previously detected and generated
automatic features moves back to the kernel tools (where it was before) and
is updated to also process .cfg and defconfigs. Moving this back to the
tools allow other recipes to automatically benefit from the additional
support.

The second issue is addressed by allowing configme to take --alldefconfig
when a recipe wishes to pass a defconfig and override the default
behaviour.

Fixes [YOCTO: 2250]

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>linux-yocto: support externalsrc builds</title>
<updated>2012-03-28T08:23:51Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-03-28T02:31:14Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=e3117fb15498c899282f25a195f3dd3dc889168c'/>
<id>urn:sha1:e3117fb15498c899282f25a195f3dd3dc889168c</id>
<content type='text'>
There are a few extra task that modify the source tree that should
be removed when externalsrc is inherited by a recipe that uses a
linux-yocto tree.

Adding those tasks to SRCTREECOVEREDTASKS means that they are skipped
and externalsrc works as intended.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>linux-yocto: respect FILESPATH directories</title>
<updated>2012-03-13T11:44:44Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-03-02T16:36:07Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=ecade4c986e5045879ea204e31457c9b53a15e33'/>
<id>urn:sha1:ecade4c986e5045879ea204e31457c9b53a15e33</id>
<content type='text'>
During the work to enhance the ability to specify out of tree kernel
features, an assumption was made about PN being part of a patch
path. This assumption is incorrect, since patches can be anywhere in
the valid FILESPATH.

To make locating the patches in WORKDIR simple, we can just query
patch.bbclass and return both the absolute directory of the patch
and the subdirectory as it was specified on the src_uri.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>meta: Replace bb.data.expand(xxx, d) -&gt; d.expand(xxx)</title>
<updated>2012-03-05T18:33:18Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-03-03T11:21:22Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=065dab7480ea0fae66db4b5a01d09814b1f38e03'/>
<id>urn:sha1:065dab7480ea0fae66db4b5a01d09814b1f38e03</id>
<content type='text'>
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>linux-yocto: make kernel_checkout reentrant</title>
<updated>2012-03-02T14:01:05Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-02-28T21:09:58Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=f937977f241e786c5a7438449ed4c9da4c55829b'/>
<id>urn:sha1:f937977f241e786c5a7438449ed4c9da4c55829b</id>
<content type='text'>
The steps in do_kernel_checkout modify the source tree in WORKDIR.
If it is called multiple times, or interrupted, the tree is left
in an inconsistent state.

This change adds protections around branch names, and around the
manipulations of directories to ensure that it is safe to call
at any point.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>linux-yocto: allow non-branched repositories to check out</title>
<updated>2012-02-28T12:14:51Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-02-27T18:20:41Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=fb2b3c7c10df1b44679a20e7dffd37f07fd01aba'/>
<id>urn:sha1:fb2b3c7c10df1b44679a20e7dffd37f07fd01aba</id>
<content type='text'>
Not all users of the checkout phase of linux-yocto have all
branches present. This is normal, and should be supported. By
checking for an empty KBRANCH we can avoid validating a branch
that isn't supposed to exist.

[YOCTO #2032]

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: improve checkout error handling and reporting</title>
<updated>2012-02-24T17:12:00Z</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2012-02-24T01:58:47Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=e3b6537cc7931636ab11ae6ed2c8fbaad9da91bc'/>
<id>urn:sha1:e3b6537cc7931636ab11ae6ed2c8fbaad9da91bc</id>
<content type='text'>
The typical workflow for linux-yocto simply uses a remote
upstream repository (Whether it is mirrored or not), and in this
case there are no issues with consistency in the format of the
resository that is unpacked into the WORKDIR.

When working with a local linux-yocto repository for kernel
development the remote vs local branches is not always consistent
between repositories.

The suggested/documented workflow has always been to use a
bare clone of linux-yocto, and use a second working tree repository
for development. Changes flow from the working tree to the bare
clone and then into the working directory for build. A common
mistake that happens with this workflow is that the non-bare,
working repository is used instead of the bare clone version.

If a non-bare repository is reference by the SRC_URI, then the
branches that are fetched into WORKDIR are not consitent. If the
MACHINE and META branches are not present, cryptic build errors
will result.

To solve this problem, the checkout code has been changed in
several ways:

  - works with a newly proposed 'bareclone' option to bitbake
  - detects if a bareclone is present in WORKDIR or not and
    adjustst the checkout accordingly.
  - if a non-bare clone is detected, machine and meta branches
    are checked. If they are not present, or can't be created
    a clear error message is produced
  - instead of manipulating the refs directly in the git tree,
    local tracking branches are (quietly) created for remote
    branches. Enabling a better workflow in the WORKDIR kernel
    repository.

This has been tested with linux-yocto remote upstreams, local
bare and non-bare respositories. All builds succeed or fail
with clear error messages.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
