Debian policy mandates that user changes to configuration files must be preserved during package upgrades. The easy way to achieve this behavior is to make the configuration file a 'conffile', in which case dpkg handles the file specially during upgrades, prompting the user as needed.
This is appropriate only if it is possible to distribute a default version that will work for most installations, although some system administrators may choose to modify it. This implies that the default version will be part of the package distribution, and must not be modified by the maintainer scripts during installation (or at any other time).
This script attempts to provide conffile-like handling for files that may not be labelled conffiles, and are not shipped in a Debian package, but handled by the postinst instead. This script allows one to maintain files in /etc, preserving user changes and in general offering the same facilities while upgrading that dpkg normally provides for 'conffiles'.
Additionally, this script provides facilities for transitioning a file that had not been provided with conffile-like protection to come under this schema, and attempts to minimize questions asked at installation time. Indeed, the transitioning facility is better than the one offered by dpkg while transitioning a file from a non-conffile to conffile status.