SYSCONFTOOL

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.

BRIEF OVERVIEW

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:

sysconftool(1)

sysconftool(7)

sysconftoolcheck(1)

DOWNLOAD

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.

FEEDBACK

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.