2 Release Notes for Bacula 5.2.10
4 Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)
8 The 5.2.10 version is a significant bug fix release.
10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11 Please note that with this version of Bacula, during the install
12 of the shared libraries from the src/cats, src/lib, and src/findlib
13 directories, any old Bacula libraries in the installation
14 destination directory will be removed. This should not cause
15 any problems and at least keeps the installation library cleaner.
16 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
19 For packagers, if you change options, naming, and the way
20 we link our shared object files, as at least one of you does,
21 you are creating a situation where the user may not be able
22 to run multiple versions of Bacula on the same machine, which
23 is often very useful, and in addition, you create a configuration
24 that the project cannot properly support.
25 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28 If you are upgrading from a version older than 5.2.7, please
29 read all the old ReleaseNotes of all versions released
30 after the version you are upgrading from. There area
31 many important notices sumarized here, and we do not
32 repeat them each bug fix release.
33 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
37 As always, both the Director and Storage daemon must be upgraded at
40 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.8
41 Director and Storage daemons. There should be no need to upgrade older File
44 Major changes since 5.2.9:
45 - IPv6 networking should work correctly now
46 - SQL Counter problems resolved
47 - Bat hanging after running a number of jobs
48 - dbcheck rw_writelock problem
49 - Add rudimentary support for backing up AFS
50 - Windows VSS restore bug
54 - Real fix of bug #1897 5.2.9 breaks IPv6 connectivity
55 - Fix bug #1891 wrong daemon name printed with -? option
56 - Fix bug #1859 INSERT INTO Counters fails
57 - First try at fixing bug #1897 5.2.9 breaks IPv6 connectivity
58 - Convert write_rec_to_block() to a state machine
59 - Fix bat from eating all Dir connections -- fixes bug #1872
60 - Back port fixes from BEE to fix Windows restore bug #1892
61 - Add block checksum flag to version.h
62 - Add block checksum debug code
63 - Fix bug #1893 dbcheck -B gives rwl_writelock error.
64 - Remove restriction of network buffer size being multiple of a tape block
65 - Add rudimentary support for saving AFS acls.
66 - Send level before the fileset in estimate_cmd() like in backup()
68 Bugs fixed/closed since last release:
69 1859 1872 1891 1892 1893 1897
72 ===============================================================
76 The 5.2.9 version is a bug fix release.
78 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
79 Please note that with this version of Bacula, during the install
80 of the shared libraries from the src/cats, src/lib, and src/findlib
81 directories, any old Bacula libraries in the installation
82 destination directory will be removed. This should not cause
83 any problems and at least keeps the installation library cleaner.
84 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
86 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
87 For packagers, if you change options, naming, and the way
88 we link our shared object files, as at least one of you does,
89 you are creating a situation where the user may not be able
90 to run multiple versions of Bacula on the same machine, which
91 is often very useful, and in addition, you create a configuration
92 that the project cannot properly support.
93 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
95 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
96 If you are upgrading from a version older than 5.2.7, please
97 read all the old ReleaseNotes of all versions released
98 after the version you are upgrading from. There area
99 many important notices sumarized here, and we do not
100 repeat them each bug fix release.
101 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
105 As always, both the Director and Storage daemon must be upgraded at
108 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.8
109 Director and Storage daemons. There should be no need to upgrade older File
116 - Remove bad TERM_LIB patch from version 5.2.8
117 "Apply readline without TERM_LIB dependency patch from bug #1871"
118 - Ensure cancel status is set for canceled duplicate jobs -- partial fix for
120 - Enhance Win32 error messages -- fixes bug #1879
121 - Apply patch from bug 1876 to permit dot commands in a runscript
122 - Remove config variables from examples/devices fixes bug #1884
123 - Add more debug code for bug 1885
124 - Add more debug to block.c when read rejected
125 - Fail job that attempts to read from closed device -- reported in bug 1885 but
127 - Detect Python 2.7 fixes bug #1888
128 - Apply systemd patch from bug #1886
129 - Rewrite some SD subroutines as class members
130 - New overhaul of xattr code.
131 - Use IPPROTO_TCP for SOL_TCP if SOL_TCP isn't defined.
132 - Fix compiler warning.
134 Bugs fixed/closed since last release:
135 1851 1879 1884 1886 1888
138 ====================================================================
142 Version 5.2.8 was a short lived version because it had a TERM_LIB
143 patch that broke on Solaris and other machines. That patch was
148 The 5.2.7 version is a significan bug fix release. (The
149 diff file between 5.2.6 and this one is over 25,000 lines).
151 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
152 Please note that with this version of Bacula, during the install
153 of the shared libraries from the src/cats, src/lib, and src/findlib
154 directories, any old Bacula libraries in the installation
155 destination directory will be removed. This should not cause
156 any problems and at least keeps the installation library cleaner.
157 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
159 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
160 For packagers, if you change options, naming, and the way
161 we link our shared object files, as at least one of you does,
162 you are creating a situation where the user may not be able
163 to run multiple versions of Bacula on the same machine, which
164 is often very useful, and in addition, you create a configuration
165 that the project cannot properly support.
166 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
168 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
169 If you are upgrading from a version older than 5.2.7, please
170 read all the old ReleaseNotes of all versions released
171 after the version you are upgrading from. There area
172 many important notices sumarized here, and we do not
173 repeat them each bug fix release.
174 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
178 As always, both the Director and Storage daemon must be upgraded at
181 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
182 Director and Storage daemons. There should be no need to upgrade older File
188 - Correct Qt version needed for bat
189 - Turn on SD deadlock detection by default
190 - Fix bug #1880 ltdl.m4 missing for new feature.
191 - Fix bug #1870 GNU binutils-gold build failure.
192 - Add new empty netinet/tcp.h so Windows compile works
193 - Eliminate compiler warning in stored/dircmd.c
194 - Fix TCP Heartbeat code
195 - Align conio.c struct at 8 bytes to fix Sparc bus error.
196 - Fix get_basename() -- rewrite
197 - Apply James' exchange-fd.c regression fix
198 - Add first Dutch translation
199 - Ensure that StorageId is updated after write
200 - Fix updating of cached slots + error message numbering
201 - Remove old shared objects before install
202 - Add missing dummy bVarPrefixLinks variable retrieval.
203 - Fix mysql config for older versions of mysql+config.
204 - Fix problem in BVFS with concurrent queries
205 - Add more checks to bvfs
206 - Try to use multi-row insert statements for mysql.
207 - On some platforms intptr_t is in an other include file.
208 - Add support for fcntl(fd, F_CLOSEM) to close filedescriptors.
209 - Use closefrom if available instead of trying to close fds ourself.
210 - Fix class member shadowing.
211 - Move storages tls initialization to proper place.
212 - Fix Copyright on init scripts suse, add specific daemon user & group
213 - Add support for new POSIX getaddrinfo interface.
214 - Apply MSQL detection fixes from bug #1829
215 - Fix bug #1805 cannot specify hostname in ./configure
216 - Fix restore_job restore keyword
217 - Allow plugin to backup a directory
218 - Print seconds in schedule time as noted in bug #1854
219 - Fix #1857 about restore cd command that blocks on empty directory
220 - Backport new StorageId code
221 - More definitive fix for update slots bug
222 - Fix #4062 on make_catalog_backup.pl script when user/password are empty
223 - Fix bug #1853: bacula-sd dead but pid file exists.
224 - Fix bug #1841 estimate command level=differential goes wrong in accurate
226 - Fix bug #1842 Incorrect port number reported
227 - Fix bug #1848 bsock.c:335 Socket has errors=1 on call to client
228 - Force the re-initialization of BaseJobOpts, AccurateOpts and VerifyOpts
229 between two Include{}
231 Bugs fixed/closed since last release:
232 1805 1829 1841 1842 1848 1853 1854 1857 1870 1874 1880 4062
238 The 5.2.6 version is a bug fix release.
240 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
241 If you are upgrading directly from 5.0.3 to this version, please see the
242 important notices below for version 5.2.3, particularly
243 the database upgrade and the difference in packaging the
244 SQL shared libraries.
245 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
247 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
248 If you store .bsr or .mail files in the Bacula working
249 directory, please be aware that they will all be deleted
250 each time the Director starts.
251 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
255 As always, both the Director and Storage daemon must be upgraded at
258 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
259 Director and Storage daemons. There should be no need to upgrade older File
263 - The restore tree cd command accepts wild cards within each
264 part of a path. Wild cards apply only to a single part at a
265 time: i.e. cd a*/b*/xx* will match abc/bcd/xxfxx
266 but */xx* will not match the above filename.
271 - Fix old exchange-fd plugin Accurate checkFile code.
272 - Insert the slot field as a numeric field.
273 - Fix #1831 by dropping the table before creating it
274 - Make cd accept wildcards
275 - Remove bad optimization from Accurate code
276 - Lock read acquire in SD to prevent to read jobs getting the same thing
277 - Implement more robust check in other drives for tape slot wanted
278 - Fix lost dcr point -- memory loss in Copy/Migration + possible confusion
279 - Ensure that bvfs SQL link is not shared
280 - Fix error printing in acl and xattr code.
281 - Backport better error debug output for sd plugins.
282 - Add wait on bad connection for security
283 - Make mtx-changer more fault tolerant
284 - Fix 32/64 bit problems in SD sscanf commands
285 - Skip certain filesystem types on some platforms.
286 - Allow BVFS to browse and restore Base jobs
287 - Add error message to .bvfs_clear_cache command
288 - Fix plugin bug with multiple simultaneous jobs
290 Bugs fixed/closed since last release:
293 ===============================================================
297 The 5.2.5 version is a bug fix release.
299 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
300 If you are upgrading directly from 5.0.3 to this version, please see the
301 important notices below for version 5.2.3, particularly
302 the database upgrade and the difference in packaging the
303 SQL shared libraries.
304 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
306 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
307 If you store .bsr or .mail files in the Bacula working
308 directory, please be aware that they will all be deleted
309 each time the Director starts.
310 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
314 As always, both the Director and Storage daemon must be upgraded at
317 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
318 Director and Storage daemons. There should be no need to upgrade older File
324 - Disable usage of JS_Warning waiting for a more complete implementation
325 - Removed old sd plugins which doesn't work anymore.
326 - Adapt sample-query.sql for Warning job status
327 - Fix location of Qt dlls for Win64 build
328 - Fix MediaView::getSelection
330 Bugs fixed/closed since last release:
331 1824 (1814 1806 1818 non-bugs)
333 =============================================================
336 The 5.2.4 version is a bug fix release.
338 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
339 If you are upgrading directly from 5.0.3 to this version, please see the
340 important notices below for version 5.2.3, particularly
341 the database upgrade and the difference in packaging the
342 SQL shared libraries.
343 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
345 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
346 If you store .bsr or .mail files in the Bacula working
347 directory, please be aware that they will all be deleted
348 each time the Director starts.
349 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
353 As always, both the Director and Storage daemon must be upgraded at
356 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
357 Director and Storage daemons. There should be no need to upgrade older File
360 Most important changes since 5.2.3:
361 - Fix LZO detection so that it correctly detects presense of header
363 - Switch the way we handle shared object versioning.
364 - Backport Enterprise spec files to platforms/rpms
365 - Switch to using Qt 4.7.4 (you must download new
366 depkgs-qt-24Dec11.tar.gz
367 - Update depkgs to depkgs-24Dec11.tar.gz
368 - Enhancements to File daemon and Storage daemon plugins
369 - Compiler warning cleanups
371 - Cleanup old files in the working directory when the Director starts
376 - Prepare for adding IPv6 to Windows in the future
377 - Fix bug #1822 Schedule run line parsing fails if value is keyword
378 - Revert to 5.0 size computation in accurate elements, may fix #1821
379 - Mark that a file was found in the accurate list in the ff_pkt with a
381 - Definitive fix for MySQL MaxValue problem bug #1810
382 - Initialize delta_seq to -1 because 0 means that we have already a version
383 - Adapt bfileview for bvfs tables
384 - Set job status to running when restore job really starts
385 - Remove ifdeffing that turned off JS_Warning status -- must have been missed
387 - Add support for soname setting in libtool.
389 - Fix systemd pid files.
390 - Limit migration/copy jobs to starting 100 at a time
391 - Avoid conflict with PAGE_SIZE define
392 - Send previous Job name during Incremental/Differential to the FD
393 - Fix bug #1811 Filed fails to backup more then one xattr.
394 - system.posix_acl_default is also an acl stored as xattr
396 - Add configure for new redhat spec files
397 - Backport Enterprise spec files
398 - Fix bad memset() reported by clang
399 - Test new plugin function in bpipe and test plugin
400 - Try to fix openssl problem with signal
401 - Add BSOCK::set_killable()
402 - Set directory attributes when using Replace=Never when Bacula creates them
403 - Use RestoreObject type in Catalog
404 - Add new features in plugin
405 - Add helper for ini files
406 - Implement run accurate=yes/no
407 - Add .bvfs_clear_cache
408 - Add Accurate and MaxRunSchedTime in Schedule resource
409 - Fix bug #1802 configure code to detect LZO is broken
410 - Fix bug #1806 failure to save second and more xattr.
411 - Add second xattr to show bug 1806
412 - Fix seg fault in plugin event loop
413 - Fix #3210 about slow restore with bvfs
415 Bugs fixed/closed since last release:
416 1802 1806 1807 1810 1811 1815 1821 1822 3210
419 ==============================================================
423 The 5.2.3 version is an bug fix release.
425 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
426 If you are upgrading directly from 5.0.3 to this version, please see the
427 important notices below for version 5.2.2, particularly
428 the database upgrade and the difference in packaging the
429 SQL shared libraries.
430 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
434 As always, both the Director and Storage daemon must be upgraded at
437 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
438 Director and Storage daemons. There should be no need to upgrade older File
443 - Revert patch from Ben to not compress man pages on Solaris fix #1801
444 - Fix bug #3322 don't poll when operator is labeling tapes
445 - bvfs: Fix mysql REGEXP operator
446 - Fix Mysql 5.5.18 symbol lookup
447 - fix utf8/iso8859 problems
448 - Fix #3419, update stats problem
449 - Fix cats_test to use the new method names.
450 - Update accurate code to use 1 byte instead of 3
451 - Fix segfault in accurate code
452 - Fix compilation warning on FreeBSD
454 Bugs fixed/closed since last release:
458 ================================================================
463 The 5.2.2 version is an important bug fix release. It contains also some
464 additions and performance improvements.
466 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
467 If you are upgrading directly from 5.0.3 to this version, please see the
468 important notices below for version 5.2.1, particularly
469 the database upgrade and the difference in packaging the
470 SQL shared libraries.
471 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
475 As always, both the Director and Storage daemon must be upgraded at
478 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2
479 Director and Storage daemons. There should be no need to upgrade older File
484 - Implement -t option for Bat
485 - Require correct Qt version 4.6.2 or later to build bat
486 - Get new lib/plugins.h
487 - Pull new SD plugin files from Master
488 - Fix script to set mode of cats scripts
489 - Add Systemd configure options
490 - Split messages line by line before sending it to syslog() fix #3325
491 - Fix bvfs_restore on MySQL
492 - Fix #3308 where a SMTP problem can block the director
493 - Change locking scheme of the mountpoint cache.
494 - Enhance mountcache with rescan option after interval.
495 - Add %D option to edit_job_code, simplify callbacks on director side
496 - Move Zdeflate and Zinflate to seperate file.
497 - Put libraries in the correct order for non shared libs.
498 - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@
500 - Move batch insert detection into db.m4
501 - bat: try to fix offset button problem when clicking too much on previous
502 - bvfs: Use single transaction for each job during update
503 - Add missing bwild & bregex man8 pages
504 - Fix compilation issue of wx-console #1778
505 - bvfs: fix filter for pattern= bvfs parameter
506 - Improve speed of BVFS with SQLite, Thanks to J.Starek
507 - bvfs: add clear_cache function
508 - bvfs: Handle windows drive when building path hierarchy
510 Closed Bugs Since 5.2.1
511 -----------------------
515 ================================================================
519 The 5.2.1 version is a major release since the last version 5.0.3.
520 It includes well over 299,387 lines of changes made by 20 contributors,
521 lots of bug fixes (see below), 1,851 software commits,and a
522 number of important new features:
524 Version 5.2.0 was short lived, because Marco (thanks) found
525 a number of last minute bugs. So the first official release of 5.2
530 As always, both the Director and Storage daemon must be upgraded at
533 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1
534 Director and Storage daemons. There should be no need to upgrade older File
541 - Purge Migration Job
542 - Changes in Bvfs (Bacula Virtual FileSystem)
543 - Changes in the Pruning Algorithm
544 - Ability to Verify any specified Job
545 - Additions to RunScript variables
546 - Additions to the Plugin API
549 - Class Based Database Backend Drivers
550 - Hash List Enhancements
552 Some of the above are described below; all the above are
553 described in more detail in the New Features chapter of the
556 Closed Bugs since 5.0.3:
557 ---------------------
558 1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501
559 1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549
560 1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582
561 1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624
562 1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699
563 1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710
565 Note on bug 1612 where Bacula does not save a checksum for hard links during
566 full backup, but expects one during accurate differential backups. You need
567 a Full backup with the 5.2.x code to have these checksums in the Catalog.
568 Doing Incr/Diff over a 5.0.x Full backup will still display lot of errors.
572 ================== Warning !!!!!! ==========================
574 The new pruning algorithm will not allow pruning of jobs that are essential to
575 restore since the last Full backup. This is, of course, correct and desirable,
576 but it is different from older Bacula versions that could inappropriately
577 prune jobs. Pruning of volumes is not affected.
581 To build Bat, you need Qt4 version 4.6.2. If you build with any other
582 version it is likely not to work. If you do not have version 4.6.2, on
583 your system, you can download the Bacula depkgs_qt version 16Dec10.
585 Packaging the SQL backend:
586 --------------------------
587 The main Bacula Director code is independent of the SQL backend
588 in this version. This means that the Bacula Director can be packaged
589 by itself, then each of the different SQL backends supported can
590 be packaged separately. It is possible to build all the DB backends
593 - configure can be run with multiple database configure options.
598 Order of testing for database is
603 Each configured backend generates a libbaccats-<backend_name>-<version>.so
604 A dummy catalog library is created named libbaccats-version.so
606 At configure time the first detected backend is used as the so called default
607 backend and at install time the dummy libbaccats-<version>.so is replaced with
608 the default backend type.
610 If you configure all three backends you get three backend libraries and the
611 postgresql gets installed as the default. When you want to switch the default
612 you can copy one of the three backend libraries over the
613 libbaccats-<version>.so e.g.
615 cp libbaccats-postgresql-<version>.so libbaccats-<version>.so
617 And update the default backend in the following files:
619 create_bacula_database
622 grant_bacula_privileges
627 New Catalog format in version 5.2.0 and greater
628 -----------------------------------------------
629 This release of Bacula uses a new catalog format. We provide a set of
630 scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version
631 14). The Bacula project rpm spec files have been modified to
632 detect the database change and do the upgrade for you. We strongly
633 recommend that you save a copy of your existing database before upgrading
636 The simplest way to upgrade the database assuming you are building from
637 source (i.e. manually):
638 1. Stop any current version of Bacula from running.
639 2. Save a copy of your existing database.
640 3. Configure, build, and install the 5.2.1 version of Bacula
641 Note the new ./configure options in the manuals see the link
642 at the bottom of this file.
643 4. cd <your-scripts-installation-directory>
644 5. ./update_bacula_tables
645 6. If you have multiple catalogs, edit the update_bacula_tables
646 script and put the name of another database, and then
647 execute the script again. Repeat this until all Bacula
648 catalogs have been updated.
649 7. Start the new Bacula. If everything worked, it should
650 not print any error messages.
652 If you start from scratch, you don't need to run the update_bacula_tables
653 script because the create_bacula_tables script automatically creates the new
654 table format. However, if you are using a version of Bacula older than 5.0.0
655 (e.g. 3.0.3) then you need to run the update_bacula_tables script that will
656 be found in the <bacula>/src/cats directory after you run the ./configure
657 command. As mentioned above, before running this script, please backup your
658 catalog database, and when you do running it, be sure shutdown Bacula and be
659 aware that running the script can take some time depending on your database
662 ================================================================
666 Speed and Memory Usage Enhancements:
667 - Implement LZO compression algorithm (need lzo2 headers to activate this option)
668 - New Pruning algoritm -- safer and faster
669 - Use of PostgreSQL cursor when doing large queries, should reduce the
670 memory usage during restore and accurate backups.
671 - limit command in some list commands
672 - Bacula Virtual File System for fast catalog access
673 - Faster crc32 algorithm
675 Security Enhancements:
676 - Additional security against injection of illegal characters
677 - Fix possible fnmatch problem
679 Features Enhancements:
680 - Improvements in ACL and xattr handling on additional platforms:
681 AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64
682 - Tray monitor for Windows
683 - New SQL backend and ./configure that permits building multiple catalog
684 backends in one build, and has the main Bacula core code totally independent
685 of the SQL backend, which should simplify packaging (only the
686 libbacsql.so/dll needs to be changed to switch from one database backend
687 to another (e.g. MySQL to PostgreSQL).
688 - Indent lsmark during restore
689 - Disable batch insert config item
690 - Director selection option in bconsole
691 - restorejob command in bconsole
692 - Many additional features for bat such as "brestore" panel
693 - The old bat version browser has been turned off since it does not
694 work correctly and the brestore panel provides the same functionality
695 - Improved hash table for hard links
696 - Additional script variable editing such as %b (JobBytes), %F (JobFiles)
697 and %h (Client Address)
700 - Includes better handling for Windows repares points, mount points, and
702 - New database format
703 - Many new plugin API features
704 - Improved memory handling for restores
705 - Significant stability enhancements to bat
706 - xattr/ACL restore failure are now printed as Warning
707 - A few path name length limits in Windows have been removed.
710 ===========================================================================
712 The 5.0.3 version is significant bug fix update to version 5.0.2.
713 It includes new code and some new features.
714 There is no database change since prior versions of 5.0.
716 Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in
717 the 5.0.1 release section.
722 As always, both the Director and Storage daemon must be upgraded at
725 Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3
726 Director and Storage daemons. There should be no need to upgrade older File
729 Changes and New Features:
730 - If a VSS (Windows) snapshot fails, the whole Job is failed, previously
731 it printed a warning message and continued.
732 - New editing codes %b = Job Bytes and %f = Job Files for runscripts
733 - Any non-Bacula project plugins (i.e. third party plugins)
734 must be upgraded to specify AGPLv3 in place of the GPLv2 used previously
735 for the PLUGIN_LICENSE.
736 - The bat Media page text columns can be sorted by clicking on the column.
737 - If possible, the SD will automatically update the catalog Volume size if
738 it does not match the Volume size. The mismatch between the Volume sizes
739 typically occurs when the FD has a comm line drop or the FD crashes.
743 1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610
745 - Change license from GPLv2 to AGPLv3
746 - Make Win32 no filesystem change more explicit
747 - Backport Branch-4.0 release to Branch-5.0
748 - Massive backport from Branch-5.1 to Branch-5.0
749 - Fix postgresql catalog creation when version is not on the first line
750 - Fix bug #1610 handle empty xattr values on Linux and xBSD.
751 - Garbage collect memory pool at end of job and before sm_dump
752 - Add xattr seg fault protection suggested by Marco for bug #1610
753 - Add archlinux to os.m4
754 - More fixes for 32/64 bit problems in smartall
755 - Fix 32/64 bit problem in smartalloc dump routine
756 - Fix bad copy/paste in commit c88dccb88 prably a seg fault
757 - Add .dump and .exit commands for daemons
758 - Make SD automatically fix the Volume size in the Catalog when out of sync
759 - Use Pmsg in smartall.c rather than printf for tracing Windows
760 - Up maximum block size to 20M
761 - Fix for TLS bugs #1568 and #1599
762 - Improve comm line error handling for TLS, may fix bug #1568 and #1599
763 - Fix problem when sending Cancel event to plugin
764 - Convert all Jmsg on the watchdog thread to Qmsg
765 - Fix SD crash due to mismatched lock/unlock in error condition
766 - Fix bug #1587 if you have clients with different catalogs configured, both
767 catalogs contains all clients after a reload or restart of the dir
768 - Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open()
769 by moving and commenting out the ASSERT()
770 - Skip HB kill in FD if HB thread terminated
771 - Fix crash from unequal volume_lock/unlock calls
772 - New prunning algorithm -- should be more accurate
773 - Save any dumps during regression to dumps directory
774 - Fix crash from rw_lock/unlock miss match
775 - Attempt to fix duplicate job kill seg fault
776 - Replace pthread_kill by my_thread_send_signal() in jcr.c
777 - fix #1595 about batch mode detection problem for postgresql with non standard
779 - Fix #1594 about prune copy jobs
780 - Apply literal string fix in printf submitted by Luca Berra
781 - Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
782 - Fix segfault on "cancel jobid=" command
783 - Fix bug #1554 Windows installer doesn't honor /S flag
784 - Remove pool zap code that breaks 2drive-concurrent-test
785 - Fix #1571 and install libraries with 755 perms
786 - Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
787 - Fix problem with BaseJob and Accurate FileSet options on client side
788 - Fix for bug #1569 deadlock/crash in Dir
789 - Fix segfault when loading Plugins
790 - Fix #1567 about display of long volume names truncated during restore
791 - Added new bacula-libs package.
792 - Fix bug #1538 Start Scripts return incorrect value
793 - Fix bug #1564 init scripts not LSB compliant
795 See ChangeLog for more details.
797 =============================================================================
800 ============= Release 5.0.2 ========================
806 1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560
808 - Probable fix for SD crash bug #1553
809 - Fix #1559 problem when restoring pruned jobs with a regexp
810 - Fix for bug #1560 bcopy cannot find Volume
811 - Fix cancel crash bug #1551
812 - Check if sql backend is thread-safe
813 - Correct Pool display in SD status. Fixes bug #1541
814 - Fix cancel crash reported by Stephen Thompson
815 - Rewind on close to fix #1549
816 - Remove closelog() in bpipe fixes bug #1536
817 - Fix #1517 about missing Base level in .level command
818 - Replace ASSERT in block.c with fail Job
819 - Fix database locking calling db_lock and returning from function without
821 - Add missing db_unlock to bvfs_update_cache.
822 - Fix #1532 about permission on binaries
823 - Fix #1527 about deadlock during migration
824 - Another fix for OpenSSLv1
825 - Add -lrt to Solaris links
826 - Fix tls.c for OpenSSLv1
827 - Fix #1511 when trying to insert more than 50.000 directories in bvfs
828 - Fix plugin load not to stop if one plugin bad -- pointed out by James
829 - Remove --without-qwt from configure statement.
830 - Second correct fix to bug #1524 verify fails after adding or removing files
831 - Fix bug #1524 verify fails after adding or removing files
832 - Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
833 - Fix OpenSSL 1.x problem in crypto.c on Fedora 12
834 - Display AllowCompress warning message only if compression used in FileSet
836 =============================================================================
839 ============= Release 5.0.1 ========================
841 !!!!!!!!!!!!!!! NOTE FOR 5.0.0 USERS !!!!!!!!!!!!!!!!!!!!
842 The Allow Duplicate Jobs directive has been significantly
843 reworked, and the default value has changed. See below.
845 Truncate On Purge has been totally rewritten. See the new
846 features section of the manual.
848 When Volume Poll Interval is set in the SD DEVICE configuration,
849 (default 5 mins), after a certain number of polling tries (approx
850 10) polling will stop and the operator will be asked to
851 resolve the problem. Previously there was no limit, and an
852 error message could be produced at each poll attempt.
853 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
857 - We believe that we have resolved most of the problems
858 concerning canceled or failed jobs being "stuck" in the
859 Director. There is one outstanding problem in the SD when
860 canceling jobs that we will fix in the next major release.
861 If you see jobs that seem to be stuck, in general issuing
862 a cancel command in bconsole should now make them go away.
865 - The default for "Allow Duplicate Jobs" has been changed from
866 no to yes. If you use this directive, please check your
867 conf file, and note the next two items !!!!!!!!!!!!!!!!!!!
868 - AllowHigherDuplicates disabled. It did not work as documented
870 - New directive "CancelLowerLevelDuplicates" See New Features
871 section in the manual.
872 - Truncate on Purge rewritten. See New Features section in the manual.
875 1448 1466 1467 1468 1476 1481 1486 1488 1494 1497
876 1499 1501 1505 1509 1513
878 - Ensure SD asks for help when looping even if poll set. Fixes bug #1513.
879 - Fix three-pool regress bug
880 - Modify bacula.spec fixes bug #1505
881 - This version fixes an issue where the console window would start out
882 docked. It is fixed by initiating the variables in the Pages class wi
884 - Fix make_catalog_backup.pl fails when catalog db is on other host
885 - Apply MacOSX installer patch from bug #1509
886 - Apply fix to previous fix of Copy problem. Fix proposed by reporter o
888 - Fix bug #1501 -t does not print errors
889 - Apply SQLite3 update fix from bug #1497
890 - Apply bashism fix for diskchanger.in script from bug #1499
891 - Apply rpm fix for Sci Linux from bug #1494
892 - Take most recent Ukranian po from bug #1448
893 - Probable fix for Copy/Migration bug #1476
894 - Fix bug #1488 -- avoid recursion and race conditions in messages.c
895 - Upgrade cats library also to 5.0.0
896 - Fix missing console page in bat
897 - Add bat help files to Window install
898 - Improve Windows upgrade to ensure old FD is shutdown
899 - Fix bug #1481 -- bat consumes all console file descriptors
900 - Backport truncate on purge from 5.1.x
901 - Fix bug #1486 -- bat doesn't show any errors on command-line
902 - Update the bsock error URL
903 - Correct .my.cnf umask in make_catalog_backup.pl
904 - Apply fix for dbcheck use by make_catalog_backup.pl
905 - Fix seg fault in bscan from new comment field
906 - Allow multiple CNs when using TLS
907 - Fix seg fault in SQlite driver
908 - Make shared libs version the same as the Bacula release version
909 - Remove file_index sequential check
910 - Fix #1466 about Bogus pruning message
913 1. The default query.sql file is now, except for some comments, empty.
914 The old file, which we no longer support (it is impossible or difficult to
915 make it work on every backend, and the queries are mostly contributed) can
916 be found in <bacula-source>/examples/sample-query.sql. The sample file is
917 not installed by the Makefiles
919 2. When you install the mtx-changer script, you must also install
920 mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is
921 required for mtx-changer to work, but it is a user configurable file, so on
922 any update, any existing file should not be overwritten.
924 3. Bat should be built on every platform that is capabable of running Qt.
925 However, the Qt code is changing rather quickly and is not always
926 compatible from version to version. We have built and verified bat on Qt
927 4.3.4. We strongly recommend that you do not build and distribute bat with
928 any other version of Qt unless you personally test it. To build against Qt
929 4.3.4, download the depkgs-qt package from the Bacula Source Forge download
930 location, read the README file and follow the instructions.
932 If you are building for Bacula version 5.0.0, please ensure that you do not
933 have qmake-qt4 loaded on your system. If you do, either remove it or
934 rename it before trying to build bat. If you do not, bat will probably be
935 built using the shared objects on your system. For Bacula 5.0.1 and later,
936 this problem (bug) does not exist.
938 depkgs-qt does not install Qt on your system, nor does it interfere with
939 you having any other version of Qt installed on your system. Once you
940 build bat with depkgs-qt, it should *not* use the Qt shared objects, but
941 rather they will be linked into the program. After fully installing bat
942 (make install), you can run "ldd bat" to see what shared objects it will
943 use. If any Qt shared objects are referenced, something has gone wrong.
945 4. Unless absolutely necessary, we recommend that you do not define any
946 special library environment variables that apply to the ./configure -- for
947 example: LIBDIR=/... ./configure <your-options> is strongly discouraged.
948 Doing so, could potentially cause Bacula to be linked against the wrong
951 5. The Bacula project strongly recommends that you install Bacula into a
952 single directory, with a few minor exceptions such as the MySQL or
953 PostgreSQL databases. Preferrably this should be /opt/bacula. The full
957 # Recommended configure script for Bacula
960 CFLAGS="-g -O2 -Wall" \
962 --sbindir=${prefix}/bin \
963 --sysconfdir=${prefix}/etc \
964 --docdir=${prefix}/html \
965 --htmldir=${prefix}/html \
966 --with-working-dir=${prefix}/working \
967 --with-pid-dir=${prefix}/working \
968 --with-subsys-dir=${prefix}/working \
969 --with-scriptdir=${prefix}/scripts \
970 --with-plugindir=${prefix}/plugins \
971 --libdir=${prefix}/lib \
972 --enable-smartalloc \
973 --enable-tray-monitor \
976 --with-dump-email=${email} \
977 --with-job-email=${email} \
978 --with-smtp-host=localhost \
981 Obviously, the email, and some of the minor options (mysql, postgresql,
982 ...) can be changed to suit your distribution, but the directory names
983 defined above are strongly recommended, and over time the default values in
984 the bacula-dir.conf and bacula-sd.conf will reflect these choices.
986 If you have any questions about this or would like a detailed document
987 describing our recommendations including packaging requirements, please
988 send an email to the bacula-devel list.
990 6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared
991 libraries that Bacula uses by default are named xxx-1.0.0. Starting with
992 Bacula 5.0.1, we are going to name the libraries using the Bacula version.
993 So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future
994 versions, the last digit may or may not change when we distribute patch
995 updates (i.e. the last digit of the version changes). This will depend on
996 whether or not we have changed something in the library. Hopefully this
997 new procedure will resolve some of the incompatibility problems between
998 different versions of the shared objects.
1000 7. The default build option for bconsole is conio (my own little console
1001 routines). I did this because some years ago, readline was very difficult
1002 to maintain -- it and where it was found seemed to change on every release.
1003 This generated at the time a number of support problems. It seems to me
1004 that since then there have been very few problems with readline. As a
1005 consequence, I have no problem if you want to make bconsole with readline
1006 enabled. It will actually give some very nice new bconsole command
1007 completion functionality that Eric has written. Bottom line: feel free to
1008 use readline or not as you please.
1010 ==========================================================
1014 Release Notes for Bacula 5.0.0
1017 -----------------------------------------------------------
1018 You might be wondering why this release jumps from 3.0.x to
1019 5.0.0 thus skipping version 4.0.0. We have done this for
1020 several reasons: first, we wanted a way of distinguishing
1021 the numbering system for the Bacula System Enterprise version
1022 and the Bacula Project version. So, to do so, we have decided
1023 that the first number of the Bacula Project version will always
1024 be odd, and the first number of the Enterprise version will always
1025 be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x.
1026 In addition, we want to keep the Bacula Project version larger
1027 than the Enterprise version to indicate that the Bacula Project
1028 version is more advanced or has more features than the
1029 Enterprise version. For memory, the current Enterprise version
1030 is 2.6.1, and the next release (in a few months -- before June 2010)
1031 will be version 4.0.0.
1034 --------------------------------------------------------------
1035 Please note the three Warnings below before doing any install or
1039 Changes since 3.0.3a (the last Bacula Project release):
1040 -------------------------------------------------------
1043 1337 1351 1352 1354 1357 1361 1367 1369 1370 1373
1044 1376 1391 1403 1409 1420 1422 1427 1428 1431 1450
1048 - Problem that locks the Director when the SMTP server wasn't
1049 responding to the bsmtp program
1050 - Restore's dir command shows incorrect file sizes
1051 - Fix various problems with the reload command
1052 - Fix problems with conio
1053 - Eliminate several deadlocks or potential race conditions from SD
1056 - Project 5: Truncate volume after purge
1057 - Project 6: File Deduplication using Base Jobs
1058 - Project 10: Restore from Multiple Storage Daemons
1059 - Project 11: AllowCompression per Device
1060 - Project 23: Add Maximum Concurent Jobs for Devices to balance load
1062 - Add Accurate Fileset Options to configure accurate detection. Can use
1063 checksum verification for example.
1064 - Allow FD to keep root read but drop write permission (CAP)
1065 - Secure handling of passwords for catalog backup
1066 - Add Tab-completion for Bconsole when using Readline
1067 - Add Bvfs API to query the catalog without building a memory tree
1068 - Add new speed test to btape program
1069 - Add new Bat screens (Autochanger content, Job view, Media view, ...)
1070 - Windows version of Bat
1071 - Added Spanish Bacula translation
1072 - New bconsole -u nnn option to have timeout on commands
1073 - Allow Migrate, Copy, and Virtual Full to read and write
1075 - show disabled -- shows disabled Jobs
1076 - Add Pool File and Job retention periods (take precedence over Client)
1077 - Many ACL improvements
1078 - Level added to FD status Job entry
1079 - Allow turning on/off Block Checksum per device
1080 - Set Device Poll interval to 5 minutes -- previously did not poll
1081 - Implement lock manager with bad order protection
1084 As always, both the Director and Storage daemon must be upgraded at
1085 the same time, and on any given machine, you must run only one version
1086 of Bacula. This means that on the Director and Storage daemon machines,
1087 you *must* upgrade your File daemon as well.
1089 Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0
1090 Director and Storage daemons. There should be no need to upgrade older File
1091 Daemons immediately. However, we recommend that you do so as soon
1092 as is reasonable for your situation.
1094 ================== Warning !!!!!! ==========================
1096 New Catalog format in version 5.0.0 (3.1.9 or later)
1097 -----------------------------------------------------
1099 This release of Bacula uses a new catalog format. We provide a set of
1100 scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version
1101 12). The Bacula project rpms distributed on Source Forge will automatically
1102 detect the database change and do the upgrade for you. We strongly
1103 recommend that you save a copy of your existing database before upgrading
1106 The simplest way to upgrade the database assuming you are building from
1108 1. Stop any current version of Bacula from running.
1109 2. Save a copy of your existing database.
1110 3. Configure, build, and install the 5.0.0 version of Bacula
1111 Note the new ./configure options in the manuals see the link
1112 at the bottom of this file.
1113 4. cd <your-scripts-installation-directory>
1114 5. ./update_bacula_tables
1115 6. If you have multiple catalogs, edit the update_bacula_tables
1116 script and put the name of another database, and then
1117 execute the script again. Repeat this until all Bacula
1118 catalogs have been updated.
1119 7. Start the new Bacula. If everything worked, it should
1120 not print any error messages.
1122 If you start from scratch, you don't need to run the update_bacula_tables
1123 script because the create_bacula_tables script automatically creates the new
1124 table format. However, if you are using a version of Bacula older than 3.1.9
1125 (e.g. 3.0.3) then you need to run the update_bacula_tables script that will
1126 be found in the <bacula>/src/cats directory after you run the ./configure
1127 command. As mentioned above, before running this script, please backup your
1128 catalog database, and when you do running it, be sure shutdown Bacula and be
1129 aware that running the script can take some time depending on your database
1131 ================================================================
1134 ================== Warning !!!!!! ==========================
1135 If you upgrade a previous Win32 client installation, you must
1136 first stop the File daemon, then uninstall it before attempting
1137 the upgrade. If you do not do so, the upgrade will probably
1138 fail and you will need to manually find and run the
1139 Uninstall.exe file, before you can upgrade to the new version.
1140 This is because the file locations are different. If you want
1141 to save your previous bacula-fd.conf file, please do so before
1143 ================================================================
1145 ================== Warning !!!!!! ==========================
1146 Due to permissions problems on Windows Vista and later systems,
1147 we no longer require SYSTEM or Administrator permissions to
1148 access the binaries and configuation files. If you wish
1149 to restrict access to these files, please see the New Features
1150 section of the manual for how to set access control lists.
1151 ================================================================
1153 Note, the Win32 Installer no longer installs the Bacula Servers
1154 (Director and Storage daemon). See the New Features section of
1155 the manual for more details.
1157 ============ Documentation improvements needed ==================
1159 Note!!!!! The 5.0.0+ documentation has a number of known problems:
1161 1. We have reduced the number of manuals, which has fixed many
1162 of the broken links found in the old 3.0.x version, but there
1163 are still some that need fixing.
1165 2. Integration of the 3.0.x features into the main manuals has
1168 The documentation will not be completed in the near future due to lack
1169 manpower. If you are unhappy with this situation as we are, we suggest
1170 you help by submitting patches to the documentation. Thanks.
1174 This release includes large number of new features and changes.
1175 It should be more or less compatible with previous xx.conf files
1176 and File daemons providing that you are not using any of the new
1179 Please see the New Features chapter of the new manual, which documents
1180 some but not all the new features (we are still working on it):
1182 http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_1.html
1184 The ChangeLog has more details.