GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SYSCONFTOOL (1)

--> --> .ds Aq ’

NAME

sysconftool - install configuration files

CONTENTS

SYNOPSIS

sysconftool [options] [filename.dist...]

DESCRIPTION

sysconftool is a development utility that helps to install application configuration files. sysconftool allows an existing application to be upgraded without losing the older versions configuration settings.

A new version of an application often introduces new configuration settings. Sometimes obsolete configuration settings are removed. Existing configuration settings may also now have additional options, or certain options are no longer valid any more. Because of this, an application upgrade usually installs a fresh set of configuration files, containing a default configuration thats known to work. Keeping the existing files carries the risk of the application failing to function properly due to a configuration that is no longer valid.

A typical application installation script copies over configuration files with default settings. Existing configuration files are backed up or overwritten. With sysconftool, an application will install a configuration file names filename.dist, instead of filename. Then, the applications installation script runs sysconftool. sysconftool copies filename.dist to filename, but also checks if filename from an older version of the application already exist. If filename an older sysconftool-installed configuration file, its configuration settings replace the defaults in filename.dist, which is then subsequently installed as filename. sysconftool is smart enough to:

o

o Remove configuration settings that no longer exist.

o

o Add new configuration settings.

o

o Do not preserve an older configuration setting if theres a possibility that it is no longer valid in the new version of the application.

sysconftool produces a short report when it runs. The report lists every configuration setting in $filename.dist, and its disposition. The possible dispositions are:

new

This a new configuration setting that wasnt found in the existing $filename.

unchanged

This settings value was taken from the existing $filename, replacing the default value provided by $filename.dist.

UPDATED

This setting has been previously set in $filename, but the settings value may no longer be valid in the new version of the application, so its default value is taken from $filename.dist, and it may need to be manually adjusted.

All this logic is based on some additional metadata that must be included in each configuration file, that sysconftool reads. For this to work, both the old and the new version of the application must be sysconftool-ized. sysconftool operates in a fail-safe mode. If the old version did not use sysconftool, $filename is backed up to $filename.bak, and $filename is copied to $filename. This is what would essentially happen anyway without sysconftool. The local configuration needs to be reentered into $filename, so nothing is lost. However, the next upgrade will see sysconftool do its job.

ADDING SYSCONFTOOL SUPPORT TO AN EXISTING APPLICATION

sysconftool requires the application to use autoconf and automake. The first step is to run the sysconftoolize script from the applications source directory. sysconftoolize creates a symbolic link to the sysconftool script from the current directory, and appends a default install-configure rule to Makefile.am. sysconftoolize with the --copy option copies the script, instead of creating a symbolic link.

After running sysconftoolize the macro AC_PROG_SYSCONFTOOL must be manually added to configure.in, and Makefile.am must be modified as follows.

Makefile.am must be modified to install configuration files as filename.dist instead of filename. The default install-configure rule assumes that sysconf_DATA lists all configuration files in sysconfdir, and runs sysconftool on them. This will usually have to be modified, according to the applications individual needs. Finally, Makefile.am must be modified to distribute the sysconftool script in the applications source distribution. Adding sysconftool to EXTRA_DIST is whats needed in most cases.

Finally, certain sysconftool magic incantations must be added to the applications configuration files, see \m[blue]sysconftool(7)\m[][1] for more information. The last step involves updating the applications INSTALL instructions, so that the application can be properly installed. The following instructions must be added to INSTALL:

1.

1. Run "make install-configure" after "make install".

2.

2. If this is the first sysconftool-ized version, DO NOT simply copy over the old configuration files, and overwrite the new configuration files. Instead, manually edit each configuration file, and manually reset each configuration setting. This is because the new configuration files include the magic code for sysconftool, which would be lost when the configuration file is overwritten.

3.

3. If this is not the first sysconftool-ized version, the output of make install-configure must be reviewed in order to manually adjust or tweak what sysconftool did. Many large configuration files can result in lots of output, so the output of make install-configure should be saved into a file, and reviewed.

SEE ALSO

\m[blue]sysconftoolcheck(1)\m[][2], \m[blue]sysconftool(7)\m[][1].

AUTHORS

Double Precision, Inc.

NOTES

1. sysconftool(7)  [set $man.base.url.for.relative.links]/sysconftool.7.html
2. sysconftoolcheck(1)  [set $man.base.url.for.relative.links]/sysconftoolcheck.1.html
Search for    or go to Top of page |  Section 1 |  Main Index


Courier Mail Server SYSCONFTOOL (1) 08/25/2013

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.