Re: Debian Configuration Packaging System
On Sun, 24 Feb 2008, Russ Allbery wrote:
Tim Abbott <tabbott@MIT.EDU> writes:
We also ran into a few packages which will overwrite configuration files
that they manage via debconf, overwriting our symlink every time the
relevant package is upgraded. But I think that's a bug in those Debian
packages, since the same problem would occur for any manual changes to
those configuration files as well (I think in the cases I've seen it is
a failure to check whether an upgrade is occuring when generating the
configuration file in postinst).
Configuration files generated by debconf may not be manually changed
without running this risk, including by humans. Generally, this is
documented in the file. I have several of those in packages I maintain.
This is a pretty widely accepted way of dealing with configuration files,
and the right way to modify those files is with debconf pre-seeding rather
than by trying to overwrite the file, IMO.
Many such files have configuration options other than those managed by
debconf (/etc/krb5.conf would be a good example). For those files,
pre-seeding debconf doesn't suffice.
What other problems have you experienced?
I've seen the diverted configuration file disappear, making it impossible
to undo the diversion, and never did track down why that happened. I
haven't run into any problems in cases where the diversion is never
dropped, though. (But renaming the package that manages the diversions is
something that dpkg-divert doesn't deal with at all well.)
Renaming a package requires no special effort in our system (the new
package and the old package will conflict because they divert the same
file, and the old package will remove the diversion on prerm because it
knows it is being removed, and then the new package will install the new
diversion on postinst).