[yocto] [yocto-autobuilder][PATCH] PublishArtifacts.py: deal only with built toolchains, cp also md5 and manifests

gmane at reliableembeddedsystems.com gmane at reliableembeddedsystems.com
Thu Oct 13 15:38:41 PDT 2016


Hi,

On 2016-10-13 16:29, Lock, Joshua G wrote:
> Can you help me understand why you needed to create this patch?
> 
> We've run into some issues recently where toolchains we expected to be
> built weren't and the PublishArtifacts buildstep failing because
> they're missing is useful. With this change we'll no longer get that,
> right?

Yes that's right (and not intended).

I would hope that you'll be able to detect such kind of problems before 
the PublishArtifacts buildstep because there should be some error in 
previous steps. The toolchain did not build!

I made this patch because I just want to build a 64 bit toolchain as 
opposed to both (like I used to do with some older version of Y-AB) and 
don't want the PublishArtifacts step to fail just because there is no 
32-bit toolchain. There is no 32 bit toolchain on purpose.

As a bonus the patch also copies md5sums and friends over and not just 
the .sh files.

I do not want PublishArtifacts toolchain(s) to find out that something 
went wrong in previous build steps, but I would want it to copy over 
whatever was built (and not to fail if something I did not build is 
missing).

As a quick and dirty alternative I would also be happy with a solution 
based on additional PublishArtifacts steps like:

toolchain_i686 for 32 bit only   (only the 32 bit toolchain)
toolchain_x86_64 for 64 bit only (only the 64 bit toolchain)

if that helps.

Then in my config file I just use toolchain_x86_64 instead of toolchain 
in my PublishArtifacts step to indicate that I just want the 64 bit 
version.

To publish both you could use toolchain_i686 and toolchain_x86_64 in the 
PublishArtifacts step.

I find it a bit confusing to write toolchain and to expect various 64 
bit and 32 bit toolchains to be published.

BTW what happens here[1] if one toolchain does not build?

I think even without my patch you'll not be able to detect the problem, 
since BuildToolchainImages is being called 4 times so two 32 bit and two 
64 bit toolchains should be built. You'll just get an error in 
PublishArtifacts before my patch if no 32 bit or no 64 bit toolchain is 
being built. Nobody counts how many should be there.

So I would say the best would be to count how many toolchains should be 
built (count BuildToolchainImages in combination with SDKMACHINE) and 
check if that's the case in PublishArtifacts. No idea if and how this 
can be done.

> 
> Thanks,
> 
> Joshua

Regards,

Robert

[1] 
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-autobuilder/tree/buildset-config.controller/nightly-arm.conf

> ---------------------------------------------------------------------
> Intel Corporation (UK) Limited
> Registered No. 1134945 (England)
> Registered Office: Pipers Way, Swindon SN3 1RJ
> VAT No: 860 2173 47
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.



More information about the yocto mailing list