[Buildroot] [PATCHv5 1/9] support/download: reintroduce 'source-check' target

Arnout Vandecappelle arnout at mind.be
Wed Mar 27 17:25:50 UTC 2019



On 27/03/2019 17:35, Thomas Petazzoni wrote:
> Hello,
> 
> Thanks a lot for sharing your feedback in this discussion, it's very
> useful.
> 
> On Wed, 27 Mar 2019 14:46:32 +0100
> Arnout Vandecappelle <arnout at mind.be> wrote:
> 
>>  For the use case of Thomas DS, this weak semantic is perfectly fine. What it
>> tries to protect against is the common mistake that you add or bump a package
>> and forget to upload the source to PRIMARY_SITE. As explained by Thomas DS,
>> doing a full download is eventually still needed, but takes much longer:
>> source-check may take in the order of 1 minute while the full download takes 10
>> minutes. That makes all the difference for immediate feedback to the developer,
>> and it doesn't significantly slow down a good pipeline.
>>
>>  Indeed, it does not protect against uploading the wrong tarball with the
>> correct name. It also doesn't protect against forgetting to update the hash
>> file. It also doesn't protect against the package failing to build. It also
>> doesn't protect against bugs in the code which become only apparent at run time.
>> But all of these are checked later in CI, and the source check captures an
>> important (and likely) class of mistakes early on.
> 
> Interesting perspective indeed :-)
> 
>>  It is true that this is a very narrow use case. However, I think it passes two
>> tests for acceptance:
>>
>> * It does not make Buildroot (much) more complex.
>>
>> * There is no way to do this with scripting outside of Buildroot.
> 
> True.
> 
>>  Regarding that second point: in fact there would be a way, if we would instead
>> have a command to print everything that would be downloaded. That would be very
>> similar to patch 1/9, but would remove the need for the other patches in the
>> series. The advantage of this approach is that there could be other uses for
>> printing the list of sources. But that would be back to the drawing board for
>> Thomas DS, so I doubt he's enthusiastic about that option :-) Plus, we have no
>> actual example of an additional use case.
> 
> We already have "make external-deps" but it only prints the file names,
> not the full URL.

 True! So, we could extend external-deps with printing the URL (similar to how
printvars uses RAW_VARS maybe, to not break existing scripts using
external-deps). We could have variables to ask for primary, upstream or secondary.

 Regards,
 Arnout


> Does Thomas really want to check the BR2_PRIMARY_SITE or the original
> Mercurial repository ? If he wants to check BR2_PRIMARY_SITE (which
> contains only tarballs), then he could run "make external-deps" and
> checks that the tarballs are here. But I suppose that's not what Thomas
> wants: he really wants to check the upstream Mercurial repository, no?
> 
> Best regards,
> 
> Thomas
> 


More information about the buildroot mailing list