sysconftool
is a development utility that helps
to install application configuration files.
sysconftool
allows an existing application to be
upgraded without losing the older version's configuration
settings.
sysconftool
was originally developed to aid in
the hellish task of upgrading Courier, which has many
configuration files with many different settings. The Standard
Operating Procedure (SOP) was to install a default set of
configuration files during an upgrade. New versions often include
new and modified options. By keeping configuration files from the
previous version of Courier there's a risk that nothing will work
any more, due to the absence of a new, required, configuration
setting.
Thus came sysconftool
. sysconftool
is available to be used by any application that is packaged by
autoconf,
and automake.
There's nothing in sysconftool
itself that really
ties it to autoconf and automake, it can be used just as well
with a home-cooked configuration and installation script, except
that you'll have to do some extra work by yourself.
The old way was to install a configuration file,
$sysconfdir/$filename
, in a straight manner. The new
way is to install $sysconfdir/$filename.dist
, and
run the sysconftool
script. The script reads
$filename.dist
, the existing $filename
configuration file, then creates a new $filename
configuration file that keeps the previous version's
configuration, as long as it is compatible with the new version.
This logic is driven by specially formatted keywords in
$filename.dist
that direct sysconftool which
configuration settings from the previous version of the
application are safe to keep.
A more detailed explanation of what sysconftool
does, and why you might want to use it, can be found in the
online version of sysconftool
's manual pages:
The current version of sysconftool
can be
downloaded from http://www.courier-mta.org/download.php#sysconftool
.
To source code for sysconftool
, as tiny as it is,
can also be grabbed from a public
repository.
NOTE: As described in detail, the repository only includes
configure.in
and Makefile.am
. All the
other files (including sysconftool
's own
configure
script) must be generated by your
autoconf
and automake
.
sysconftool
is such a minor utility that I don't
think it needs to have an entire mailing list dedicated to
sysconftool's
existence. If needed, questions about
sysconftool
can be sent to the general courier-users
mailing list. You should subscribe to this list first, most
replies will not be CCed back to the sender.