Jacek Konieczny jajcus at
Wed Mar 17 10:47:03 CET 2010


In Th, we still have a very old Bacula version: 2.4.4. To make it worse,
that build supports MySQL database only.

There have been many updated made in the CVS repository to improve that:
spec file had been updated to newer Bacula versions, 'libdbi' backend
had been enabled by default, to enable support for many database engines
in one binary. This was still far from being perfect. No clear upgrade
procedure was implemented and libdbi nor the Bacula dbi driver seem to
be maintained.

I looked into the topic once again and decided to solve it in other way.
In the latest Bacula releases all database-engine-dependant code is
compiled into single shared library. I updated the spec file to build
that library four times (one for each supported backend) and package it
into different subpackages. And it seems to work! :)

I have also enabled Python scripting by default and fixed the dbi
backend build (dbi compile error caused some Bacula tools not being
built, including the 'bsmtp' tool used for operator notifications).

Clear automatic upgrade procedure is still not implemented and it would
be very hard to do it right for the old Bacula version in Th and all the
different custom builds in use. Manual upgrade should not be a problem
anyway, as the upgrade scripts are provided (/usr/lib/bacula dir in the
right bacula-db-* package).

Everyone who is using Bacula, please test the latest Th build (should be
available in 'th-ready' now). Install the right bacula-db-* module
for the database engine you use.

Any comments or questions?

My old Bacula configuration (used previously with Bacula 3.x with the
dbi backend) works well now with both bacula-db-postgresql and
bacula-db-dbi packages. I have only had to call the
/usr/lib/bacula/update_postgresql_tables script to upgrade the schema.


More information about the pld-devel-en mailing list