Comment 17 for bug 1553563

Revision history for this message
Kern Sibbald (kern) wrote :

I am happy to pipe in as I would like to see Bacula working reliably everywhere. The regression testing is documented in the Developer's manual if I am not mistaken and is not hard to setup. The tests want to build from source, link, install then run the tests so if you want to run from pre-built binaries (i.e. a deb) please let me know and I will look for the Bacula Systems scripts that do this.

Concerning the current problem: what seems clear to me is that the packaging has added additional build flags that either were not in the previous version 14.04 or what those flags do has changed (e.g. more randomization). ASLR and PIC sound like things that could cause problems. Bacula does not explicitly set either in our binary builds.

Note for packaging: it is better to install all of Bacula in /opt/bacula, which I think is permitted by the LSB. This is because by having it all installed in one directory, it is *far* easier for Bacula to properly back itself up. All distributions that I have looked at spread Bacula components all over the directory structure, which prevents Bacula from easily backing up itself when doing a backup of the catalog. From prior experience with distro packagers, who have rather strict rules to follow, I doubt I will get very far with this, but I wanted you to know.
For example, here is the FileSet that I use for my catalog backup:

# Backup the copy of the catalog
FileSet {
  Name = "CatalogFile"
  Include {
    Options {
       signature=MD5
    }
    File = /opt/bacula/working/bacula.sql # get catalog
    File = /opt/bacula # get Bacula + conf
  }
  Exclude {
     File = /opt/bacula/working # ignore temp files
  }
}

Notice how easy it is to backup all of Bacula. For a disaster recovery, it is *really* nice to have everything all in one backup -- all the Bacula conf files, scripts, binaries, and the catalog backup as well. Not also, the .bsr file is emailed to me every night, so that makes it trivial to find and restore Bacula as it was at any particular backup point.