1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>sysconftool</title>
<!-- Copyright 2000-2009 Double Precision, Inc. See COPYING for -->
<!-- distribution information. -->
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink=
"#551A8B" alink="#FF0000">
<h1>SYSCONFTOOL</h1>
<p><code>sysconftool</code> is a development utility that helps
to install application configuration files.
<code>sysconftool</code> allows an existing application to be
upgraded without losing the older version's configuration
settings.</p>
<p><code>sysconftool</code> was originally developed to aid in
the hellish task of upgrading <a href=
"http://www.courier-mta.org/">Courier</a>, 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.</p>
<p>Thus came <code>sysconftool</code>. <code>sysconftool</code>
is available to be used by any application that is packaged by
<a href=
"http://www.gnu.org/software/autoconf/autoconf.html">autoconf</a>,
and <a href=
"http://www.gnu.org/software/automake/automake.html">automake</a>.
There's nothing in <code>sysconftool</code> 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.</p>
<h2>BRIEF OVERVIEW</h2>
<p>The old way was to install a configuration file,
<code>$sysconfdir/$filename</code>, in a straight manner. The new
way is to install <code>$sysconfdir/$filename.dist</code>, and
run the <code>sysconftool</code> script. The script reads
<code>$filename.dist</code>, the existing <code>$filename</code>
configuration file, then creates a new <code>$filename</code>
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
<code>$filename.dist</code> that direct sysconftool which
configuration settings from the previous version of the
application are safe to keep.</p>
<p>A more detailed explanation of what <code>sysconftool</code>
does, and why you might want to use it, can be found in the
online version of <code>sysconftool</code>'s manual pages:</p>
<p><a href="sysconftool.1.html">sysconftool(1)</a></p>
<p><a href="sysconftool.7.html">sysconftool(7)</a></p>
<p><a href="sysconftoolcheck.1.html">sysconftoolcheck(1)</a></p>
<h2>DOWNLOAD</h2>
<p>The current version of <code>sysconftool</code> can be
downloaded from <code><a href=
"https://www.courier-mta.org/download.php#sysconftool">https://www.courier-mta.org/download.php#sysconftool</a></code>.</p>
<p>To source code for <code>sysconftool</code>, as tiny as it is,
can also be grabbed from <a href="../repo.html">a public
repository</a>.</p>
<p>NOTE: As described in detail, the repository only includes
<code>configure.in</code> and <code>Makefile.am</code>. All the
other files (including <code>sysconftool</code>'s own
<code>configure</code> script) must be generated by your
<code>autoconf</code> and <code>automake</code>.</p>
<h2>FEEDBACK</h2>
<p><code>sysconftool</code> is such a minor utility that I don't
think it needs to have an entire mailing list dedicated to
<code>sysconftool's</code> existence. If needed, questions about
<code>sysconftool</code> can be sent to the general <a href=
"http://lists.sourceforge.net/mailman/listinfo/courier-users">courier-users</a>
mailing list. You should subscribe to this list first, most
replies will not be CCed back to the sender.</p>
</body>
</html>
|