There seems to be no option to fetch all needed distfiles at once. This would be very useful on intermittent connection or when one wants to limit Internet access to certain times. Simply running "make fetch recursive" in Ports before running Poudriere is very slow because on each port it starts anew instead of making a list of what to build. I tried making a custom script that uses "make missing" of Ports and it works most of the time, except that it reguarly forgets about some distfiles, something like Linux compat and I still see them downloaded by Poudriere later. Another problem is, downloading the distfiles is not parallel and CPU is almost idle.
Created attachment 193530 [details] Make list of fetched ports. Attaching the ugly scripts I'm using to give the idea.
Created attachment 193531 [details] Fetch distfiles in parallel.
(unparallelised download is also inefficient because it does not use the Internet bandwidth fully -- would it be better to run more fetch jobs than CPUs?)
Maintainer feedback, please!
https://github.com/freebsd/poudriere/issues/882