(debian-policy.info)Fully-featured maintainer script configuration handling


Prev: Automatic handling of configuration files by dpkg Up: Configuration file handling from old Packaging Manual
Enter node , (file) or (file)node

17.2 Fully-featured maintainer script configuration handling
============================================================

For files which contain site-specific information such as the hostname
and networking details and so forth, it is better to create the file in
the package’s ‘postinst’ script.

This will typically involve examining the state of the rest of the
system to determine values and other information, and may involve
prompting the user for some information which can’t be obtained some
other way.

When using this method there are a couple of important issues which
should be considered:

If you discover a bug in the program which generates the configuration
file, or if the format of the file changes from one version to the next,
you will have to arrange for the postinst script to do something
sensible - usually this will mean editing the installed configuration
file to remove the problem or change the syntax.  You will have to do
this very carefully, since the user may have changed the file, perhaps
to fix the very problem that your script is trying to deal with - you
will have to detect these situations and deal with them correctly.

If you do go down this route it’s probably a good idea to make the
program that generates the configuration file(s) a separate program in
‘/usr/sbin’, by convention called ‘packageconfig’ and then run that if
appropriate from the post-installation script.  The ‘packageconfig’
program should not unquestioningly overwrite an existing configuration -
if its mode of operation is geared towards setting up a package for the
first time (rather than any arbitrary reconfiguration later) you should
have it check whether the configuration already exists, and require a
‘--force’ flag to overwrite it.


automatically generated by info2www version 1.2.2.9