[pacman-dev] Download options

Olivier Brunel jjk at jjacky.com
Fri Dec 2 20:31:30 UTC 2016


On Fri, 2 Dec 2016 16:47:41 +1000
Allan McRae <allan at archlinux.org> 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
> 
> I see no need to separate out speed and time timeouts.
> 
> 
> 2) Set maximum download speed
> 
> MaxDownloadSpeed
> --max-download-speed
> 
> 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.

Well, I could re-state how "Dl" is shorter than "Download" which might
be nice, especially on command-line option -- but also looks to me like
all those options would be about the longest ones yet, so far options
can have "shortcuts" in their names, e.g. --dbpath not --databasepath or
--nodeps not --nodependencies

It is possible those might be rarely specified on command line, doesn't
mean they have to be as lengthy as possible because of it. Clear but
short is good, and I feel that can be achieved here.

Doesn't have to apply to options in pacman.conf, and I guess they don't
have to be named the same; There's already difference in case style, and
it wouldn't even be the first time, e.g. --ignore vs IgnorePkg


Why use "disable" as prefix while every other options usually goes with
"no" instead? (--nodeps, --noconfirm, --noscriplet, etc)


And while on the topic of consistency, let me add that almost all of
pacman's options use a "single word style," i.e. no dashes in them:
--ignoregroup; --noprogressbar; --downloadonly; etc Why not keep that
up?

Yes, there are already expections to the rule (namely --print-format &
--assume-installed), but those are the only two (I believe), I'm not
sure it's good to make more. Consistency is a nice thing.


So at least for command line, --nodltimeout and --maxdlspeed (and for
the glorious future simply --maxdownloads) seem better to me.
(Though if you don't like the "dl" bit, --nodownloadtimeout &
--maxdownloadspeed would work too I guess; I do prefer the
shorter versions myself, which I find still pretty clear/readable,
but your choice.)

Either way we can use NoDownloadTimeout & MaxDownloadSpeed (and
MawDownloads, or even MaxConcurrentDownloads) in pacman.conf; Yes the
"No" prefix is also used there, so again feels better/more consistent
that way.

Hopefully there were some clear justifications in there. :)

Cheers,
-j


More information about the pacman-dev mailing list