X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FReleaseNotes;h=fe281432e7b52a794e99ec775404f98b8e6fbf25;hb=1e32b9b18aa40e516767aae2503fe3d8620ef286;hp=f5c936249442fb5aaa62fb91c5dfff2e35d838f9;hpb=e360ba18ebd1a47d23b55ffb90381591f4eac213;p=bacula%2Fbacula diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index f5c9362494..fe281432e7 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,104 +1,177 @@ - Release Notes for Bacula 1.37.1 + Release Notes for Bacula 3.0.2 + + Bacula code: Total files = 1,009 Total lines = 205,726 (Using SLOCCount) + +Note, if you are not already running 3.0.x, read the 3.0.x release notes +below. Important!!! + +Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with +some enhancements (see below). + +Changes since 3.0.1: + +Bug fixes: + 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 + 1317, 1318, 1323, 1325, 1331, 1333, 1335 + +Fixed: + - Fix problem with the Postgresql driver that sometime displays values + - Cleanup old job records when starting the Director + - Fix bugs in xattr code + - Fix encoding problem with Postgresql + - Fix that prevents restore by file selection from using Copy job + +Enhancements: + - Security enhancement for the File Daemon + - New directive to specify source address for outgoing connexions + - Show volume availability in autochanger when doing restore. + This is project 31 in the projects file. + - Add accurate=yes/no option to estimate command + - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure + - Add a restore menu that contructs a full restore when entering a JobId. + This is project 2 in the projects file. + - Add new Nagios plugin + +Compatibility: +Like always, both the Director and Storage daemon must be upgraded at +the same time. + +Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 +Director and Storage daemons. It should be no need to upgrade older File +Daemon. + +============ Documentation improvements needed ================== + +Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the +following areas: + +1. Missing documentation. +2. Correction of links within various manuals -- most fail. +3. Integration of the new features into the main documents. +4. Much more. + +The documentation will not be completed in the near future due to lack +manpower. If you are unhappy with this situation as we are, we suggest +you help by submitting patches to the documentation. Thanks. +===== + +================== 3.0.1 Release Notes ======================== + +Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with +one enhancement. + +================== 3.0.0 Release Notes ======================== + +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 !!!!!! ========================== - Bacula code: Total files = 398 Total lines = 117,151 (*.h *.c *.in) +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 +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 /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= -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: +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: - StartJob, EndJob, NewVolume + ./configure --disable-libtool - 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. +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: - 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. + ./configure --htmldir= - Once the Python script gets control, it can have access to Bacula - variables by doing: +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: - import bacula + ./configure --docdir= + +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: - 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. + ./configure --with-plugindir= + +============================================================== - 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 = 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: +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.