
       Release Notes for Bacula 3.0.0

  Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in)

The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release
represents an enormous effort.

This Director and Storage daemon must be upgraded at the same time,
but they should be compatible with all 2.4.x File daemons, unless you
use some of the new features that affect the FD.  In other words, you should
not have to upgrade all your File daemons when you upgrade. However, any
release of version 2.5.40 or greater requires a database upgrade.

================== Warning !!!!!! ==========================

New Catalog format in version 3.0.0 (2.5.40 or later)
-----------------------------------------------------

This BETA release of Bacula uses a new catalog format. We provide a set of
scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version
11).  The Bacula project rpms distributed on Source Forge will automatically
detect the database change and do the upgrade for you.  We strongly
recommend that you save a copy of your existing database before upgrading
using rpms.

The simplest way to upgrad the database assuming you are building from
source:
1. Stop any current version of Bacula from running.
2. Save a copy of your existing database.
3. Configure, build, and install the 3.0.0 version of Bacula
   Note the new ./configure options in the manuals see the link
   at the bottom of this file.
4. cd <your-scripts-installation-directory>
5. ./update_bacula_tables
6. If you have multiple catalogs, edit the update_bacula_tables
   script and put the name of another database, and then
   execute the script again. Repeat this until all Bacula
   catalogs have been updated.
7. Start the new Bacula.  If everything worked, it should
   not print any error messages.

The upgrade operation will convert the FileId index field of the File table
from 32 bits to 64 bits.  This operation will take TIME and will *temporarily* 
DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update,
so, won't be able to run jobs during this period.  For example, a 3 million files
catalog will take 2 mins to upgrade on a normal machine.  Don't forget to
backup it before executing the script.

If you start from scratch, you don't need to run the update_bacula_tables
script because the create_bacula_tables script automatically creates the new
table format.  However, if you are using a version of Bacula older than 2.5.40
(e.g.  2.4.4) then you need to run the update_bacula_tables script that will
be found in the <bacula>/src/cats directory after you run the ./configure
command.  As mentioned above, before running this script, please backup your
catalog database, and when you do running it, be sure shutdown Bacula and be
aware that running the script can take some time depending on your database
size.


Important New configure options :
----------------------

This release of Bacula 3.0.0 uses libtool by default
to generate the Bacula libraries as shared objects rather than
being directly linked in as in prior versions.  This means that
the Bacula shared objects, must either be in a shared object 
directory known to the loader or they must be in the directory
where the Bacula binaries are installed.  It is also possible
to explicitly specify the libraries directory on the ./configure
line (--libdir=/full-path/dir), but this should not be necessary.

  ./configure --libdir=<full-path>

If you have problems with libtool or you wish to use the old 
way of building libraries and linking them into Bacula, you 
can do so by disabling libtool on the configure command line with:

  ./configure --disable-libtool

During the installation of Bacula 3.0.0, it will now install
bat help files (if you have configured bat).  These files
are placed in /usr/share/doc/bacula/html by default. If you
want to put them elsewhere use:

  ./configure --htmldir=<full-path>

During the installation of Bacula, it will now install the
ReleaseNotes, License, technotes, ChangeLog, and similar
files in /usr/share/doc/bacula by default.  If you
want to put them elsewhere use:

  ./configure --docdir=<full-path>

During the installation of Bacula, any plugins will be
installed in the plugindir, which is by default the
same as libdir (/usr/lib).  You can specify an alternate
location with:

  ./configure --with-plugindir=<full-path>

==============================================================

This release includes large number of new features and changes.
It should be more or less compatible with previous xx.conf files
and File daemons providing that you are not using any of the new
features.

Please see the New Features chapter of the new manual, which documents
some but not all the new features (we are still working on it):

http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html
  
The ChangeLog has more details.
