Bug#1091330: Clarify that only editable configuration files need be in /etc
Package: debian-policy
Version: 4.7.0.1
Severity: normal
X-Debbugs-Cc: rra@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 to: