<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/data_smart.py, branch edison-6.0</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=edison-6.0</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=edison-6.0'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2011-08-29T13:13:34+00:00</updated>
<entry>
<title>data_smart.py: make use of expand cache in getVar()</title>
<updated>2011-08-29T13:13:34+00:00</updated>
<author>
<name>Dongxiao Xu</name>
<email>dongxiao.xu@intel.com</email>
</author>
<published>2011-08-29T07:33:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dfce2695b96ab587b8235cfab2859a874e9d2eef'/>
<id>urn:sha1:dfce2695b96ab587b8235cfab2859a874e9d2eef</id>
<content type='text'>
Currently if passing expand=True to getVar() function, it will pass the
handling to getVarFlag(), which doesn't get any benefit from the expand
cache.

Call the expand() function separately in getVar() to make use of the
expand cache, which can decrease the parsing time by 40%.
(from current 49s to 27s)

(Bitbake rev: 6555a77c199f41bf35460138764e03e30c56d29f)

Signed-off-by: Dongxiao Xu &lt;dongxiao.xu@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/ast: Fix ??= vs. ?= handling</title>
<updated>2011-07-05T10:39:05+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-07-05T10:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=56e46f0bc41013f6857fdb85c82c0ebf75d822f9'/>
<id>urn:sha1:56e46f0bc41013f6857fdb85c82c0ebf75d822f9</id>
<content type='text'>
As the code stands, setting a variable with ??= could result in a ?=
variable not overriding it. This patch fixes the issue by allowing
the ast to make lookups that ignore any ??= set variables.

(Bitbake rev: 32fee2e650dfdd3aa9a7572dad1251e0c24ca34b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Don't track overrides in deleted variable names</title>
<updated>2011-06-28T14:27:41+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-06-17T16:34:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1b5d7b59d330b49a25fe60aea22c2f3b59bfb5e1'/>
<id>urn:sha1:1b5d7b59d330b49a25fe60aea22c2f3b59bfb5e1</id>
<content type='text'>
When we delete a variable we no longer expect it to override other
variables.

To do this we remove it from the list of active overrides at deletion
time. It turns out we already had to do this at override expansion time
so this cleans up the code to be more consistent as an added bonus.

(Bitbake rev: d924ff9ede57c3dea6e1c738ba3633f18d460b14)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Don't export deleted/empty entries in the list of keys</title>
<updated>2011-06-28T14:27:41+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-06-17T16:32:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5c5b0045e8abf4f8e8d7e7e5977672bc3341882e'/>
<id>urn:sha1:5c5b0045e8abf4f8e8d7e7e5977672bc3341882e</id>
<content type='text'>
If you d.delVar(), you expect the variable to be gone. Even empty
variables continue to exist in the datastore and are still user visible
unfortunately. The COW siutation means you can't just remove it
since it might unmask a variable from an inner copy.

This patch therefore stops empty variables from appearing in key lists
exposed to the external world making empty variables an internal
implementation detail only.

(Bitbake rev: 2b5548c591d4cfde9238d2cc0959c42cfc08f09c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Optimise the data store iterator</title>
<updated>2011-06-28T14:27:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-06-10T16:23:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=cc2a8ff5225e9fe987d8036970b2bf4293a13611'/>
<id>urn:sha1:cc2a8ff5225e9fe987d8036970b2bf4293a13611</id>
<content type='text'>
Since we're going to creat the seen set() anyway, we might as well use
it directly. If we don't do this, we see thousands of function calls
with associated overhead on profiles.

(Bitbake rev: 9d43e3279895639ee4899df635f2546c7ee13737)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Change overrides behaviour to remove expanded variables from the datastore</title>
<updated>2011-06-09T21:43:44+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-05-31T22:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=eda23733f04bb118a6415fdf5bcef7ddfb368527'/>
<id>urn:sha1:eda23733f04bb118a6415fdf5bcef7ddfb368527</id>
<content type='text'>
Currently if you do:

OVERRIDES = "z"
DEPENDS_prepend = "a "
DEPENDS = "b"
DEPENDS_z = "c"

d.update_data()
d.getVar("DEPENDS")

gives "a c"

d.update_data()
d.getVar("DEPENDS")

then gives "c"

This patch changes the behaviour such that at the time bitbake expands the DEPENDS_z
override, it removes "DEPENDS_z" from the data store. In the above example this would
mean that it wouldn't matter how often you call d.update_data(), you'd always get
"a c" back.

See the bitbake-devel mailing list for further discussion and analysis of the
potential impact of this change.

(Bitbake rev: 899d45b90061eb3cf3e71029072eee42cd80930c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>data_smart: Adding overrides of zero length is pointless so lets not</title>
<updated>2011-06-01T13:08:40+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-06-01T13:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fdead2bfc05340ac3134ca5de0ad33812d40c7b8'/>
<id>urn:sha1:fdead2bfc05340ac3134ca5de0ad33812d40c7b8</id>
<content type='text'>
(Bitbake rev: 67434496108efc3aba9cb1e3640bc712658b1408)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>More 'is' fixups</title>
<updated>2011-03-31T11:23:24+00:00</updated>
<author>
<name>Chris Larson</name>
<email>chris_larson@mentor.com</email>
</author>
<published>2011-03-16T15:07:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=31521d748460b7e9135b745574c55d33d8f0e7f3'/>
<id>urn:sha1:31521d748460b7e9135b745574c55d33d8f0e7f3</id>
<content type='text'>
(Bitbake rev: 967cd1aa2c59f15d805862bd9935f507c635c762)

Signed-off-by: Chris Larson &lt;chris_larson@mentor.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Improve Variable expansion error handling</title>
<updated>2011-02-23T13:13:31+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-02-23T13:13:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=101b599110f7bc29f52a14a968f30323aeb797ca'/>
<id>urn:sha1:101b599110f7bc29f52a14a968f30323aeb797ca</id>
<content type='text'>
If expanding a variable triggers an exception the caller currently has no
way to supress the error message or otherwise handle the siutation. An
example of where this is a problem is "bitbake -e" showing tracebacks and
errors for variables like SRCPV in OE/Poky.

Secondly in a chained expansion fails, log mesages are recorded for
every step of the expansion, not just the innermost error which is
where the real failure occured.

To fix this we introduce a new exception ExpansionError which callers
can handle as appropriate.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake/data_smart: Improve the way lazyassignment works</title>
<updated>2011-02-23T11:48:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-02-23T11:48:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6ea24f04cd635295d826f03d9c7d8a08cc1d5b31'/>
<id>urn:sha1:6ea24f04cd635295d826f03d9c7d8a08cc1d5b31</id>
<content type='text'>
Currently, if a variable has been set with ??= and the code looks it up
before the data finalisation phase, no value is found. This is causes
serious problems for anonymous python functions which manipulate data, or
for the fetcher revision handling code where revisions can be set with
??=.

There is also a significant performance implication for processing lazy
assignment in finalise.

Moving the check for a default value into getVarFlag addresses both
the timing issue and the performace. This change gives a 7% real time
performance improvement to parsing the Poky metadata. The cost of the
check at this point is minimal since we have all the data flags available.

This should also fix Yocto bug 752.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
