<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/cache.py, branch 4.2_M3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=4.2_M3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=4.2_M3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-01-26T21:50:31+00:00</updated>
<entry>
<title>bitbake: cache/codeparser: Switch to a new BB_CACHEDIR variable for cache location</title>
<updated>2023-01-26T21:50:31+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-11-30T22:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=557aab215884d10839fa24f797890c99f38e97b2'/>
<id>urn:sha1:557aab215884d10839fa24f797890c99f38e97b2</id>
<content type='text'>
Currently the codeparser cache is set from CACHE, which is typically in
bitbake.conf which means we can't read/write any cache until it is found/read.
We may well have python expressions to parse before that happens.
The net result is suboptimal functioning of the codeparser cache since it will
often be invalidated by data that is never written.

This patch changes the codeparser and filechecksum caches to use BB_CACHE as
their setting and defaults it to ${TOPDIR}/cache.

The patch doesn't change where the "persistent" data such as prserver and
hash-equiavalance resides (PERSISTENT_DIR) or where the metadata parsing
cache resists (still currently CACHE). I've left those for a later patch.

The patch does ensure data parsed by the core datastore parsing calls is
written back since this is now much more useful after this change.

(Bitbake rev: ee89ade5b5a4cf9c53f336d8b800e06fbe436628)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Only write files if we have data</title>
<updated>2023-01-24T21:59:44+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-01-21T19:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4a94cf21c5538232a4ca32cd249794933e31818b'/>
<id>urn:sha1:4a94cf21c5538232a4ca32cd249794933e31818b</id>
<content type='text'>
By writing the cache files only if there is data to write, we can save a
bit of time.

(Bitbake rev: abeff1f80bb1c690b92d535d472dff9df7a56067)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Drop reciever side counting for SiggenRecipeInfo</title>
<updated>2022-12-30T15:07:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-12-28T14:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=42487f069b0b6212a140ddbc92b9c586f6940dc2'/>
<id>urn:sha1:42487f069b0b6212a140ddbc92b9c586f6940dc2</id>
<content type='text'>
Joshua Watt pointed out maintaining the counting on both sides of the
connection isn't needed. Remove the receiver side counting and simplify
the code, also allowing errors if the counts do go out of sync.

(Bitbake rev: aeacfd391903fe68ae600470fc2bbad0502d401e)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache/siggen: Fix cache issues with signature handling</title>
<updated>2022-12-29T00:05:45+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-12-28T13:53:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6549f58cd6e22b4c345212237e81e68e12dfcb61'/>
<id>urn:sha1:6549f58cd6e22b4c345212237e81e68e12dfcb61</id>
<content type='text'>
There is a bug in the current cache code where the restored data structures
were "inverted" leading to some very weird issues, not sure how anything worked
like that, this patch fixes it.

Also fix some issues with multiconfig cache ordering problems by resetting
the stream counters when appropriate.

(Bitbake rev: cd06beb948eff5eaf2d474f5b127d51a61b0b2ef)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Allow compression of the data in SiggenRecipeInfo</title>
<updated>2022-12-21T14:15:26+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-11-17T11:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7d010055e2af3294e17db862f42664ca689a9356'/>
<id>urn:sha1:7d010055e2af3294e17db862f42664ca689a9356</id>
<content type='text'>
The data in SiggenRecipeInfo is large and has a lot of duplication. The size
causes a few problems, impacting:

 - bitbake's overall memory usage
 - the amount of data sent over IPC between parsing processes and the server
 - the size of the cache files on disk
 - the size of "sigdata" hash information files on disk

The data consists of strings (some large) or frozenset lists of variables.
To reduce the impact we can:

a) deplicate the data
b) pass references to the object on the second usage
   (e.g. over IPC or saving into pickle).

This patch does this for SiggenRecipeInfo mostly behind the scenes
but we do need a couple of reset points so that streamed data is written
correctly on the second usage.

(Bitbake rev: 9a2b13af483c20763d6559a823310954884f6ab1)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen/cache: Optionally allow adding siggen hash data to the bitbake cache</title>
<updated>2022-12-08T10:49:53+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-12-01T22:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8fe5f307e2921e3ecf46e2b45f89fd1982680315'/>
<id>urn:sha1:8fe5f307e2921e3ecf46e2b45f89fd1982680315</id>
<content type='text'>
Being able to track siggen hash construction data can be useful for cache
debugging. For now, add an extra cache class which contains this information.
It can be enabled in the same way as the hob data cache through a feature flag
to cooker. This allows us to experiment with the data without carrying larger
patches around and ultimately may allow use to have a hash mismatch debugging
mode that is more easily enabled.

(Bitbake rev: 0736a8a03da8b774fafbd28f746bef4705378049)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache/siggen: Simplify passing basehash data into the cache</title>
<updated>2022-12-08T10:49:53+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-12-01T22:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c14d8b9b6bd3a6fa4bae93c65425aaa936336546'/>
<id>urn:sha1:c14d8b9b6bd3a6fa4bae93c65425aaa936336546</id>
<content type='text'>
The basehash data is really internal bitbake data and passing an object
directly is more efficient than creating and then extracting variables.

This will match the format of other data we may optionally wish to
store in the cache so more to the more efficient method. Nothing I
can see is using this data today (and nothing should be).

(Bitbake rev: e621093a1bf37cd75ede3fb77ab6845556870fc7)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Drop support for not saving the cache file</title>
<updated>2022-11-20T08:31:28+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-11-16T12:27:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5673f731f7a1c028b240ad48ed3661c02cc7f81d'/>
<id>urn:sha1:5673f731f7a1c028b240ad48ed3661c02cc7f81d</id>
<content type='text'>
We don't test not using the cache and I'm not aware of anyone using this, it
would be hard to with modern bitbake.

Drop the conditional code and simply error if CACHE isn't set.

(Bitbake rev: 063ffe699bc5fc23174643dfedb66864cacfcff8)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Drop unused function</title>
<updated>2022-11-20T08:31:28+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-11-16T12:16:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=82b5cdad0f8f5a511545b613410895e1a93840a1'/>
<id>urn:sha1:82b5cdad0f8f5a511545b613410895e1a93840a1</id>
<content type='text'>
At this point users appear to all call add_info directly. Failing
to do that means the file dependency tracking code isn't active
so would cause problems. Therefore drop the unused function.

(Bitbake rev: 6b24efc0f4d19738d96754280e70bc493005167d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache: Drop broken/unused code</title>
<updated>2022-11-20T08:31:28+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-11-16T12:11:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9206614d79a91d92b1130dd028ea0cf3a4bee79f'/>
<id>urn:sha1:9206614d79a91d92b1130dd028ea0cf3a4bee79f</id>
<content type='text'>
Some parts of functions in Cache() were broken and unused, there was
also a totally unused function. This was historical as a result of the
cooker parsing process needing to handle cached entries in the main
thread but parsing actions in seperate processes.

Document the way it works, update the function name to be clear about
what it now does and drop the old code which was unused.

(Bitbake rev: af83ee32df85c8e4144f022a1f58493eb72cb18e)

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