* [Buildroot] Suggestion to improving buildroot download infra
@ 2017-11-15 14:04 Stefan Fröberg
2017-11-15 14:50 ` Thomas Petazzoni
2017-11-15 21:24 ` Arnout Vandecappelle
0 siblings, 2 replies; 4+ messages in thread
From: Stefan Fröberg @ 2017-11-15 14:04 UTC (permalink / raw)
To: buildroot
Hi,
Is there a way to integrate parallel wget download into buildroot?
That would greatly speed the downloading process when doing "make source"
and maybe even later all the downloading could be done in the
background, even
when compiling some big package (for example, gentoo linux does that).
If I understand it correctly, there are at least two (if not including
the crude & fork method)
ways to do parallel wget:
1. use xarg:
echo $URL_LIST | xargs -n 1 -P ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
or 2. use GNU parallel
parallel -a $URL_LIST --jobs ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
How exactly, does buildroot collect the download urls when doing example,
"make source" ? Does it collect them first into some list and then do
wget -i list ?
Or does it just go each selected packet one-by-one and fetch the url for
each?
-S-
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] Suggestion to improving buildroot download infra
2017-11-15 14:04 [Buildroot] Suggestion to improving buildroot download infra Stefan Fröberg
@ 2017-11-15 14:50 ` Thomas Petazzoni
2017-11-15 18:40 ` Stefan Fröberg
2017-11-15 21:24 ` Arnout Vandecappelle
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-11-15 14:50 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 15 Nov 2017 16:04:08 +0200, Stefan Fr?berg wrote:
> Is there a way to integrate parallel wget download into buildroot?
This will be a direct consequence of top-level parallel build support.
Not only parallel download, but downloading package A, while package B
is being built, etc.
> That would greatly speed the downloading process when doing "make source"
> and maybe even later all the downloading could be done in the
> background, even
> when compiling some big package (for example, gentoo linux does that).
>
> If I understand it correctly, there are at least two (if not including
> the crude & fork method)
> ways to do parallel wget:
>
> 1. use xarg:
>
> echo $URL_LIST | xargs -n 1 -P ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>
> or 2. use GNU parallel
>
> parallel -a $URL_LIST --jobs ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>
> How exactly, does buildroot collect the download urls when doing example,
> "make source" ? Does it collect them first into some list and then do
> wget -i list ?
> Or does it just go each selected packet one-by-one and fetch the url for
> each?
For the moment, the easiest is to comment the .NOTPARALLEL: statement
in the main Makefile, and then run:
make -j8 source
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] Suggestion to improving buildroot download infra
2017-11-15 14:50 ` Thomas Petazzoni
@ 2017-11-15 18:40 ` Stefan Fröberg
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Fröberg @ 2017-11-15 18:40 UTC (permalink / raw)
To: buildroot
Hi
Ah, okay. I will try it soon and see what packages will break.
Thanks :-)
-S-
15.11.2017, 16:50, Thomas Petazzoni kirjoitti:
> Hello,
>
> On Wed, 15 Nov 2017 16:04:08 +0200, Stefan Fr?berg wrote:
>
>> Is there a way to integrate parallel wget download into buildroot?
> This will be a direct consequence of top-level parallel build support.
> Not only parallel download, but downloading package A, while package B
> is being built, etc.
>
>> That would greatly speed the downloading process when doing "make source"
>> and maybe even later all the downloading could be done in the
>> background, even
>> when compiling some big package (for example, gentoo linux does that).
>>
>> If I understand it correctly, there are at least two (if not including
>> the crude & fork method)
>> ways to do parallel wget:
>>
>> 1. use xarg:
>>
>> echo $URL_LIST | xargs -n 1 -P ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>>
>> or 2. use GNU parallel
>>
>> parallel -a $URL_LIST --jobs ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>>
>> How exactly, does buildroot collect the download urls when doing example,
>> "make source" ? Does it collect them first into some list and then do
>> wget -i list ?
>> Or does it just go each selected packet one-by-one and fetch the url for
>> each?
> For the moment, the easiest is to comment the .NOTPARALLEL: statement
> in the main Makefile, and then run:
>
> make -j8 source
>
> Best regards,
>
> Thomas
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] Suggestion to improving buildroot download infra
2017-11-15 14:04 [Buildroot] Suggestion to improving buildroot download infra Stefan Fröberg
2017-11-15 14:50 ` Thomas Petazzoni
@ 2017-11-15 21:24 ` Arnout Vandecappelle
1 sibling, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2017-11-15 21:24 UTC (permalink / raw)
To: buildroot
On 15-11-17 15:04, Stefan Fr?berg wrote:
> Hi,
>
> Is there a way to integrate parallel wget download into buildroot?
>
> That would greatly speed the downloading process when doing "make source"
> and maybe even later all the downloading could be done in the background, even
> when compiling some big package (for example, gentoo linux does that).
>
> If I understand it correctly, there are at least two (if not including the crude
> & fork method)
> ways to do parallel wget:
>
> 1. use xarg:
>
> echo $URL_LIST | xargs -n 1 -P ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>
> or 2. use GNU parallel
>
> parallel -a $URL_LIST --jobs ${NUMBER_OF_PARALLEL_DOWNLOADS} wget
>
> How exactly, does buildroot collect the download urls when doing example,
> "make source" ? Does it collect them first into some list and then do wget -i
> list ?
> Or does it just go each selected packet one-by-one and fetch the url for each?
For each package, the <pkg>-source target is triggered. This target depends on
<pkg-build-dir>/.stamp_downloaded. If that stamp file does not exist yet, the
download is triggered.
Since it is all done with make rules, there is no way to do things in parallel
except for doing the complete make invocation in parallel (with -j).
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-15 21:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-15 14:04 [Buildroot] Suggestion to improving buildroot download infra Stefan Fröberg
2017-11-15 14:50 ` Thomas Petazzoni
2017-11-15 18:40 ` Stefan Fröberg
2017-11-15 21:24 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox