[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian Configuration Packaging System



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.

I don't agree that this is a bug in the package in the general case,
although there may be packages that are more aggressive about overwriting
than need to be.

> 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.)

We're using Puppet to handle this instead of Debian packages, and I'm much
happier with that solution.  I wouldn't recommend doing what you're doing,
but of course you may have improved the tools sufficiently that it's a
good idea.  :)  Also, I know that most of the alternatives involve some
central management system, and there are a lot of use cases that don't
allow for that.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: