]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ReleaseNotes
ebl update win64 doc
[bacula/bacula] / bacula / ReleaseNotes
index f5c936249442fb5aaa62fb91c5dfff2e35d838f9..d37fd90bf8654ef7f91e5ddc95e68e668cd2cde9 100644 (file)
 
-          Release Notes for Bacula 1.37.1
-
-  Bacula code: Total files = 398 Total lines = 117,151 (*.h *.c *.in)
-
-
-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:
-
-  StartJob, EndJob, NewVolume
-
-  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.
-
-  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.
-
-  Once the Python script gets control, it can have access to Bacula
-  variables by doing:
-
-  import bacula
-
-  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.
-
-  Bacula variables can be read with:
-
-  bacula.get(j, "Variable-name")
-
-  where j is the argument passed to the function, and Variable-name
-  is on of the following:
-
-   JoId, Client, Pool, Storage, Catalog, MediaType, NumVols, DirName,
-     Level, Type, Job, JobName, JobStatus
-
-   Bacula varibles can be set using Python keyword arguments:
-
-   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:
+       Release Notes for Bacula 2.5.42
+
+  Bacula code: Total files = 521 Total lines = 204,881 (*.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 2.5.40
+------------------------------------
+
+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 2.5.x (version
+11). If you are using already a 2.5 version, you can drop the JobHistory
+table before upgrading your catalog (if you are using the new "long term
+statistics" module, you can upgrade this table the same way we do with 
+the Job table, see the src/cats/update_bacula_tables script).
+
+The simplest way to:
+1. Stop any current version of Bacula from running.
+2. Save a copy of your existing database.
+3. Configure, build, and install the 2.5.42 version of Bacula
+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.  However, if you are using a version of Bacula older than 2.5.40,
+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.
+
+
+New configure option :
+----------------------
+
+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.
+
+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
+==============================================================
+
+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.