On Wed, 2011-02-09 at 11:13 -0800, Steve Langasek wrote:
> On Wed, Feb 09, 2011 at 09:22:16AM -0500, Barry Warsaw wrote:
> > There's one thing I miss from my days running Gentoo, and no, it's not the
> > unholy number of hours it takes to upgrade due to recompiles. :)
> 
> > When a system configuration file gets updated, emerge gives you a richer set
> > of options for dealing with changes.  I'm reminded of this with the just
> > upgraded ntp package, which modifies /etc/ntp.conf.
> 
> > Debian/Ubuntu gives you the option to:
> 
> > * Keep your version
> > * Install the new maintainers version
> > * See the diff
> > * Drop into a shell to "deal with" the situation
> 
> > I think these are insufficient.  What I really want to do is merge my
> > local changes with the new package version, and I'd like the tool to help
> > me do it.
> 
> > emerge gives me several other options.  It's been ages since I ran Gentoo 
> > so I
> > don't remember all the details, but one other option was extremely helpful:
> 
> > * Interactively merge local changes with the new version of the config
> > * file
> 
> So these days, there are three major paradigms used for configuration file
> management within Debian packages.
> 
>  - conffiles - this is the built-in dpkg prompt you refer to, with the
>    incomplete set of choices.  Really, this is only a suitable mechanism for
>    configuration files that will rarely, *if ever*, need to be changed by
>    either the local admin or the package maintainer.
> 
>  - templates spit out by maintainer scripts - this avoids the annoying
>    prompts, but also generally doesn't give the admin very much support for
>    updating to new package defaults because the maintainer doesn't go to the
>    effort of manually merging the changes in.
> 
>  - ucf.  This option *does* store the original version of the file on disk
>    in order to support a three-way merge, which makes it possible to offer
>    better options on upgrade.  Not quite the same as an interactive merge,
>    but an interactive merge option could be added here without too much
>    extra work.
> 
> This last is the one is the way to go, but it really should be pulled into
> dpkg itself.  I don't recall if Sean's patches were based on ucf or not.  In
> the meantime, use of ucf requires explicit action by the package maintainer,
> so it's generally only the real problem children that get converted over to
> its use.

I guess the fourth that I see in use is having a directory of files that
are loaded to build the configuration file.  Honestly, this is the one
that I prefer most of the time as it means that the base file always
upgrades.  For sure, this doesn't work for all files, but it seems like
if effort is going into configuration files it would be worth converting
all that can to the directory method.

                --Ted




Attachment: signature.asc
Description: This is a digitally signed message part

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Reply via email to