From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Fri, 25 Jun 2021 14:50:18 +0200 Subject: [Buildroot] [PATCH 13/15] Makefile: Rsync global {TARGET, HOST}_DIR using exclusion file list In-Reply-To: <20210625135951.2fb55ea7@fedora> References: <20210621141130.48654-1-herve.codina@bootlin.com> <20210621141130.48654-14-herve.codina@bootlin.com> <20210624202010.GA2852@scaer> <20210624203410.GC2852@scaer> <20210625135951.2fb55ea7@fedora> Message-ID: <20210625125018.GG104638@scaer> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net 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" 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 > > > > _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 _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. | '------------------------------^-------^------------------^--------------------'