Russ Allbery <rra <at> debian.org> writes:
> But right now with configuration in /etc if you have changed *any*
> configuration setting, you then get prompted for *all* configuration
> changes in the package, which I think is Enrico's point. And I agree, I
> kind of like that behavior. Configuration settings can interact in
> unexpected ways, so if I've had to customize the configuration, I kind of
> like knowing when other defaults change. They may affect the thing I had
> to customize.
I agree that there is an issue with old configuration that may become stale.
However, I don't think the dpkg prompts are enough of a solution to the issue to
be worth supporting on that basis.
If you add custom configuration for a program then you also have to maintain
that configuration to some degree, but it's fairly easy to forget that. A
program may not have a default configuration file listing all the default
options the binary uses, so you can't rely on a default configuration file
changing to alert you to a possible need to update your custom configuration.
Practically all programs, even those that have default configuration files
listing the default value of every single option, contain changing behavior
choices relevant to custom configuration in the program code itself. A common
use for custom configuration is to work around a case where the program does not
work right by default; a common upstream improvement is to make the program work
by default in more cases. When that happens, the custom configuration should be
removed or it's likely to cause problems in the future, but such improvements
are often not accompanied by any visible option changes.
Moving the default configuration out of /etc also makes it easier to investigate
any problems possibly related to local configuration, as it becomes simpler to
check the behavior with known default distro configuration.
Perhaps a first step to alert users about local configuration possibly needing
updating would be to make apt-listchanges able to list packages being updated
that seem to have local configuration. At least you could check for modified
conffiles owned by the package and for package-owned directories under /etc that
are nonempty (excluding false positives such as unmodified package-installed
files when possible).