-not have to upgrade all your File daemons. However, bat works only with
-a 2.1.8 Director.
-
-Areas requiring caution or testing:
-- You must have Qt4 Version 4.2 or greater loaded to build bat
-- You must have the thread safe version of MySQL client libraries loaded
- to build with MySQL enabled.
-- The Volume management in the Storage daemon is extensively rewritten.
- It appears to function much better, but is largely untested under
- severe stress conditions (multiple drive autochangers, ...).
-- Volumes are pruned only when absolutely necessary -- this may cause
- your database to grow.
-- Socket level heartbeat is untested.
-- Solaris door and even port files are no longer restored (equivalent
- to what we do with sockets).
-- Solaris is untested
-- Win32 servers are untested, and very likely not to work.
-
-The major new features are:
-- Much faster insertion of attributes (somewhere around 10 times),
- many thanks to Eric Bollengier and Marc Cousin.
-- First cut of bat (Bacula Administration Tool). Note to build
- bat you must explicitly enable it on the ./configure line, you
- must have the Qt4 version 4.2 or later libraries loaded, and
- qmake and the other Qt4 tools must be available. bat is ALPHA
- software. A large part of the work was done by Dirk Bartley.
-- Red/Black restore in memory tree (500 times faster loading).
-- The Regex Where code to allow easier relocation of restored files
- thanks to Eric.
-- Socket level heartbeat for all connections (untested).
-- posix_fadvise() use in the FD to improve performance.
-- Simpler locking in the SD in the reservation system.
-- Much improved Volume reservation code that should eliminate most
- conflicts experienced in multiple drive autochangers.
-- Detection of file size/date change during backup if enabled.
-- New Recycle Pool feature -- thanks to Eric.
-- Efficient implementation of very large include/exclude lists.
-- Volumes are no longer pruned during 'status dir'
-- Pruning is now more efficient, and if a Volume is purged,
- during pruning, it is immediately discovered.
-
-Other features or bug fixes:
-- Fixed bugs: 856, 854, 845, 847, 846, 809, 772,
- 822, 825, 824, 808, 802, 797, 798, 795, 789, 791,
- 788, 780, 763, 782, 612, 767, 775, 621, 772, 764,
- 766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
-- Only the minumum number of volumes are pruned rather than
- all volumes in the pool.
-- wx-console renamed to bwx-console
-- gnome-console renamed to bgnome-console
-- Migration preserves original job's FileSetId
-- Spooling implemented for migration jobs.
-- Config files can be read through a pipe, by specifying a leading |
- in front of the configuration path/filename.
-- New memory command (bconsole) that will print the current Director's
- memory usage, and a in use buffer dump.
-- Solaris door and event port files are no longer restored.
-- Console name changed from *Console* to -Console- to accomodate Win32
- filename restrictions.
-- Corrected Win32 ftruncate bug.
-- Additional version information added to Job reports.
-- New -8 option for bsmtp to specify UTF-8 encoding type.
-- bsmtp will no longer add < > to target (from, to, cc) if there
- is already a < in the target.
-- Perfer Mounted Volumes extended to mean a volume that is being
- mounted by another job.
-- Runscript timing set to same as version 1.38.11
-- New TLS Allowed CN directive(s) permitted.
-- New bconsole 'exec' command to run external script/command.
-- Turn on FreeBSD/OpenBSD code to set EOT model on tape.
-- Drop from root done before database is opened.
-- database user and name can be configured with:
- --with-db-name=name --with-db-user=user
-- turn on wait_for_drive in mtx-changer script.
-- rework how bar codes are handled in mtx-changer script.
- This appears to have been an unreported bug.
-- Updated nagios plugin supplied by Christian Masopust
-- Better restricted console ACL checking.
-- New Client Connect Wait directive in Storage daemon so that
- users can configure how long SD waits for FD connection.
-- Bacula will no longer permit pruning of the currently running
- job (note, if other jobs are running, they may be pruned).
-- Sockets are no longer restored.
-- dbcheck works in 300K chunks so will typically run faster.
-- Include/Exclude lists can now be efficiently handled for quite
- large sizes -- tens of thousands of entries.
-- Several memory leaks in migration and database usage were fixed.
-- New console keyword restoreclient, which specifies the client to
- which the restore will be sent. The client keyword specifies
- the backup client. The restoreclient keyword is optional if it is
- not specified, the backup client will also be the restore client.
-- The disk file size is now checked to ensure that it agrees with the
- catalog value before Bacula will append to the disk (same as tape
- and DVD).
+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 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 upgrade 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.