[pacman-dev] Download options

Allan McRae allan at archlinux.org
Fri Dec 2 23:16:36 UTC 2016


On 03/12/16 06:54, Dave Reisner wrote:
> On Fri, Dec 02, 2016 at 04:47:41PM +1000, Allan McRae wrote:
>> There was many thread and patches regarding this, so I am starting another!
>>
>> So far there are two (maybe three) things people want options for to do
>> with the downloader.  I see most of these options being set in
>> pacman.conf and rarely specified on the command line.  Argue with me if
>> I am wrong here...
>>
>> Based on that assumption, here are my preferred option names (for both
>> pacman.conf and the command line):
>>
>> 1) Disable low speed timeout
>>
>> DisableDownloadTimeout
>> --disable-download-timeout
> 
> As a user, I would have no idea what this means. As the person who wrote
> the code that this affects, the thing which is most closely associated
> with time in this equation can hardly be called a "timeout". It's more
> of a threshold.
> 
> Some other suggestions, because my shed is better than your shed:
> 
> --disabledeadnetworkcheck
> --nocheckdeadnetwork
> --nodeadconncheck
> --nodeadconnectioncheck
> --namingishard
> 

I think timeout captures what this is trying to do and is the commonly
used term for this kind of functionality in various downloaders.  What
it actually captures (10sec at less than 1kb/s) can be documented in the
man page.

>> I see no need to separate out speed and time timeouts.
>>
>>
>> 2) Set maximum download speed
>>
>> MaxDownloadSpeed
>> --max-download-speed
> 
> I think I've pointed out before that this is a lie at best. You aren't
> actually throttling anything, you're just adding artificial delay. You
> can also do this from outside of pacman:
> 
> https://lists.archlinux.org/pipermail/pacman-dev/2016-September/021367.html
> 
> FWIW, it's no longer true that curl uses a flat average -- it's now a
> rolling window which should provide a smoother limiting mechanism.
> However, that's a very recent change (7.50.2), and requires a libcurl
> far newer than what we need for compilation (7.32.0).
> 

I realise this.  It is the intended effect of the option that I am
naming.  The fact that curl does not implement it very well should be
documented in the man page for that option.

And despite our assertion that pacman is cross distro, almost every
usage of it will have recent curl...

>> I would also accept replacing speed with limit.
>>
>>
>> 3) (in a glorious future) Set maximum concurrent downloads
>>
>> MaxConcurrentDownloads
>> --max-concurrent-downloads
>>
>>
>> Any argument about these option names will need to be very clearly
>> justified.  I don't own a bike so have no need for a bikeshed.
>>
>> Allan
> .
> 


More information about the pacman-dev mailing list