]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
ebl fix sql scripts and add new update stats query
[bacula/bacula] / bacula / ReleaseNotes
index f5c936249442fb5aaa62fb91c5dfff2e35d838f9..4443960fa01664ddd11208d0bcc711f98819464b 100644 (file)
 
-          Release Notes for Bacula 1.37.1
+       Release Notes for Bacula 2.5.28
 
-  Bacula code: Total files = 398 Total lines = 117,151 (*.h *.c *.in)
+  Bacula code: Total files = 522 Total lines = 203,305 (*.h *.c *.in)
 
+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. There is
+no database upgrade needed from version 2.4.x.  However, the next
+BETA release will require a database upgrade.
 
-Major Changes:
-- Preliminary Python Event support has been added. See below for
-  configuration.
-  A Python script will be called at particular points or conditions
-  in Bacula called Events. The currently defined Events are called:
+================== Warning !!!!!! ==========================
 
-  StartJob, EndJob, NewVolume
+New Catalog format :
+--------------------
 
-  Where StartJob is called before the RunBeforeJob, EndJob is called after
-  RunAfterJob, and NewVolume, is called before all other "methods" of
-  obtaining a new Volume name, when one is needed.
+This BETA release of Bacula uses a new catalog format. We provide a set of
+script that permit to convert a 2.4.x (version 10) catalog to 2.5.x (version
+11). If you are using already a 2.5 version, you need to drop the JobHistory
+table before upgrading your catalog (if you are using the new "long term
+statistics" module, you can upgrade this table like with the Job table, see
+upgrade_<database>_table script).
 
-  The Python script of the same name as the Event name (but with a .py) 
-  is called from the Scripts Directory (a directive defined in the
-  Director resource).  Note, both the Filename, and the name of
-  the function in the file must correspond to the Event name.
+The upgrade operation will convert an essential field of the File table, and
+this operation will take TIME and will DOUBLE THE SIZE of your
+catalog temporarily. Depending on your catalog backend, you won't be able to run jobs
+during this period. For example, a 3 million files catalog will take 2mins to
+upgrade on a normal machine. Don't forget to backup it before executing the
+script.
 
-  Once the Python script gets control, it can have access to Bacula
-  variables by doing:
 
-  import bacula
+New configure option :
+----------------------
 
-  The script is called with one argument, typically called j. This
-  argument *must* be passed unchanged to each bacula function. The
-  format of the call is slightly different for reading Bacula
-  variable and for writing bacula variables. See below.
+This BETA release of Bacula 2.5.x development code uses libtool
+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.
 
-  Bacula variables can be read with:
+If you have problems with libtool or you wish to use the old 
+way of building static libraries, you can do so by disabling 
+libtool on the configure command line with:
 
-  bacula.get(j, "Variable-name")
+  ./configure --disable-libtool
+==============================================================
 
-  where j is the argument passed to the function, and Variable-name
-  is on of the following:
+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.
 
-   JoId, Client, Pool, Storage, Catalog, MediaType, NumVols, DirName,
-     Level, Type, Job, JobName, JobStatus
+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):
 
-   Bacula varibles can be set using Python keyword arguments:
+http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html
+  
+The ChangeLog has more details.
 
-   bacula.set(jcr=j, VolumeName="xyz")
 
-   The two currently implemented writable "variables" are:
-
-   VolumeName and JobReport
-
-   Example:
-
-== File EndJob.py ===
-import bacula
-
-def EndJob(j):
-    jobid = bacula.get(j, "JobId")
-    client = bacula.get(j, "Client") 
-    bacula.set(jcr=j, JobReport="EndJob output: JobId=%d Client=%s.\n" % (jobid, client))
-    return 1
-====
-
-== File NewVolume.py ===
-import bacula
-
-def NewVolume(j):
-    jobid = bacula.get(j, "JobId")
-    print "JobId=", jobid
-    client = bacula.get(j, "Client") 
-    print "Client=" + client
-    numvol = bacula.get(j, "NumVols");
-    print "NumVols=", numvol
-    bacula.set(jcr=j, JobReport="New Volume set for Job.\n") 
-    bacula.set(jcr=j, VolumeName="TestA-001")
-    return 1
-====
-
-
-New Directives:
-- Scripts Directory = <directory> name.  Defines the directory from 
-  which Bacula scripts will be called for events. In fact, Bacula
-  appends this name to the standard Python list of search directories,
-  so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
-  a lot, it can be very expensive), by using:
-    HardLinks = no
-  in the Options section. Patch supplied by David R Bosso. Thanks.              
-
-New Commands:
-- "python restart" restarts the Python interpreter. Rather brutal, make
-   sure no Python scripts are running. This permits you to change
-   a Python script and get Bacula to use the new script.
-
-Items to note!!!
-- You must add --with-python=[DIR] to the configure command line
-  if you want Python support.  Python 2.2 and 2.3 should be automatically
-  detected if in the standard place.
-- With Python 2.2 version, the link of the Director gets a few linker
-  warnings due to the fact that Python pulls in some old non-secure
-  libraries.
-- With Python 2.3, there are a few compiler warnings.
-
-Other Items: