<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/build.py, branch yocto-3.4.3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-3.4.3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-3.4.3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2022-03-24T11:05:16+00:00</updated>
<entry>
<title>bitbake: build: Tweak exception handling for setscene tasks</title>
<updated>2022-03-24T11:05:16+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-01-19T17:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d3f32d158427725385011ba146e1415f658a8651'/>
<id>urn:sha1:d3f32d158427725385011ba146e1415f658a8651</id>
<content type='text'>
If an unexpected exception occurs in a setscene task, it is currently hidden
from the user and not recorded in any logs. This isn't helpful to debug
such failures.

Change the code so that even in the "silent" or "quiet" task case (setscene
tasks), a warning is shown with the traceback unless it was an "handled"
exception. This means the failing function can show it's own warning/error
instead if it wants to and then raise a handled event.

(Bitbake rev: 43dcb2b2a2b95a5c959be57bca94fb7190ea6257)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 41dcdc61eb40def8c14a42e8d7bb9ce5a34afa57)
Signed-off-by: Anuj Mittal &lt;anuj.mittal@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Fix log flushing race</title>
<updated>2021-09-23T21:13:08+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-23T11:16:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7d0437c4e8063362d9ca127dbd439208fe6ebda4'/>
<id>urn:sha1:7d0437c4e8063362d9ca127dbd439208fe6ebda4</id>
<content type='text'>
There is a race between sending the TaskFailed event which could trigger
the UI to look at the logs and flushing and closing the log files.

Reverse the order of the finally clause and the exception handling
to ensure we've handled the logfiles before sending the task events.

This should fix a race seen in bblogging.BitBakeLogging.test_python_exit_logging

(Bitbake rev: 032190aac31604d37740d8aecf6e74a5448de358)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Make exception printing clearer</title>
<updated>2021-09-23T21:13:08+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-23T11:03:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3d06c164dd729484ac1c73e3c73d3b6018749877'/>
<id>urn:sha1:3d06c164dd729484ac1c73e3c73d3b6018749877</id>
<content type='text'>
Shows:

ERROR: SystemExit(1)

instead of:

ERROR: 1

(Bitbake rev: df89e37c33e4398a5f8ece9a8b973be3fe2ff361)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Ensure python stdout/stderr is logged correctly</title>
<updated>2021-09-23T21:13:08+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-23T10:50:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8f1c2f851a87c3402766a8408a8ee65d6a4fb785'/>
<id>urn:sha1:8f1c2f851a87c3402766a8408a8ee65d6a4fb785</id>
<content type='text'>
Currently we see things like:

Log data follows:
| DEBUG: Executing python function do_pythontest_exit
| DEBUG: Python function do_pythontest_exit finished
| ERROR: 1
| This is python stdout

Whilst after the change we see things like:

Log data follows:
| DEBUG: Executing python function do_pythontest_exit
| This is python stdout
| DEBUG: Python function do_pythontest_exit finished
| ERROR: 1

since the output is now correctly mixed with the log messages. In some cases the logging
tests indicate the output is being lost entirely which is bad for debugging and makes
things rather confusing.

(Bitbake rev: 8966b43761500e0505333d8c9a3f0f2c3dbe7559)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Catch and error upon circular task references</title>
<updated>2021-09-11T21:39:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-10T13:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3a8cb949a9c11d7fcab55c2036f8be306beb4e37'/>
<id>urn:sha1:3a8cb949a9c11d7fcab55c2036f8be306beb4e37</id>
<content type='text'>
If there are circular task references, error on them rather than show
a recursion error. A simple reproducer is:

"""
do_packageswu () {
       :
}

addtask do_packageswu after do_image_complete before do_image_qa
"""

into image_types.bbclass. There is code in runqueue to detect these but
we never get that far with the current codebase.

[YOCTO #13140]

(Bitbake rev: 339d4d6be515a71311b81fb9e99742af0d8a5130)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Avoid duplicating logs in verbose mode</title>
<updated>2021-09-11T21:39:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-10T09:28:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f49854c1f7b7ab72c803864ab7f4c782fc503ca0'/>
<id>urn:sha1:f49854c1f7b7ab72c803864ab7f4c782fc503ca0</id>
<content type='text'>
With "bitbake -v", for task failures you'd see the log output twice. Avoid
this by using the existing "did we print info" switch.

(Bitbake rev: e2c1afda4cb8023ed4ffeb5dc5bee4f0055659a8)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Handle SystemExit in python tasks correctly</title>
<updated>2021-09-11T21:39:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-10T09:02:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c2b40b0f6d062c5061b11b038fac3b7b1539c688'/>
<id>urn:sha1:c2b40b0f6d062c5061b11b038fac3b7b1539c688</id>
<content type='text'>
If a python task fails with sys.exit(), we currently see no TaskFailed event.
The high level code does detect the exit code and fail the task but it can
leave the UI inconsistent with log output.

Fix this be intercepting SystemExit explicitly. This makes python
task failures consistent with shell task failures.

(Bitbake rev: 9eee9fd4f2f96789ad2b037e74d561bdc1426856)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Match markup to real function name</title>
<updated>2021-09-11T21:39:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-10T08:52:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=444592b763eccb336f5634432fc6bcf355d90f18'/>
<id>urn:sha1:444592b763eccb336f5634432fc6bcf355d90f18</id>
<content type='text'>
The point of the injected text is to identify where the function comes from. Using
the correct function name would therefore be better.

(Bitbake rev: 30c6ff8551c235254ab90663ab88f66bb0c71edb)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: warn on setting noexec/nostamp/fakeroot flag to any value besides '1'</title>
<updated>2021-06-06T22:18:26+00:00</updated>
<author>
<name>Chris Laplante</name>
<email>chris.laplante@agilent.com</email>
</author>
<published>2021-06-02T16:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=66f22c0bd19a81ee7ccb49543f24a4f90fc012ba'/>
<id>urn:sha1:66f22c0bd19a81ee7ccb49543f24a4f90fc012ba</id>
<content type='text'>
Currently setting those flags to even the empty string "" causes it to be set,
which is contrary to the documentation. In a future version of BitBake, we'd
like to change the behavior so that setting the flag to "" does not set it.
This will allow conditionally setting noexec, using variable expansion or
inline Python.

I found no places in poky or meta-openembedded where this warning would trigger.

[YOCTO #13808]

(Bitbake rev: 1e7655c4f765ba7b4791c4cca048a69bf8d9c93d)

Signed-off-by: Chris Laplante &lt;chris.laplante@agilent.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: build: Add find_stale_stamps function</title>
<updated>2021-03-23T22:51:25+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-03-18T17:57:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ab55f8bfec37dac8750c5d55b585332fc3f9b135'/>
<id>urn:sha1:ab55f8bfec37dac8750c5d55b585332fc3f9b135</id>
<content type='text'>
Add a new function which compares the stamp filename we want (including
taskhash) with what is in the stamp directory (using the clean mask).
This tells us which stamp files are stale and are due to be rerun.

(Bitbake rev: b126a53882d202e4df0f9661303355c9fe9ec80e)

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