<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/siggen.py, branch yocto-4.1.2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.1.2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.1.2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2022-08-12T10:49:29+00:00</updated>
<entry>
<title>bitbake: bitbake: Add copyright headers where missing</title>
<updated>2022-08-12T10:49:29+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-08-10T19:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e19ce4191d94646e35386a5f2179c02ef8dc1cb6'/>
<id>urn:sha1:e19ce4191d94646e35386a5f2179c02ef8dc1cb6</id>
<content type='text'>
Where copyright headers were not present, add them to make things
clear.

(Bitbake rev: 1aa338a216350a2751fff52f866039343e9ac013)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Fix insufficent entropy in sigtask file names</title>
<updated>2022-08-09T15:28:03+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2022-08-03T14:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fdc9d9e4fc386e178800b15ea22a368749e90965'/>
<id>urn:sha1:fdc9d9e4fc386e178800b15ea22a368749e90965</id>
<content type='text'>
Signature generation uses mkstemp() to get a file descriptor to a unique
file and then write the signature into it. However, the unique file name
generation in glibc is based on the system timestamp, which means that
with highly parallel builds it is more likely than one might expect
expected that a conflict will occur between two different builder nodes.
When operating over NFS (such as a shared sstate cache), this can cause
race conditions and rare failures (particularly with NFS servers that
may not correctly implement O_EXCL).

The signature generation code is particularly susceptible to races since
a single "sigtask." prefix used for all signatures from all tasks, which
makes collision even more likely.

To work around this, add an internal implementation of mkstemp() that
adds additional truly random entropy to the file name to eliminate
conflicts.

(Bitbake rev: 97955f3c1c738aa4b4478a6ec10a08094ffc689d)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cache/siggen: Add unihash cache copy function</title>
<updated>2022-06-02T11:28:21+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-06-01T18:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bcf935cd1bd7b0ed0b636fd8b984cd7dab3ebd3e'/>
<id>urn:sha1:bcf935cd1bd7b0ed0b636fd8b984cd7dab3ebd3e</id>
<content type='text'>
We see rare failures in eSDK generation with zero sized unihash cache files. This is
almost certainly due to races in the cache file being updated. Add a copy function
where the cache file can be copied with the lock held to avoid this.

(Bitbake rev: 9e72a3915e36cb843037040cb68a82077436dbef)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake-diffsigs: break on first dependent task difference</title>
<updated>2022-05-10T08:47:36+00:00</updated>
<author>
<name>Schmidt, Adriaan</name>
<email>adriaan.schmidt@siemens.com</email>
</author>
<published>2022-05-06T12:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=30cc249a8c75f554693b472928bfd020f4e48fdd'/>
<id>urn:sha1:30cc249a8c75f554693b472928bfd020f4e48fdd</id>
<content type='text'>
compare_sigfiles() recursively calculates differences on all dependent
tasks with changed hashes. This is done in arbitrary/alphabetical order, and
only the last of those results is returned, while everything else is discarded.

This changes the behavior to instead return the first difference and not calculate
any more, which significantly speeds up diffs of tasks with many dependencies.

(Bitbake rev: ea6a676c9aa2864c2eff40eea41ba09ce903a651)

Signed-off-by: Adriaan Schmidt &lt;adriaan.schmidt@siemens.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Drop pointless break statement</title>
<updated>2022-04-21T20:00:35+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-04-20T13:09:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=509090fd3eb66e11a44b2f131079fbd153be6520'/>
<id>urn:sha1:509090fd3eb66e11a44b2f131079fbd153be6520</id>
<content type='text'>
(Bitbake rev: 42809f6acb79e39042e81d54c28efb92b7481e44)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake-diffsigs: make finding of changed signatures more robust</title>
<updated>2022-04-14T08:48:33+00:00</updated>
<author>
<name>Schmidt, Adriaan</name>
<email>adriaan.schmidt@siemens.com</email>
</author>
<published>2022-04-12T07:42:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=33b929192e78b09dfb1ea84c76db2eae4ce444a1'/>
<id>urn:sha1:33b929192e78b09dfb1ea84c76db2eae4ce444a1</id>
<content type='text'>
In `runtaskhashes`, the keys contain the absolute paths to the recipe. When
working with shared sstate caches (where these absolute paths can be different)
we see that compare_sigfiles does not identifiy a changed hash of a dependent
task as "changed", but instead as "removed"&amp;"added", preventing the function
from recursing and continuing the comparison.

By calling `clean_basepaths` before comparing the `runtaskhashes` dicts, we
avoid this.

(Bitbake rev: 7358378b90b68111779e6ae72948e5e7a3de00a9)

Signed-off-by: Adriaan Schmidt &lt;adriaan.schmidt@siemens.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Add missing reset handler to hashserv signature generator</title>
<updated>2022-03-26T09:27:43+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-25T09:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f0c28dddbe31dac627eaa31ddb1ed21706005a0b'/>
<id>urn:sha1:f0c28dddbe31dac627eaa31ddb1ed21706005a0b</id>
<content type='text'>
When we have a client connection, we should close that connection when reset()
is called on the siggen. Add the missing function.

(Bitbake rev: 770b4ea81b6126b0830e51649c40f7a46c64132a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: cooker/siggen: Support exit calls and use for hashserv client</title>
<updated>2022-03-26T09:27:43+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-24T23:23:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=88fcf8422dd04372d73aacfef0ee50de09ef41bd'/>
<id>urn:sha1:88fcf8422dd04372d73aacfef0ee50de09ef41bd</id>
<content type='text'>
We have shutdown functions within the async client code but the siggen
doesn't currently call them. We notice on python 3.10 (such as on fedora35)
that at exit, there is a stray asyncio process left behind. Usually this
doesn't cause problems but it could potentially be a cause of a hang.

For general cleanliness and completness, add in hooks to call the exit handler.

(Bitbake rev: 9ee3fb95330003878fbd64b3ce8897aad96fcd0f)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Improve ambiguous use of 'dependent'</title>
<updated>2022-03-23T12:14:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-03-22T17:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d303f9c6ed5316ce8b750a413553ee462e1d20c2'/>
<id>urn:sha1:d303f9c6ed5316ce8b750a413553ee462e1d20c2</id>
<content type='text'>
I'd never spotted this until it was pointed out but the task isn't dependent,
it is a dependency. Fix this confusing reference.

(Bitbake rev: 93395559c9dda734a3dec9ffd9bb2156a71a2c17)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: Replace remaining "abort" usage</title>
<updated>2022-02-21T23:37:26+00:00</updated>
<author>
<name>Scott Murray</name>
<email>scott.murray@konsulko.com</email>
</author>
<published>2022-02-17T22:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f7fccbe289c216b5bee7336d433589192f9cb6b0'/>
<id>urn:sha1:f7fccbe289c216b5bee7336d433589192f9cb6b0</id>
<content type='text'>
In line with the inclusive language migration defined at:

https://wiki.yoctoproject.org/wiki/Inclusive_language

replace the remaining usage of "abort" in documentation, error
messages, and comments with halt/fail/exit as appropriate.
A couple of external Javascript API calls in Toaster remain, as
they cannot currently be changed.

(Bitbake rev: bc27762bf3ffb4a20b58eace5302438c4a526626)

Signed-off-by: Scott Murray &lt;scott.murray@konsulko.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
