[LEDE-DEV] Buildbot

David Lang david at lang.hm
Tue May 10 05:41:36 PDT 2016


On Tue, 10 May 2016, Jo-Philipp Wich wrote:

> Hi,
>
>> I may be asking a stupid question, but why does the build system have to
>> build everything every time.
>
> until recently this wasn't possible due to certain technical
> limitations, some of which we already addressed [1].
>
>> Under OpenWRT a typical build will take 12 - 16+ hours, of which 10+
>> will be spent building the packages. very few of which will have changed.
>
> Correct.
>
>> Would it be possible to split the base system and the packages into two
>> separate builds in order to speed up the build process.
>
> We already did that [2], also see:
> http://phase1.builds.lede-project.org/
> http://phase2.builds.lede-project.org/
>
>> Would it be possible to build only those packages that have changed. I
>> realize that if some underlying common source code has changed then all
>> the affected apps will need to be rebuilt. However, if a linked library
>> has changed why do we recompile, why not just re-link?
>
> Not at the moment. Implementing that would imply the ability to keep all
> build trees on disk, we currently lack the resources to do so.

While this may not make sense on the full build of all targets, it could easily 
make sense for someone working on a single target, especially as they are 
iterating through tweaks on their build.

and resources for the project may change, if you can use spinning rust, storage 
is pretty cheap now.

David Lang

> Another approach is to rebuild single packages (plus their dependency
> subtrees) using the SDK, then patch and re-sign the repository index
> files in-place. This is an approach I used for binary security updates
> in OpenWrt [3] but it has certain locking / race condition implications
> as multiple parallel running builders need to patch the same repository
> index files so it is rather hard to do correctly in a distributed manner.
>
> 1:
> https://git.lede-project.org/?p=source.git;a=commit;h=5170393f8cae3c5acac61bd6ac6e127f9727cee4
> 2: https://git.lede-project.org/?p=buildbot.git;a=summary
> 3: https://github.com/openwrt/buildscripts
>
> ~ Jo
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
>



More information about the Lede-dev mailing list