<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/buildman/builderthread.py, branch v2021.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/tools/buildman/builderthread.py?h=v2021.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/buildman/builderthread.py?h=v2021.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-04-29T10:23:39Z</updated>
<entry>
<title>buildman: Use bytes for the environment</title>
<updated>2021-04-29T10:23:39Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-04-11T04:27:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f1a83abe60b4ef8b2652e4c8e1d11a9afc909b71'/>
<id>urn:sha1:f1a83abe60b4ef8b2652e4c8e1d11a9afc909b71</id>
<content type='text'>
At present we sometimes see problems in gitlab where the environment has
0x80 characters or sequences which are not valid UTF-8.

Avoid this by using bytes for the environment, both internal to buildman
and when writing out the 'env' file. Add a test to make sure this works
as expected.

Reported-by: Marek Vasut &lt;marex@denx.de&gt;
Fixes: e5fc79ea718 ("buildman: Write the environment out to an 'env' file")
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Handle exceptions in threads gracefully</title>
<updated>2021-04-29T10:23:39Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-04-11T04:27:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8116c78ffddc71dec8f793339648a5239a5d9643'/>
<id>urn:sha1:8116c78ffddc71dec8f793339648a5239a5d9643</id>
<content type='text'>
There have been at least a few cases where an exception has occurred in a
thread and resulted in buildman hanging: running out of disk space and
getting a unicode error.

Handle these by collecting a list of exceptions, printing them out and
reporting failure if any are found. Add a test for this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Use common code to send an result</title>
<updated>2021-04-29T10:23:39Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-04-11T04:27:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ab9b4f35e38bf9725a13d2e487d1d5962ab412bb'/>
<id>urn:sha1:ab9b4f35e38bf9725a13d2e487d1d5962ab412bb</id>
<content type='text'>
At present the code to report a build result is duplicated. Put it in a
common function to avoid this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Tidy up a few comments</title>
<updated>2021-04-29T10:23:39Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-04-11T04:27:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=249933136f860eb35f8729f4774b7058744bf31f'/>
<id>urn:sha1:249933136f860eb35f8729f4774b7058744bf31f</id>
<content type='text'>
Add some function comments which are missing, or missing arguments.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Add an encoding to the out-env file</title>
<updated>2021-04-06T04:33:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-03-26T01:39:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5f86454b3da54586513ab83941a021cb79c383c7'/>
<id>urn:sha1:5f86454b3da54586513ab83941a021cb79c383c7</id>
<content type='text'>
The environment may contain some unicode characters. At least that is what
seemed to happen on one commit:

Building current source for 1 boards (0 threads, 64 jobs per thread)
    0    0    0 /1       -1      (starting)
Traceback (most recent call last):
  File ".../tools/buildman/buildman", line 64, in &lt;module&gt;
    ret_code = control.DoBuildman(options, args)
  File "tools/buildman/control.py", line 372, in DoBuildman
    options.keep_outputs, options.verbose)
  File ".../tools/buildman/builder.py", line 1704, in BuildBoards
    results = self._single_builder.RunJob(job)
  File ".../tools/buildman/builderthread.py", line 526, in RunJob
    self._WriteResult(result, job.keep_outputs, job.work_in_output)
  File ".../tools//buildman/builderthread.py", line 349, in _WriteResult
    print('%s="%s"' % (var, env[var]), file=fd)
UnicodeEncodeError: 'ascii' codec can't encode characters in position
	311-312: ordinal not in range(128)

The problem defies repetition with any change at all to buildman. But
let's set an encoding in any case.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Support single-threaded operation</title>
<updated>2021-03-04T22:51:43Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-01-31T05:17:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b82492bbccb0ecdee17108ed43c4220f00f3f4f3'/>
<id>urn:sha1:b82492bbccb0ecdee17108ed43c4220f00f3f4f3</id>
<content type='text'>
At present even if only a single thread is in use, buildman still uses
threading.

For some debugging it is helpful to do everything in the main process.
Allow -T0 to support this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Remove output binaries before building</title>
<updated>2020-12-23T03:39:26Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-12-17T00:24:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=73da3d2cffc601b2761c4aa32492b88f87c363c5'/>
<id>urn:sha1:73da3d2cffc601b2761c4aa32492b88f87c363c5</id>
<content type='text'>
Buildman reuses build directories from previous builds to avoid the cost
of 'make mrproper' for every build. If the previous build produced an SPL
image but the current one does not, the SPL image will remain and buildman
will think it is a result of building the current board.

Remove these files before building, to avoid this problem.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>patman: Move to absolute imports</title>
<updated>2020-04-26T20:25:21Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-04-18T00:09:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bf776679a73f3b9eae37aabd2be5754483039cb2'/>
<id>urn:sha1:bf776679a73f3b9eae37aabd2be5754483039cb2</id>
<content type='text'>
At present patman sets the python path on startup so that it can access
the libraries it needs. If we convert to use absolute imports this is not
necessary.

Move patman to use absolute imports. This requires changes in tools which
use the patman libraries (which is most of them).

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Write output files when using -w</title>
<updated>2020-04-26T20:24:08Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-04-17T23:51:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=60b285f8c3bcd1f169fa72ad58387509673eec8b'/>
<id>urn:sha1:60b285f8c3bcd1f169fa72ad58387509673eec8b</id>
<content type='text'>
At present buildman does not write its own output files (err, done, the
environment) when using -w. However this is useful for when the build is
run with -s to check it.

In fact ProduceResultSummary() reads the result from those files rather
than using the 'result' info directly. So ProcessResult() does not work
with -w at present. It does not print any output.

Fix this by writing output files even when -w is used.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Use out-env for environment output</title>
<updated>2020-04-26T20:24:08Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-04-17T23:51:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=166a98a426616aa3e9c35d94ea3aaf8e67994e33'/>
<id>urn:sha1:166a98a426616aa3e9c35d94ea3aaf8e67994e33</id>
<content type='text'>
At present the environment used by U-Boot is written to the 'env'
directory. This is fine when the output directory is not the same as the
source directory, but when it is (as with -w) it conflicts with the source
directory of the same name.

Rename 'env' to 'out-env' to fix this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
