These directions are for upgrading an existing Bucardo installation.
If you encounter any problems, please email the mailing list at 
bucardo-general@bucardo.org.

Ideally, upgrading Bucardo takes just five steps:

1. Install the new Bucardo programs
2. Stop Bucardo
3. Upgrade the Bucardo database
4. Re-validate all syncs
5. Start Bucardo

Each step is detailed below.

1. Install the new Bucardo programs

As with an install, just untar the file (or git pull), then run:

perl Makefile.PL
make
make test
make install

The first three steps should be done as a non-superuser. Thus, the final 
step should be done on some systems as:

sudo make install

This will replace the existing Bucardo.pm file, the bucardo script, the 
bucardo.schema file, and the associated man pages.


2. Stop Bucardo

Because we may be making schema changes, it is safest to stop Bucardo while 
the upgrade is performed. This can be done by running:

./bucardo stop


3. Upgrade the Bucardo database

The bucardo script has an 'upgrade' command that connects to the 
existing Bucardo database and upgrades the schema as needed. 

./bucardo upgrade

Note:
* This must be run on every Bucardo instance you have (most sites only use one)

You should see a summary of any changes made, and then given a chance to 
accept or reject the changes. You may want to run it again after, to double 
check that the upgrade worked and no further changes are needed.

A summary of all changes is stored in the bucardo.upgrade_log table.


4. Re-validate all syncs

Because there may have been schema changes on the remote databases, you may 
have to run the validate_sync() function against each of your syncs. This command 
will connect to each remote database and do things like verify that all 
bucardo-related functions and tables are installed correctly. The easiest way to 
do this is by running:

./bucardo validate all

Alternatively, you can specify one or more syncs like so:

./bucardo validate sync1 sync2


5. Restart Bucardo

The final step is to restart Bucardo:

./bucardo start "Upgrade"

It's probably a good idea to check out the Bucardo log at this point and make 
sure everything is working properly.

