On Mon, Aug 17, 2026 at 10:58:36AM -0400, Dan Ritter wrote:
> Roger Price wrote: 
> > On Mon, 17 Aug 2026, Michel Verdier wrote:
> > 
> > > What is your version ? Here I have fetchmail 6.4.39-1
> > 
> >   rprice@titan ~ apt show fetchmail
> >   Package: fetchmail
> >   Version: 6.4.39-1
> > 
> > > And man fetchmail or fetchmailrc shows :
> > > GENERAL OPERATION
> > >        Command-line  options  override ~/.fetchmailrc declarations.
> > 
> > When I started to write the message, I had not yet understood that 
> > « Command-line options override ~/.fetchmailrc declarations » means that 
> > Debian 
> > 13 replaces ~/.fetchmailrc with /etc/fetchmailrc .
> 
> 
> That's not quite it, either.
> 
> The normal and expected course of configuration overrides:
> 
> 1. If you call fetchmail with options, those take precedent for
> this run.
> 
> 2. if .fetchmailrc exists in the home of the user running it,
> that is used. If not...

... not quite: this preference hierarchy happens /per option/, i.e.
if some option is set in the command line, then this is the one,
otherwise if it is set in ~/.fetchmailrc, use that, else...

> 3. if /etc/fetchmailrc exists, that is used.

... I don't see any mention of /etc/fetchmailrc in Trixie's man
page, nor in forky's (aka testing), so hmmm...

> 4. if none of these things happen, whatever behavior is listed
> as defaults for the command happens.

... and this is the last resort for each option.

> This pattern repeats across many, many programs. Sometimes the
> user's config file (step 2) might be expected to live in:
> 
> 
> ~/.programname
> ~/.programname/  (a directory)
> ~/.config/programname/
> ~/.local/share/programname/
> 
> 
> Or something weirder.

[...]

It is true that this is a general pattern (and a very useful one,
at that), but usually, "later" (or "higher") config files just
override option-by-option. I guess that is what you meant, but
your text reads as if the whole of ~/.config would override
/etc/config and so on.

One variation of your schema has one more level: /usr/share/app/config
for the application's/distribution's defaults, /etc/app/config
for the local sysadmin, ~/.app-config for the user (of course
the names I gave above are just placeholders).

Cheers
-- 
t

Attachment: signature.asc
Description: PGP signature

Reply via email to