Package: debian-policy
Version: 4.7.0.1
Severity: normal
X-Debbugs-Cc: r...@debian.org

Policy defines configuration files as:

    A file that affects the operation of a program, or provides site- or
    host-specific information, or otherwise customizes the behavior of a
    program. Typically, configuration files are intended to be modified by
    the system administrator (if needed or desired) to conform to local
    policy or to provide more useful site-specific behavior.

The word "typically" here makes a reading that all files containing
configuration information, whether or not they are intended for editing,
might need to be in /etc. This is pretty clearly not the intended meaning
given historic practice in Debian (see, for example, *.desktop files, the
files in /usr/share/zsh/vendor-completions, /usr/lib/news/innshellvars,
or /usr/share/autoconf/autom4te.cfg, all of which hold configuration
information but are not intended to be edited).

I believe we should reword this definition to make it explicit that Policy
is not saying that every source of configuration information must be in
/etc, but rather that any file a system administrator may reasonably be
intended to edit as part of configuring the software for use on a specific
system is a configuration file (whether or not it is a conffile), and
therefore should be in /etc.

We may want to explicitly say that this is consistent with a model where
defaults are loaded from a file in /usr and then overrides are loaded from
a file in /etc, since this configuration practice is becoming more common
and seems obviously superior to a model where defaults are hard-coded in a
binary.

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'unstable-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.6-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

debian-policy depends on no packages.

Versions of packages debian-policy recommends:
ii  libjs-jquery             3.6.1+dfsg+~3.5.14-1
ii  libjs-sphinxdoc          8.1.3-3
ii  sphinx-rtd-theme-common  3.0.2+dfsg-1

Versions of packages debian-policy suggests:
pn  doc-base  <none>

-- no debconf information

Reply via email to