[Buildroot] [PATCH 13/15] Makefile: Rsync global {TARGET, HOST}_DIR using exclusion file list

Yann E. MORIN yann.morin.1998 at free.fr
Fri Jun 25 12:50:18 UTC 2021


Hervé, All,

On 2021-06-25 13:59 +0200, Herve Codina spake thusly:
> On Thu, 24 Jun 2021 22:34:10 +0200
> "Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:
> > On 2021-06-24 22:20 +0200, Yann E. MORIN spake thusly:
> > > On 2021-06-21 16:11 +0200, Herve Codina spake thusly:  
> > > > On a per-package build, rsync final {TARGET,HOST}_DIR using
> > > > exclusion file list computed for each packages.
> > > > As we rsync only files generated by each packages, we need to
> > > > to do this rsync recursively on each dependencies to collect
> > > > all needed files. This is done based on existing
> > > > <PKG>_FINAL_RECURSIVE_DEPENDENCIES  
> > > I am not sure I understand why this is needed...
> > > 
> > > One thing that comes to mind is speedup. Indeed, now that we can ensure
> > > that packages only install new files and don;t change existing files, we
> > > can speedup the final aggregation by just handling the new files.
> > > 
> > > But since we are using hardlinks, the aggregation is rather fast...
> > > 
> > > Can you expand on the rationale in the commit log when you respin,
> > > please?  
> > 
> > Now I have seen the next patch, it makes sense. Yet, it should be
> > explained here nonetheless. ;-)
> 
> The next patch just breaks the hardlinks had nothing to do with
> the use of <PKG>_FINAL_RECURSIVE_DEPENDENCIES here.

Oh, I was not commenting about the _FINAL_RECURSIVE_DEPENDENCIES, but
about the need for an exclusion list to begin with. I totally agree
witht the rationale for using _FINAL_RECURSIVE_DEPENDENCIES.

[--SNIP--]
> > And to begin with, why are we generating an _exclude_ list, rather than
> > an _include_ list?
[--SNIP--]
> > (Totally untested, slippery code, excersise caution.)
> Inclusion filter is not so simple ...
> 
> In rsync man, we can read:
[--SNIP--]

Indeed, I see now. The rsync filter is not about listing files; it is
deciding what should be or should not be transferred. Anything that is
not filtered-out is transferred.

So OK, using an exclude list toally makes sense.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list