]> git.sur5r.net Git - bacula/bacula/blob - bacula/ReleaseNotes
Update ChangeLog and ReleaseNotes
[bacula/bacula] / bacula / ReleaseNotes
1
2                Release Notes for Bacula 5.2.4
3
4   Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)
5
6 General:
7 --------
8 The 5.2.3 version is an bug fix release.
9
10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11 If you are upgrading directly from 5.0.3 to this version, please see the
12 important notices below for version 5.2.2, particularly
13 the database upgrade and the difference in packaging the
14 SQL shared libraries.
15 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
17 Compatibility:
18 --------------
19  As always, both the Director and Storage daemon must be upgraded at
20  the same time.
21
22  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
23  Director and Storage daemons. There should be no need to upgrade older File
24  Daemons.
25
26 Changes since 5.2.2:
27
28
29 17Jan12
30  - Definitive fix for MySQL MaxValue problem bug #1810
31  - Initialize delta_seq to -1 because 0 means that we have already a version
32  - Adapt bfileview for bvfs tables
33  - Set job status to running when restore job really starts
34  - Remove ifdeffing that turned off JS_Warning status -- must have been missed 
35   test code
36  - Add support for soname setting in libtool.
37  - Fix bug #1815
38  - Fix systemd pid files.
39  - Limit migration/copy jobs to starting 100 at a time
40  - Avoid conflict with PAGE_SIZE define
41  - Send previous Job name during Incremental/Differential to the FD
42  - Fix bug #1811 Filed fails to backup more then one xattr.
43  - system.posix_acl_default is also an acl stored as xattr
44  - Fix bug #1807
45  - Add configure for new redhat spec files
46  - Backport Enterprise spec files
47  - Fix bad memset() reported by clang
48  - Test new plugin function in bpipe and test plugin
49  - Try to fix openssl problem with signal
50  - Add BSOCK::set_killable()
51  - Set directory attributes when using Replace=Never when Bacula creates them
52  - Use RestoreObject type in Catalog
53  - Add new features in plugin
54  - Add helper for ini files
55  - Implement run accurate=yes/no
56  - Add .bvfs_clear_cache
57  - Add Accurate and MaxRunSchedTime in Schedule resource
58  - Fix bug #1802 configure code to detect LZO is broken
59  - Fix bug #1806 failure to save second and more xattr.
60  - Add second xattr to show bug 1806
61  - Fix seg fault in plugin event loop
62  - Fix #3210 about slow restore with bvfs
63
64 Bugs fixed/closed since last release:
65 1802 1806 1807 1810 1811 1815 3210
66
67
68 ==============================================================
69
70 General:
71 --------
72 The 5.2.3 version is an bug fix release.
73
74 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
75 If you are upgrading directly from 5.0.3 to this version, please see the
76 important notices below for version 5.2.2, particularly
77 the database upgrade and the difference in packaging the
78 SQL shared libraries.
79 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
80
81 Compatibility:
82 --------------
83  As always, both the Director and Storage daemon must be upgraded at
84  the same time.
85
86  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
87  Director and Storage daemons. There should be no need to upgrade older File
88  Daemons.
89
90 Changes since 5.2.2:
91
92  - Revert patch from Ben to not compress man pages on Solaris fix #1801
93  - Fix bug #3322 don't poll when operator is labeling tapes
94  - bvfs: Fix mysql REGEXP operator
95  - Fix Mysql 5.5.18 symbol lookup
96  - fix utf8/iso8859 problems
97  - Fix #3419, update stats problem
98  - Fix cats_test to use the new method names.
99  - Update accurate code to use 1 byte instead of 3
100  - Fix segfault in accurate code
101  - Fix compilation warning on FreeBSD
102
103 Bugs fixed/closed since last release:
104 1801 3322 3419
105
106
107 ================================================================
108 Version 5.2.2
109
110 General:
111 --------
112 The 5.2.2 version is an important bug fix release. It contains also some
113 additions and performance improvements. 
114
115 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
116 If you are upgrading directly from 5.0.3 to this version, please see the
117 important notices below for version 5.2.1, particularly
118 the database upgrade and the difference in packaging the
119 SQL shared libraries.
120 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
121
122 Compatibility:
123 --------------
124  As always, both the Director and Storage daemon must be upgraded at
125  the same time.
126
127  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2
128  Director and Storage daemons. There should be no need to upgrade older File
129  Daemons.
130
131 Changes since 5.2.1:
132 -----------------
133  - Implement -t option for Bat
134  - Require correct Qt version 4.6.2 or later to build bat
135  - Get new lib/plugins.h
136  - Pull new SD plugin files from Master
137  - Fix script to set mode of cats scripts
138  - Add Systemd configure options
139  - Split messages line by line before sending it to syslog() fix #3325
140  - Fix bvfs_restore on MySQL
141  - Fix #3308 where a SMTP problem can block the director
142  - Change locking scheme of the mountpoint cache.
143  - Enhance mountcache with rescan option after interval.
144  - Add %D option to edit_job_code, simplify callbacks on director side
145  - Move Zdeflate and Zinflate to seperate file.
146  - Put libraries in the correct order for non shared libs.
147  - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@
148  - Fix bug #1774
149  - Move batch insert detection into db.m4
150  - bat: try to fix offset button problem when clicking too much on previous
151  - bvfs: Use single transaction for each job during update
152  - Add missing bwild & bregex man8 pages
153  - Fix compilation issue of wx-console #1778
154  - bvfs: fix filter for pattern= bvfs parameter
155  - Improve speed of BVFS with SQLite, Thanks to J.Starek
156  - bvfs: add clear_cache function
157  - bvfs: Handle windows drive when building path hierarchy
158
159 Closed Bugs Since 5.2.1
160 -----------------------
161 1774 1778 3308 3325
162
163
164 ================================================================
165
166 Version 5.2.1
167
168 The 5.2.1 version is a major release since the last version 5.0.3.
169 It includes well over 299,387 lines of changes made by 20 contributors,
170 lots of bug fixes (see below), 1,851 software commits,and a 
171 number of important new features:
172
173 Version 5.2.0 was short lived, because Marco (thanks) found
174 a number of last minute bugs. So the first official release of 5.2
175 is 5.2.1.
176
177 Compatibility:
178 --------------
179  As always, both the Director and Storage daemon must be upgraded at
180  the same time.
181
182  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1
183  Director and Storage daemons. There should be no need to upgrade older File
184  Daemons.
185
186 5.2.1 New Features:
187 -----------------
188 - LZO Compression
189 - New Tray Monitor
190 - Purge Migration Job
191 - Changes in Bvfs (Bacula Virtual FileSystem)
192 - Changes in the Pruning Algorithm
193 - Ability to Verify any specified Job
194 - Additions to RunScript variables
195 - Additions to the Plugin API
196 - ACL enhancements
197 - XATTR enhancements
198 - Class Based Database Backend Drivers
199 - Hash List Enhancements
200
201 Some of the above are described below; all the above are
202 described in more detail in the New Features chapter of the
203 manual.
204
205 Closed Bugs since 5.0.3:
206 ---------------------
207 1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501
208 1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549
209 1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582
210 1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624
211 1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699
212 1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710
213
214 Note on bug 1612 where Bacula does not save a checksum for hard links during
215 full backup, but expects one during accurate differential backups. You need
216 a Full backup with the 5.2.x code to have these checksums in the Catalog.
217 Doing Incr/Diff over a 5.0.x Full backup will still display lot of errors.
218
219
220
221 ================== Warning !!!!!! ==========================
222
223  The new pruning algorithm will not allow pruning of jobs that are essential to
224  restore since the last Full backup. This is, of course, correct and desirable,
225  but it is different from older Bacula versions that could inappropriately
226  prune jobs. Pruning of volumes is not affected.
227
228 Building Bat:
229 -------------
230 To build Bat, you need Qt4 version 4.6.2.  If you build with any other
231 version it is likely not to work.  If you do not have version 4.6.2, on
232 your system, you can download the Bacula depkgs_qt version 16Dec10.
233
234 Packaging the SQL backend:
235 --------------------------
236 The main Bacula Director code is independent of the SQL backend
237 in this version. This means that the Bacula Director can be packaged
238 by itself, then each of the different SQL backends supported can
239 be packaged separately.  It is possible to build all the DB backends
240 at the same time.
241
242 - configure can be run with multiple database configure options.
243    --with-sqlite3
244    --with-mysql
245    --with-postgresql
246
247 Order of testing for database is
248 - postgresql
249 - mysql
250 - sqlite3
251
252 Each configured backend generates a libbaccats-<backend_name>-<version>.so
253 A dummy catalog library is created named libbaccats-version.so
254
255 At configure time the first detected backend is used as the so called default
256 backend and at install time the dummy libbaccats-<version>.so is replaced with
257 the default backend type.
258
259 If you configure all three backends you get three backend libraries and the
260 postgresql gets installed as the default.  When you want to switch the default
261 you can copy one of the three backend libraries over the
262 libbaccats-<version>.so e.g.
263
264 cp libbaccats-postgresql-<version>.so libbaccats-<version>.so
265
266 And update the default backend in the following files:
267
268 create_bacula_database
269 drop_bacula_database
270 drop_bacula_tables
271 grant_bacula_privileges
272 make_bacula_tables
273 make_catalog_backup
274 update_bacula_tables 
275
276 New Catalog format in version 5.2.0 and greater
277 -----------------------------------------------
278 This release of Bacula uses a new catalog format. We provide a set of
279 scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version
280 14).  The Bacula project rpm spec files have been modified to
281 detect the database change and do the upgrade for you.  We strongly
282 recommend that you save a copy of your existing database before upgrading
283 using rpms.
284
285 The simplest way to upgrade the database assuming you are building from
286 source (i.e. manually):
287 1. Stop any current version of Bacula from running.
288 2. Save a copy of your existing database.
289 3. Configure, build, and install the 5.2.1 version of Bacula
290    Note the new ./configure options in the manuals see the link
291    at the bottom of this file.
292 4. cd <your-scripts-installation-directory>
293 5. ./update_bacula_tables
294 6. If you have multiple catalogs, edit the update_bacula_tables
295    script and put the name of another database, and then
296    execute the script again. Repeat this until all Bacula
297    catalogs have been updated.
298 7. Start the new Bacula.  If everything worked, it should
299    not print any error messages.
300
301 If you start from scratch, you don't need to run the update_bacula_tables
302 script because the create_bacula_tables script automatically creates the new
303 table format.  However, if you are using a version of Bacula older than 5.0.0
304 (e.g.  3.0.3) then you need to run the update_bacula_tables script that will
305 be found in the <bacula>/src/cats directory after you run the ./configure
306 command.  As mentioned above, before running this script, please backup your
307 catalog database, and when you do running it, be sure shutdown Bacula and be
308 aware that running the script can take some time depending on your database
309 size.
310
311 ================================================================
312
313 Changes:
314
315 Speed and Memory Usage Enhancements:
316 - Implement LZO compression algorithm (need lzo2 headers to activate this option)
317 - New Pruning algoritm -- safer and faster
318 - Use of PostgreSQL cursor when doing large queries, should reduce the
319   memory usage during restore and accurate backups.
320 - limit command in some list commands
321 - Bacula Virtual File System for fast catalog access
322 - Faster crc32 algorithm
323
324 Security Enhancements:
325 - Additional security against injection of illegal characters
326 - Fix possible fnmatch problem
327
328 Features Enhancements:
329 - Improvements in ACL and xattr handling on additional platforms:
330   AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64
331 - Tray monitor for Windows
332 - New SQL backend and ./configure that permits building multiple catalog
333   backends in one build, and has the main Bacula core code totally independent
334   of the SQL backend, which should simplify packaging (only the
335   libbacsql.so/dll needs to be changed to switch from one database backend
336   to another (e.g. MySQL to PostgreSQL).
337 - Indent lsmark during restore
338 - Disable batch insert config item
339 - Director selection option in bconsole
340 - restorejob command in bconsole
341 - Many additional features for bat such as "brestore" panel
342 - The old bat version browser has been turned off since it does not
343   work correctly and the brestore panel provides the same functionality
344 - Improved hash table for hard links
345 - Additional script variable editing such as %b (JobBytes), %F (JobFiles) 
346   and %h (Client Address)
347
348 Other Enhancements:
349 - Includes better handling for Windows repares points, mount points, and 
350   junction points.
351 - New database format
352 - Many new plugin API features
353 - Improved memory handling for restores
354 - Significant stability enhancements to bat
355 - xattr/ACL restore failure are now printed as Warning
356 - A few path name length limits in Windows have been removed.
357
358
359 ===========================================================================
360
361 The 5.0.3 version is significant bug fix update to version 5.0.2.
362 It includes new code and some new features.
363 There is no database change since prior versions of 5.0.
364
365 Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in
366   the 5.0.1 release section.
367   Important!!!
368
369 Compatibility:
370 --------------
371  As always, both the Director and Storage daemon must be upgraded at
372  the same time.
373
374  Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3
375  Director and Storage daemons. There should be no need to upgrade older File
376  Daemons.
377
378 Changes and New Features:
379 - If a VSS (Windows) snapshot fails, the whole Job is failed, previously
380   it printed a warning message and continued.
381 - New editing codes %b = Job Bytes and %f = Job Files for runscripts
382 - Any non-Bacula project plugins (i.e. third party plugins) 
383   must be upgraded to specify AGPLv3 in place of the GPLv2 used previously 
384   for the PLUGIN_LICENSE.
385 - The bat Media page text columns can be sorted by clicking on the column.
386 - If possible, the SD will automatically update the catalog Volume size if 
387   it does not match the Volume size. The mismatch between the Volume sizes
388   typically occurs when the FD has a comm line drop or the FD crashes.
389
390
391 Bug fixes
392 1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610
393
394 - Change license from GPLv2 to AGPLv3
395 - Make Win32 no filesystem change more explicit
396 - Backport Branch-4.0 release to Branch-5.0
397 - Massive backport from Branch-5.1 to Branch-5.0
398 - Fix postgresql catalog creation when version is not on the first line
399 - Fix bug #1610 handle empty xattr values on Linux and xBSD.
400 - Garbage collect memory pool at end of job and before sm_dump
401 - Add xattr seg fault protection suggested by Marco for bug #1610
402 - Add archlinux to os.m4
403 - More fixes for 32/64 bit problems in smartall
404 - Fix 32/64 bit problem in smartalloc dump routine
405 - Fix bad copy/paste in commit c88dccb88 prably a seg fault
406 - Add .dump and .exit commands for daemons
407 - Make SD automatically fix the Volume size in the Catalog when out of sync
408 - Use Pmsg in smartall.c rather than printf for tracing Windows
409 - Up maximum block size to 20M
410 - Fix for TLS bugs #1568 and #1599
411 - Improve comm line error handling for TLS, may fix bug #1568 and #1599
412 - Fix problem when sending Cancel event to plugin
413 - Convert all Jmsg on the watchdog thread to Qmsg
414 - Fix SD crash due to mismatched lock/unlock in error condition
415 - Fix bug #1587 if you have clients with different catalogs configured, both 
416   catalogs contains all clients after a reload or restart of the dir
417 - Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() 
418   by moving and commenting out the ASSERT()
419 - Skip HB kill in FD if HB thread terminated
420 - Fix crash from unequal volume_lock/unlock calls
421 - New prunning algorithm -- should be more accurate
422 - Save any dumps during regression to dumps directory
423 - Fix crash from rw_lock/unlock miss match
424 - Attempt to fix duplicate job kill seg fault
425 - Replace pthread_kill by my_thread_send_signal() in jcr.c
426 - fix #1595 about batch mode detection problem for postgresql with non standard 
427   install dir
428 - Fix #1594 about prune copy jobs
429 - Apply literal string fix in printf submitted by Luca Berra
430 - Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
431 - Fix segfault on "cancel jobid=" command
432 - Fix bug #1554 Windows installer doesn't honor /S flag
433 - Remove pool zap code that breaks 2drive-concurrent-test
434 - Fix #1571 and install libraries with 755 perms
435 - Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
436 - Fix problem with BaseJob and Accurate FileSet options on client side
437 - Fix for bug #1569 deadlock/crash in Dir
438 - Fix segfault when loading Plugins
439 - Fix #1567 about display of long volume names truncated during restore
440 - Added new bacula-libs package.
441 - Fix bug #1538 Start Scripts return incorrect value
442 - Fix bug #1564 init scripts not LSB compliant
443
444 See ChangeLog for more details.
445
446 =============================================================================
447
448
449 ============= Release 5.0.2 ========================
450
451 Changes since 5.0.1
452 -------------------
453
454 Bug fixes
455 1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560
456
457 - Probable fix for SD crash bug #1553
458 - Fix #1559 problem when restoring pruned jobs with a regexp
459 - Fix for bug #1560 bcopy cannot find Volume
460 - Fix cancel crash bug #1551
461 - Check if sql backend is thread-safe
462 - Correct Pool display in SD status. Fixes bug #1541
463 - Fix cancel crash reported by Stephen Thompson
464 - Rewind on close to fix #1549
465 - Remove closelog() in bpipe fixes bug #1536
466 - Fix #1517 about missing Base level in .level command
467 - Replace ASSERT in block.c with fail Job
468 - Fix database locking calling db_lock and returning from function without
469   calling db_unlock.
470 - Add missing db_unlock to bvfs_update_cache.
471 - Fix #1532 about permission on binaries
472 - Fix #1527 about deadlock during migration
473 - Another fix for OpenSSLv1
474 - Add -lrt to Solaris links
475 - Fix tls.c for OpenSSLv1
476 - Fix #1511 when trying to insert more than 50.000 directories in bvfs
477 - Fix plugin load not to stop if one plugin bad -- pointed out by James
478 - Remove --without-qwt from configure statement.
479 - Second correct fix to bug #1524 verify fails after adding or removing files
480 - Fix bug #1524 verify fails after adding or removing files
481 - Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
482 - Fix OpenSSL 1.x problem in crypto.c on Fedora 12
483 - Display AllowCompress warning message only if compression used in FileSet
484
485 =============================================================================
486
487
488 ============= Release 5.0.1 ========================
489
490 !!!!!!!!!!!!!!! NOTE FOR 5.0.0 USERS !!!!!!!!!!!!!!!!!!!!
491 The Allow Duplicate Jobs directive has been significantly 
492 reworked, and the default value has changed. See below.
493
494 Truncate On Purge has been totally rewritten. See the new
495 features section of the manual.
496
497 When Volume Poll Interval is set in the SD DEVICE configuration,
498 (default 5 mins), after a certain number of polling tries (approx
499 10) polling will stop and the operator will be asked to
500 resolve the problem.  Previously there was no limit, and an
501 error message could be produced at each poll attempt.
502 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
503
504 Changes since 5.0.0
505 -------------------
506 - We believe that we have resolved most of the problems
507   concerning canceled or failed jobs being "stuck" in the
508   Director.  There is one outstanding problem in the SD when
509   canceling jobs that we will fix in the next major release.
510   If you see jobs that seem to be stuck, in general issuing
511   a cancel command in bconsole should now make them go away.
512
513 Directives:
514 - The default for "Allow Duplicate Jobs" has been changed from 
515   no to yes.  If you use this directive, please check your
516   conf file, and note the next two items !!!!!!!!!!!!!!!!!!!
517 - AllowHigherDuplicates disabled. It did not work as documented   
518     and was confusing.
519 - New directive "CancelLowerLevelDuplicates" See New Features
520   section in the manual.
521 - Truncate on Purge rewritten.  See New Features section in the manual.
522
523 Bug fixes:
524 1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 
525 1499 1501 1505 1509 1513
526
527 - Ensure SD asks for help when looping even if poll set. Fixes bug #1513.
528 - Fix three-pool regress bug
529 - Modify bacula.spec fixes bug #1505
530 - This version fixes an issue where the console window would start out
531   docked. It is fixed by initiating the variables in the Pages class wi
532   constructor.
533 - Fix make_catalog_backup.pl fails when catalog db is on other host
534 - Apply MacOSX installer patch from bug #1509
535 - Apply fix to previous fix of Copy problem. Fix proposed by reporter o
536   #1476
537 - Fix bug #1501 -t does not print errors
538 - Apply SQLite3 update fix from bug #1497
539 - Apply bashism fix for diskchanger.in script from bug #1499
540 - Apply rpm fix for Sci Linux from bug #1494
541 - Take most recent Ukranian po from bug #1448
542 - Probable fix for Copy/Migration bug #1476
543 - Fix bug #1488 -- avoid recursion and race conditions in messages.c
544 - Upgrade cats library also to 5.0.0
545 - Fix missing console page in bat
546 - Add bat help files to Window install
547 - Improve Windows upgrade to ensure old FD is shutdown
548 - Fix bug #1481 -- bat consumes all console file descriptors
549 - Backport truncate on purge from 5.1.x
550 - Fix bug #1486 -- bat doesn't show any errors on command-line
551 - Update the bsock error URL
552 - Correct .my.cnf umask in make_catalog_backup.pl
553 - Apply fix for dbcheck use by make_catalog_backup.pl
554 - Fix seg fault in bscan from new comment field
555 - Allow multiple CNs when using TLS
556 - Fix seg fault in SQlite driver
557 - Make shared libs version the same as the Bacula release version
558 - Remove file_index sequential check
559 - Fix #1466 about Bogus pruning message
560
561 For Packagers:
562 1.  The default query.sql file is now, except for some comments, empty.
563 The old file, which we no longer support (it is impossible or difficult to
564 make it work on every backend, and the queries are mostly contributed) can
565 be found in <bacula-source>/examples/sample-query.sql.  The sample file is
566 not installed by the Makefiles
567
568 2.  When you install the mtx-changer script, you must also install
569 mtx-changer.conf if it does not exist.  This new file (mtx-changer.conf) is
570 required for mtx-changer to work, but it is a user configurable file, so on
571 any update, any existing file should not be overwritten.
572
573 3.  Bat should be built on every platform that is capabable of running Qt.
574 However, the Qt code is changing rather quickly and is not always
575 compatible from version to version.  We have built and verified bat on Qt
576 4.3.4.  We strongly recommend that you do not build and distribute bat with
577 any other version of Qt unless you personally test it.  To build against Qt
578 4.3.4, download the depkgs-qt package from the Bacula Source Forge download
579 location, read the README file and follow the instructions.
580
581 If you are building for Bacula version 5.0.0, please ensure that you do not
582 have qmake-qt4 loaded on your system.  If you do, either remove it or
583 rename it before trying to build bat.  If you do not, bat will probably be
584 built using the shared objects on your system.  For Bacula 5.0.1 and later,
585 this problem (bug) does not exist.
586
587 depkgs-qt does not install Qt on your system, nor does it interfere with
588 you having any other version of Qt installed on your system.  Once you
589 build bat with depkgs-qt, it should *not* use the Qt shared objects, but
590 rather they will be linked into the program.  After fully installing bat
591 (make install), you can run "ldd bat" to see what shared objects it will
592 use.  If any Qt shared objects are referenced, something has gone wrong.
593
594 4.  Unless absolutely necessary, we recommend that you do not define any
595 special library environment variables that apply to the ./configure -- for
596 example: LIBDIR=/...  ./configure <your-options> is strongly discouraged.
597 Doing so, could potentially cause Bacula to be linked against the wrong
598 shared objects.
599
600 5.  The Bacula project strongly recommends that you install Bacula into a
601 single directory, with a few minor exceptions such as the MySQL or
602 PostgreSQL databases.  Preferrably this should be /opt/bacula.  The full
603 recommendation is:
604
605 #!/bin/sh
606 # Recommended configure script for Bacula
607 prefix=/opt/bacula
608 email=xxx@yyy.zz
609 CFLAGS="-g -O2 -Wall" \
610   ./configure \
611     --sbindir=${prefix}/bin \
612     --sysconfdir=${prefix}/etc \
613     --docdir=${prefix}/html \
614     --htmldir=${prefix}/html \
615     --with-working-dir=${prefix}/working \
616     --with-pid-dir=${prefix}/working \
617     --with-subsys-dir=${prefix}/working \
618     --with-scriptdir=${prefix}/scripts \
619     --with-plugindir=${prefix}/plugins \
620     --libdir=${prefix}/lib \
621     --enable-smartalloc \
622     --enable-tray-monitor \
623     --enable-bat \
624     --with-mysql \
625     --with-dump-email=${email} \
626     --with-job-email=${email} \
627     --with-smtp-host=localhost \
628     --with-baseport=9101
629
630 Obviously, the email, and some of the minor options (mysql, postgresql,
631 ...) can be changed to suit your distribution, but the directory names
632 defined above are strongly recommended, and over time the default values in
633 the bacula-dir.conf and bacula-sd.conf will reflect these choices.
634
635 If you have any questions about this or would like a detailed document
636 describing our recommendations including packaging requirements, please
637 send an email to the bacula-devel list.
638
639 6.  Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared
640 libraries that Bacula uses by default are named xxx-1.0.0.  Starting with
641 Bacula 5.0.1, we are going to name the libraries using the Bacula version.
642 So in Bacula 5.0.1, the libraries will be named xxx-5.0.1.  With future
643 versions, the last digit may or may not change when we distribute patch
644 updates (i.e.  the last digit of the version changes).  This will depend on
645 whether or not we have changed something in the library.  Hopefully this
646 new procedure will resolve some of the incompatibility problems between
647 different versions of the shared objects.
648
649 7.  The default build option for bconsole is conio (my own little console
650 routines).  I did this because some years ago, readline was very difficult
651 to maintain -- it and where it was found seemed to change on every release.
652 This generated at the time a number of support problems.  It seems to me
653 that since then there have been very few problems with readline.  As a
654 consequence, I have no problem if you want to make bconsole with readline
655 enabled.  It will actually give some very nice new bconsole command
656 completion functionality that Eric has written.  Bottom line: feel free to
657 use readline or not as you please.
658
659 ==========================================================
660
661
662
663 Release Notes for Bacula 5.0.0
664
665 Release Numbering:
666 -----------------------------------------------------------
667 You might be wondering why this release jumps from 3.0.x to 
668 5.0.0 thus skipping version 4.0.0.  We have done this for 
669 several reasons: first, we wanted a way of distinguishing
670 the numbering system for the Bacula System Enterprise version
671 and the Bacula Project version.  So, to do so, we have decided
672 that the first number of the Bacula Project version will always
673 be odd, and the first number of the Enterprise version will always
674 be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x.
675 In addition, we want to keep the Bacula Project version larger
676 than the Enterprise version to indicate that the Bacula Project
677 version is more advanced or has more features than the 
678 Enterprise version. For memory, the current Enterprise version
679 is 2.6.1, and the next release (in a few months -- before June 2010)
680 will be version 4.0.0.
681
682 Warning:
683 --------------------------------------------------------------
684 Please note the three Warnings below before doing any install or
685 upgrade.
686        
687
688 Changes since 3.0.3a (the last Bacula Project release):
689 -------------------------------------------------------
690
691 Bug fixes:
692 1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 
693 1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 
694 1454 1455 1458 1456
695
696 Fixed:
697  - Problem that locks the Director when the SMTP server wasn't 
698    responding to the bsmtp program 
699  - Restore's dir command shows incorrect file sizes 
700  - Fix various problems with the reload command   
701  - Fix problems with conio
702  - Eliminate several deadlocks or potential race conditions from SD
703
704 Enhancements:
705  - Project 5: Truncate volume after purge
706  - Project 6: File Deduplication using Base Jobs 
707  - Project 10: Restore from Multiple Storage Daemons
708  - Project 11: AllowCompression per Device
709  - Project 23: Add Maximum Concurent Jobs for Devices to balance load 
710    between drives
711  - Add Accurate Fileset Options to configure accurate detection. Can use 
712    checksum verification for example.
713  - Allow FD to keep root read but drop write permission (CAP)
714  - Secure handling of passwords for catalog backup
715  - Add Tab-completion for Bconsole when using Readline
716  - Add Bvfs API to query the catalog without building a memory tree
717  - Add new speed test to btape program
718  - Add new Bat screens (Autochanger content, Job view, Media view, ...)
719  - Windows version of Bat
720  - Added Spanish Bacula translation   
721  - New bconsole -u nnn option to have timeout on commands
722  - Allow Migrate, Copy, and Virtual Full to read and write
723    to the same Pool
724  - show disabled   -- shows disabled Jobs
725  - Add Pool File and Job retention periods (take precedence over Client)
726  - Many ACL improvements
727  - Level added to FD status Job entry
728  - Allow turning on/off Block Checksum per device
729  - Set Device Poll interval to 5 minutes -- previously did not poll
730  - Implement lock manager with bad order protection
731
732 Compatibility:
733 As always, both the Director and Storage daemon must be upgraded at
734 the same time, and on any given machine, you must run only one version
735 of Bacula. This means that on the Director and Storage daemon machines,
736 you *must* upgrade your File daemon as well.
737
738 Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0
739 Director and Storage daemons. There should be no need to upgrade older File
740 Daemons immediately. However, we recommend that you do so as soon
741 as is reasonable for your situation.
742
743 ================== Warning !!!!!! ==========================
744
745 New Catalog format in version 5.0.0 (3.1.9 or later)
746 -----------------------------------------------------
747
748 This release of Bacula uses a new catalog format. We provide a set of
749 scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version
750 12).  The Bacula project rpms distributed on Source Forge will automatically
751 detect the database change and do the upgrade for you.  We strongly
752 recommend that you save a copy of your existing database before upgrading
753 using rpms.
754
755 The simplest way to upgrade the database assuming you are building from
756 source:
757 1. Stop any current version of Bacula from running.
758 2. Save a copy of your existing database.
759 3. Configure, build, and install the 5.0.0 version of Bacula
760    Note the new ./configure options in the manuals see the link
761    at the bottom of this file.
762 4. cd <your-scripts-installation-directory>
763 5. ./update_bacula_tables
764 6. If you have multiple catalogs, edit the update_bacula_tables
765    script and put the name of another database, and then
766    execute the script again. Repeat this until all Bacula
767    catalogs have been updated.
768 7. Start the new Bacula.  If everything worked, it should
769    not print any error messages.
770
771 If you start from scratch, you don't need to run the update_bacula_tables
772 script because the create_bacula_tables script automatically creates the new
773 table format.  However, if you are using a version of Bacula older than 3.1.9
774 (e.g.  3.0.3) then you need to run the update_bacula_tables script that will
775 be found in the <bacula>/src/cats directory after you run the ./configure
776 command.  As mentioned above, before running this script, please backup your
777 catalog database, and when you do running it, be sure shutdown Bacula and be
778 aware that running the script can take some time depending on your database
779 size.
780 ================================================================
781
782
783 ================== Warning !!!!!! ==========================
784 If you upgrade a previous Win32 client installation, you must
785 first stop the File daemon, then uninstall it before attempting
786 the upgrade. If you do not do so, the upgrade will probably
787 fail and you will need to manually find and run the 
788 Uninstall.exe file, before you can upgrade to the new version.
789 This is because the file locations are different.  If you want
790 to save your previous bacula-fd.conf file, please do so before
791 uninstalling it.
792 ================================================================
793
794 ================== Warning !!!!!! ==========================
795 Due to permissions problems on Windows Vista and later systems,
796 we no longer require SYSTEM or Administrator permissions to 
797 access the binaries and configuation files.  If you wish
798 to restrict access to these files, please see the New Features
799 section of the manual for how to set access control lists.
800 ================================================================
801
802 Note, the Win32 Installer no longer installs the Bacula Servers
803 (Director and Storage daemon). See the New Features section of
804 the manual for more details.
805
806 ============ Documentation improvements needed ==================
807
808 Note!!!!! The 5.0.0+ documentation has a number of known problems:
809
810 1. We have reduced the number of manuals, which has fixed many
811    of the broken links found in the old 3.0.x version, but there
812    are still some that need fixing.
813
814 2. Integration of the 3.0.x features into the main manuals has
815    not yet been done.
816
817 The documentation will not be completed in the near future due to lack
818 manpower.  If you are unhappy with this situation as we are, we suggest
819 you help by submitting patches to the documentation.  Thanks.
820 =====
821
822
823 This release includes large number of new features and changes.
824 It should be more or less compatible with previous xx.conf files
825 and File daemons providing that you are not using any of the new
826 features.
827
828 Please see the New Features chapter of the new manual, which documents
829 some but not all the new features (we are still working on it):
830
831 http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_1.html
832   
833 The ChangeLog has more details.