Configuration file handling (from old
can do a certain amount of automatic handling of package configuration files.
Whether this mechanism is appropriate depends on a number of factors, but basically there
are two approaches to any particular configuration file.
The easy method is to ship a best effort configuration in the package, and use
mechanism to handle updates. If the user is unlikely to want to edit the file, but you need them
to be able to without losing their changes, and a new package with a changed version of the
file is only released infrequently, this is a good approach.
The hard method is to build the configuration file from scratch in the
to take the responsibility for fixing any mistakes made in earlier versions of the package auto
matically. This will be appropriate if the file is likely to need to be different on each system.
E.1 Automatic handling of configuration files by
A package may contain a control area file called
. This file should be a list of
filenames of configuration files needing automatic handling, separated by newlines. The file
names should be absolute pathnames, and the files referred to should actually exist in the
When a package is upgraded
will process the configuration files during the configuration
stage, shortly before it runs the package's
For each file it checks to see whether the version of the file included in the package is the same
as the one that was included in the last version of the package (the one that is being upgraded
from); it also compares the version currently installed on the system with the one shipped with
the last version.
If neither the user nor the package maintainer has changed the file, it is left alone. If one or the
other has changed their version, then the changed version is preferred i.e., if the user edits