Node:Upgrading, Previous:Installing tools, Up:Installation
The following procedure covers an upgrade from all GNATS 3 versions
newer than 3.108. If your installation is an older 3.10x version, or
even the ancient 3.2 version, you need to review the
UPGRADING.old
file in the GNATS distribution before carrying
out the steps detailed here.
Although almost all of the GNATS internals have been redesigned and
rewritten for GNATS 4, little has changed in the format and
structure of the database data. The only change that needs to be taken
into account when upgrading is the fact that the database index format
is binary in a default installation of GNATS 4. Thus, you will
need to regenerate your database index by using the gen-index
tool. In addition, if your old GNATS installation was so-called
"release-based", you need to make some simple modifications to the
database setup file dbconfig
. See below for details.
Apart from building and installing new binaries, the major changes which
impinge on the upgrade procedure are all on the configuration side. The
main database configuration file, dbconfig
, is far more complex
and powerful than the old config
file, and while the installation
process creates a sensible set of default values which are similar to
GNATS 3.11x's defaults, you still need to migrate any changes you
may have made to your own local configuration.
Another aspect which needs consideration are remote submitter sites.
Such sites either need to be instructed to upgrade their locally
installed copies of the GNATS user tools (send-pr
,
edit-pr
and query-pr
), or they should be given access
through interfaces such as Gnatsweb.
Since the GNATS network daemon has been completely reworked, with
an entirely new command set, all network-based interfaces, such as
Gnatsweb and TkGnats need to be upgraded to versions that support
GNATS 4. The contrib
directory of this distribution
contains some third-party interfaces, and the README
file
contains pointers to where you can obtain the newest versions of these
tools.
This document only deals with upgrading GNATS itself. Third-party tools should have separate upgrading instructions in their distributions.
send-pr
, query-pr
etc.) The
locations of these may vary, but in a default GNATS 3 installation,
the database(s) reside under /usr/local/share/gnats
, the
executables are located in /usr/local/libexec/gnats
and the
user tools reside in /usr/local/bin
.
--with-gnats-default-db
option when running configure
,
in order to set the default database to be one of your already existing
GNATS 3 databases.
databases
file and add entries for all your
old GNATS 3 databases. In a default GNATS 4 installation
the file is in /usr/local/etc/gnats
. See The databases
file.
gnatsd.conf
specifies minimum access
levels for the different hosts accessing the GNATS daemon,
gnatsd
. There is one gnatsd.conf
for each database. In
GNATS 4, these files have been replaced by a single file named
gnatsd.host_access
which contains settings that apply across all
the databases on the server. This file is located in the same directory
as the databases
file. You need to combine the host access
settings from all your GNATS 3 databases and add them to the
gnatsd.host_access
file. Note that you are no longer able to
control host access on a per-database basis. Optionally, you may delete
the old gnatsd.conf
files. See Controlling access to GNATS databases.
config
files of
your databases to corresponding dbconfig
files. The database you
specified with the --with-gnats-default-db
configure option
got a default dbconfig
installed. This default file contains
field definitions etc. which makes this version of GNATS behave
almost exactly like older versions. Copy this default file to the
gnats-adm
directories of any other GNATS databases that
you may have on your host before you proceed to migrate your old
configuration settings.
The following is a list of the configuration directives that may be
present in a config
file and their counterparts (if any) in
GNATS 4.
responsible
file in the
gnats-adm
directory of your database(s).
dbconfig
file has separate configuration
sections for each defined field. Field defaults are set with the
default
keyword in these sections. See The dbconfig
file.
notify-about-expired-prs
setting in the
dbconfig
file.
send-submitter-ack
setting in the
dbconfig
file.
submitters
file of your database.
keep-all-received-headers
setting in the
dbconfig
file.
debug-mode
setting in the dbconfig
file.
business-day-hours
and
business-week-days
in the dbconfig
file.
categories
file of your database.
After your are done migrating the settings, you may optionally delete
the old config
files. Since there are many more configuration
settings available in the GNATS 4 dbconfig
file, you should
take some time to review them all before proceeding. See The dbconfig
file.
If your old GNATS installations was release-based, i.e. it included
the fields Quarter, Keywords and Date-Required, you need to define those
fields in the dbconfig
file by following the instructions in
Supporting old GNATS "release-based" fields.
gnatsd.access
has been renamed to gnatsd.user_access
.
Furthermore, GNATS 4 uses a different password format in the
gnatsd.user_access
file than older versions, since it supports
crypt()
and MD5 passwords (see Controlling access to GNATS databases). You need to translate your old
gnatsd.user_access
files to the new format by using the
gnats-pwconv
tool which was installed in the
EXEC-PREFIX/libexec/gnats
directory, typically
/usr/local/libexec/gnats
. See Managing user passwords.
gnats
. Then run the gen-index
command for each of your databases. See Administrative Utilities for details on how to use
gen-index
.