<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/buildman, branch v2019.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/tools/buildman?h=v2019.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/buildman?h=v2019.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2018-12-05T13:06:30Z</updated>
<entry>
<title>buildman/toolchain.py: handle inconsistent tarball names</title>
<updated>2018-12-05T13:06:30Z</updated>
<author>
<name>Trevor Woerner</name>
<email>trevor@toganlabs.com</email>
</author>
<published>2018-11-21T08:31:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b11f12642f4da249d5f07bb45ba5ba9b01235818'/>
<id>urn:sha1:b11f12642f4da249d5f07bb45ba5ba9b01235818</id>
<content type='text'>
Unfortunately, for some releases the kernel.org toolchain tarball names adhere
to the following pattern:

	&lt;hostarch&gt;-gcc-&lt;ver&gt;-nolib-&lt;targetarch&gt;-&lt;type&gt;.tar.xz

e.g.:
	x86_64-gcc-8.1.0-nolibc-aarch64-linux.tar.xz

while others use the following pattern:

	&lt;hostarch&gt;-gcc-&lt;ver&gt;-nolib_&lt;targetarch&gt;-&lt;type&gt;.tar.xz

e.g.:

	x86_64-gcc-7.3.0-nolibc_aarch64-linux.tar.xz

Notice that the first pattern has dashes throughout, while the second has
dashes throughout except just before the target architecture which has an
underscore.

The "dash throughout" versions from kernel.org are:

	8.1.0, 6.4.0, 5.5.0, 4.9.4, 4.8.5, 4.6.1

while the "dash and underscore" versions from kernel.org are:

	7.3.0, 4.9.0, 4.8.0, 4.7.3, 4.6.3, 4.6.2, 4.5.1, 4.2.4

This tweak allows the code to handle both versions. Note that this tweak also
causes the architecture parsing to get confused and find the following two
bogus architectures, "2.0" and "64", which are explicitly checked for, and
removed.

Signed-off-by: Trevor Woerner &lt;trevor@toganlabs.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Change single quotes to double quotes:
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman/toolchain.py: fix toolchain directory</title>
<updated>2018-12-05T13:01:35Z</updated>
<author>
<name>Trevor Woerner</name>
<email>trevor@toganlabs.com</email>
</author>
<published>2018-11-21T08:31:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d82f539ab900c52a669a4f8407a39b8fb125f0ab'/>
<id>urn:sha1:d82f539ab900c52a669a4f8407a39b8fb125f0ab</id>
<content type='text'>
The hexagon toolchain (4.6.1) from kernel.org, for example, was packaged in
a way that is different from most toolchains. The first entry when unpacking
most toolchain tarballs is:

	gcc-&lt;version&gt;-nolib/&lt;targetarch&gt;-&lt;system&gt;

e.g.:

	gcc-8.1.0-nolibc/aarch64-linux/

The first entry of the hexagon toolchain, however, is:

	gcc-4.6.1-nolibc/

This causes the buildman logic in toolchain.py::ScanPath() to not be able to
find the "*gcc" executable since it looks in gcc-4.6.1-nolib/{.|bin|usr/bin}
instead of gcc-4.6.1/hexagon-linux/{.|bin|usr/bin}. Therefore when buildman
tries to download a set of toolchains that includes hexagon, the script fails.

This update takes the second line of the tarball unpacking (which works for
all the toolchains I've tested from kernel.org) and parses it to take the
first two elements, separated by '/'. It makes this logic a bit more robust.

Signed-off-by: Trevor Woerner &lt;trevor@toganlabs.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Show boards with warning with w+</title>
<updated>2018-11-21T02:14:22Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-11-06T23:02:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6af7101b75d0e30cf7ed7d1f57fdb68ed5f8ffa0'/>
<id>urn:sha1:6af7101b75d0e30cf7ed7d1f57fdb68ed5f8ffa0</id>
<content type='text'>
At present we should boards with warnings in the same way as those with
errors. This is not ideal. Add a new 'warn' state and show these listed
in yellow to match the actual warning lines printing with -e.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Rename the good, better, worse variables</title>
<updated>2018-11-21T02:14:22Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-11-06T23:02:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4cf2b221c6f283aa0fb646cf637ae08fc90dd6d2'/>
<id>urn:sha1:4cf2b221c6f283aa0fb646cf637ae08fc90dd6d2</id>
<content type='text'>
At present we don't distinguish between errors and warnings when printing
the architecture summary. Rename the variables to better describe their
purpose.

'Worse' at present means we got an error, so use that as the name.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Detect dtc warnings</title>
<updated>2018-11-21T02:14:22Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-11-06T23:02:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2d48333e447e8cc5a2bd3eaed6be657925cbee16'/>
<id>urn:sha1:2d48333e447e8cc5a2bd3eaed6be657925cbee16</id>
<content type='text'>
At present messages from the device-tree compiler like this:

  arch/arm/dts/socfpga_arria10_socdk_sdmmc.dtb: Warning
     (avoid_unnecessary_addr_size): /clocks: unnecessary
     #address-cells/#size-cells without "ranges" or child "reg" property

are detected as errors since they don't match the gcc warning regex. Add a
new one for dtc to fix this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Only print toolchain probing with -v</title>
<updated>2018-11-21T02:14:22Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-11-06T23:02:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=40232c91d70f4f2066408cabf1afba1deb190df6'/>
<id>urn:sha1:40232c91d70f4f2066408cabf1afba1deb190df6</id>
<content type='text'>
At present --list-tool-chains prints a lot of information about the
toolchain-probing process. This is generally not very interesting.
Update buildman to print this only if --list-tool-chains is given
with -v.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Add a --boards option to specify particular boards to build</title>
<updated>2018-11-14T17:16:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-06-12T05:26:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0689036a35296a3d51685a0b671f805818f94af7'/>
<id>urn:sha1:0689036a35296a3d51685a0b671f805818f94af7</id>
<content type='text'>
At present 'buildman sandbox' will build all 5 boards for the sandbox
architecture rather than the single board 'sandbox'. The only current way
to exclude sandbox_spl, sandbox_noblk, etc. is to use -x which is a bit
clumbsy.

Add a --boards option to allow individual build targets to be specified.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: dtoc: Suppress unwanted output from test</title>
<updated>2018-10-08T13:34:34Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-10-02T03:12:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4b4bc06ef4e37f79604ff8fa2142057e2cb05437'/>
<id>urn:sha1:4b4bc06ef4e37f79604ff8fa2142057e2cb05437</id>
<content type='text'>
There are a few test cases which print output. Suppress this so that tests
can run silently in the normal case.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Make the toolchain test more forgiving</title>
<updated>2018-10-08T13:34:34Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-10-02T03:12:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=da753e35cbd9a7fdad2e9be13a9642fb1d9af968'/>
<id>urn:sha1:da753e35cbd9a7fdad2e9be13a9642fb1d9af968</id>
<content type='text'>
The filenames of the toolchains on kernel.org changes every now and then.
Fix it for the current change, and make the test use a regex so that it
has a better chance of passing with future changes too.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>buildman: Avoid hanging when the config changes</title>
<updated>2018-09-29T17:49:35Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2018-09-18T05:55:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e62a24ce27ab86efc1b37d14112c29d3f2010238'/>
<id>urn:sha1:e62a24ce27ab86efc1b37d14112c29d3f2010238</id>
<content type='text'>
Something has changed in the last several month such that when buildman
builds U-Boot incrementally and a new CONFIG option has been added to the
Kconfig, the build hanges waiting for input:

    Test new config (NEW_CONFIG) [N/y/?] (NEW)

Since binamn does not connect the build's stdin to anything this waits on
stdin to the build thread, which never comes. Eventually I suspect all the
threads end up in this state and the build does not progress.

Fix this by passing /dev/null as input to the build. That way, if there is
a new CONFIG, the build will stop (and fail):

    Test new config (NEW_CONFIG) [N/y/?] (NEW)

    Error in reading or end of file.

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