You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(28) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(200) |
Feb
(258) |
Mar
(236) |
Apr
(345) |
May
(329) |
Jun
(162) |
Jul
(260) |
Aug
(265) |
Sep
(112) |
Oct
(280) |
Nov
(362) |
Dec
(297) |
| 2006 |
Jan
(201) |
Feb
(147) |
Mar
(136) |
Apr
(268) |
May
(103) |
Jun
(340) |
Jul
(399) |
Aug
(381) |
Sep
(367) |
Oct
(166) |
Nov
(287) |
Dec
(405) |
| 2007 |
Jan
(366) |
Feb
(245) |
Mar
(192) |
Apr
(194) |
May
(291) |
Jun
(172) |
Jul
(158) |
Aug
(153) |
Sep
(273) |
Oct
(121) |
Nov
(183) |
Dec
(164) |
| 2008 |
Jan
(183) |
Feb
(170) |
Mar
(186) |
Apr
(152) |
May
(216) |
Jun
(190) |
Jul
(190) |
Aug
(79) |
Sep
(133) |
Oct
(282) |
Nov
(142) |
Dec
(170) |
| 2009 |
Jan
(147) |
Feb
(79) |
Mar
(172) |
Apr
(102) |
May
(101) |
Jun
(49) |
Jul
(200) |
Aug
(127) |
Sep
(150) |
Oct
(181) |
Nov
(73) |
Dec
(143) |
| 2010 |
Jan
(118) |
Feb
(287) |
Mar
(138) |
Apr
(201) |
May
(32) |
Jun
(15) |
Jul
(18) |
Aug
(43) |
Sep
(9) |
Oct
(2) |
Nov
(16) |
Dec
(7) |
| 2011 |
Jan
(7) |
Feb
(23) |
Mar
(13) |
Apr
(9) |
May
(3) |
Jun
(4) |
Jul
(7) |
Aug
(16) |
Sep
(9) |
Oct
(61) |
Nov
(52) |
Dec
(29) |
| 2012 |
Jan
(38) |
Feb
(12) |
Mar
(7) |
Apr
(10) |
May
(14) |
Jun
(46) |
Jul
(1) |
Aug
(10) |
Sep
(23) |
Oct
(4) |
Nov
(4) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(19) |
Mar
|
Apr
(1) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
(24) |
Apr
(18) |
May
(7) |
Jun
(7) |
Jul
(7) |
Aug
(6) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(4) |
Jun
(1) |
Jul
|
Aug
(9) |
Sep
(5) |
Oct
(5) |
Nov
(2) |
Dec
(9) |
| 2016 |
Jan
(23) |
Feb
(5) |
Mar
|
Apr
|
May
(9) |
Jun
(6) |
Jul
(15) |
Aug
|
Sep
|
Oct
(9) |
Nov
(3) |
Dec
(2) |
| 2017 |
Jan
|
Feb
(9) |
Mar
(14) |
Apr
|
May
(17) |
Jun
(31) |
Jul
(30) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <gi...@ba...> - 2017-07-24 04:52:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The tag, Release-9.0.2 has been created
at 5b67c19d025513f022f076f9456e15535d4f81c7 (commit)
- Log -----------------------------------------------------------------
commit 5b67c19d025513f022f076f9456e15535d4f81c7
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 18:31:57 2017 +0200
Tweak update version date + ChangeLog + ReleaseNotes
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-24 04:52:21
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community Manual".
The tag, Release-9.0.2 has been created
at ce78ca3727fecba772f5cd4138947906fcca7f12 (commit)
- Log -----------------------------------------------------------------
commit ce78ca3727fecba772f5cd4138947906fcca7f12
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 2 12:51:01 2017 +0200
Update version
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community Manual
|
|
From: <gi...@ba...> - 2017-07-23 16:33:06
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 5b67c19d025513f022f076f9456e15535d4f81c7 (commit)
via f706ca07ede38bdcb22cb5fe2d8d3c87abe5970a (commit)
from ec806c17d43d3b118ffe6c431313b96f7c5442bb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5b67c19d025513f022f076f9456e15535d4f81c7
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 18:31:57 2017 +0200
Tweak update version date + ChangeLog + ReleaseNotes
commit f706ca07ede38bdcb22cb5fe2d8d3c87abe5970a
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 18:30:59 2017 +0200
Tweak update po files
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/ChangeLog b/bacula/ChangeLog
index b09b48e..75cf0ed 100644
--- a/bacula/ChangeLog
+++ b/bacula/ChangeLog
@@ -1,4 +1,31 @@
- Changelog on version 9.0.1
+ Changelog on version 9.0.2
+
+Release 9.0.2
+
+23Jul17
+ - Use Bacula in place of Libz variables so we can build with/without libz and
+ lzo
+ - Apply ideas from bug #2255 prettier status slots output
+ - Configure and install bacula-tray-monitor.desktop
+
+22Jul17
+ - Fix btape test which counted files incorrectly on EOT
+
+21Jul17
+ - Fix bug #2296 where Bacula would not compile with postgres 8 or older
+
+20Jul17
+ - Fix bug #2294 Bacula does not build with MariaDB 10.2
+
+14Jul17
+ - baculum: Fix multiple directors support
+ - baculum: Fix showing errors from the API
+
+Bugs fixed/closed since last release:
+2255 2294 2296
+
+
+Release 9.0.1
10Jul17
- Remove two incorrect trailing commas in bsock.h
@@ -14,6 +41,7 @@
Bugs fixed/closed since last release:
2293
+Release 9.0.0
02Jul17
- Skip verify-data-test if not running Linux
diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes
index 2fffb1b..669f098 100644
--- a/bacula/ReleaseNotes
+++ b/bacula/ReleaseNotes
@@ -1,5 +1,42 @@
- Release Notes for Bacula 9.0.1
+ Release Notes for Bacula 9.0.2
+
+This is a minor bug fix release, but a few of the bugs are important.
+The main items fixed are:
+
+- Postgresql should now work with Postgresql prior to 9.0
+ Note: the ssl connection feature added in 9.0 is not available on
+ postgresql servers older than 9.0 (it needs the new connection API).
+- The issues with MariaDB (reconnect variable) are now fixed
+- The problem of the btape "test" command finding a wrong number
+ of files in the append test was a bug. It is now fixed. It is
+ unlikely that it affected anything but btape.
+- The bacula-tray-monitor.deskop script is released in the scripts
+ directory.
+- We recommend that you build with libz and lzo library support (the
+ developer packages must be installed when building, and the shared
+ object libraries must be installed at run time). However we have
+ modified the code so that Bacula *should* build and run with either
+ or both libz or lzo absent.
+
+23Jul17
+ - Use Bacula in place of Libz variables so we can build with/without
+ libz and lzo
+ - Apply ideas from bug #2255 prettier status slots output
+ - Configure and install bacula-tray-monitor.desktop
+ - Fix btape test which counted files incorrectly on EOT
+ - Fix bug #2296 where Bacula would not compile with postgres 8 or older
+ - Fix bug #2294 Bacula does not build with MariaDB 10.2
+ - baculum: Fix multiple directors support
+ - baculum: Fix showing errors from the API
+
+Bugs fixed/closed since last release:
+2255 2294 2296
+
+
+==================================================================
+
+Release 9.0.1 12Jul17:
This is a minor bug fix release that mainly to include the new
tray-monitor files that were omitted. The tray-monitor now builds
diff --git a/bacula/po/bacula.pot b/bacula/po/bacula.pot
index c8e7619..7b73b47 100644
--- a/bacula/po/bacula.pot
+++ b/bacula/po/bacula.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bac...@li...\n"
-"POT-Creation-Date: 2017-06-30 08:32+0200\n"
+"POT-Creation-Date: 2017-07-23 18:30+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL...@li...>\n"
@@ -39,8 +39,8 @@ msgstr ""
msgid "*None*"
msgstr ""
-#: src/cats/cats.c:137 src/cats/mysql.c:487 src/cats/postgresql.c:583
-#: src/cats/postgresql.c:634 src/cats/sqlite.c:488
+#: src/cats/cats.c:137 src/cats/mysql.c:488 src/cats/postgresql.c:606
+#: src/cats/postgresql.c:657 src/cats/sqlite.c:488
#, c-format
msgid "Query failed: %s: ERR=%s\n"
msgstr ""
@@ -53,12 +53,12 @@ msgstr ""
msgid "A user name for MySQL must be supplied.\n"
msgstr ""
-#: src/cats/mysql.c:210 src/cats/postgresql.c:247 src/cats/sqlite.c:184
+#: src/cats/mysql.c:211 src/cats/postgresql.c:256 src/cats/sqlite.c:184
#, c-format
msgid "Unable to initialize DB lock. ERR=%s\n"
msgstr ""
-#: src/cats/mysql.c:267
+#: src/cats/mysql.c:268
#, c-format
msgid ""
"Unable to connect to MySQL server.\n"
@@ -67,17 +67,17 @@ msgid ""
"incorrect.\n"
msgstr ""
-#: src/cats/mysql.c:463 src/cats/postgresql.c:529 src/cats/sqlite.c:411
+#: src/cats/mysql.c:464 src/cats/postgresql.c:552 src/cats/sqlite.c:411
#: src/dird/fd_cmds.c:960 src/dird/fd_cmds.c:1021
#, c-format
msgid "Attribute create error. %s"
msgstr ""
-#: src/cats/postgresql.c:110
+#: src/cats/postgresql.c:119
msgid "A user name for PostgreSQL must be supplied.\n"
msgstr ""
-#: src/cats/postgresql.c:205 src/cats/sql.c:531 src/cats/sql.c:538
+#: src/cats/postgresql.c:214 src/cats/sql.c:531 src/cats/sql.c:538
#: src/cats/sql_create.c:559 src/cats/sql_get.c:191 src/cats/sql_get.c:242
#: src/cats/sql_get.c:613 src/cats/sql_get.c:824 src/cats/sql_get.c:1152
#: src/cats/sql_get.c:1543 src/cats/sql_get.c:1695
@@ -85,12 +85,12 @@ msgstr ""
msgid "error fetching row: %s\n"
msgstr ""
-#: src/cats/postgresql.c:217
+#: src/cats/postgresql.c:226
#, c-format
msgid "Encoding error for database \"%s\". Wanted SQL_ASCII, got %s\n"
msgstr ""
-#: src/cats/postgresql.c:307
+#: src/cats/postgresql.c:330
#, c-format
msgid ""
"Unable to connect to PostgreSQL server. Database=%s User=%s\n"
@@ -98,39 +98,39 @@ msgid ""
"exceeded.\n"
msgstr ""
-#: src/cats/postgresql.c:423
+#: src/cats/postgresql.c:446
msgid "PQescapeStringConn returned non-zero.\n"
msgstr ""
-#: src/cats/postgresql.c:443
+#: src/cats/postgresql.c:466
msgid "PQescapeByteaConn returned NULL.\n"
msgstr ""
-#: src/cats/postgresql.c:472
+#: src/cats/postgresql.c:495
msgid "PQunescapeByteaConn returned NULL.\n"
msgstr ""
-#: src/cats/postgresql.c:590
+#: src/cats/postgresql.c:613
#, c-format
msgid "Fetch failed: ERR=%s\n"
msgstr ""
-#: src/cats/postgresql.c:883
+#: src/cats/postgresql.c:906
#, c-format
msgid "error fetching currval: %s\n"
msgstr ""
-#: src/cats/postgresql.c:1064
+#: src/cats/postgresql.c:1087
#, c-format
msgid "error starting batch mode: %s"
msgstr ""
-#: src/cats/postgresql.c:1094 src/cats/postgresql.c:1101
+#: src/cats/postgresql.c:1117 src/cats/postgresql.c:1124
#, c-format
msgid "error ending batch mode: %s"
msgstr ""
-#: src/cats/postgresql.c:1151
+#: src/cats/postgresql.c:1174
#, c-format
msgid "error copying in batch mode: %s"
msgstr ""
@@ -718,7 +718,7 @@ msgstr ""
#: src/console/bbconsjson.c:432 src/console/bbconsjson.c:463
#: src/console/console.c:1422 src/console/console.c:1452
-#: src/dird/bdirjson.c:1184 src/dird/bdirjson.c:1222 src/dird/bdirjson.c:1277
+#: src/dird/bdirjson.c:1185 src/dird/bdirjson.c:1223 src/dird/bdirjson.c:1278
#: src/dird/dird.c:778 src/dird/dird.c:996 src/dird/dird.c:1051
#: src/dird/dird.c:1254 src/filed/bfdjson.c:484 src/filed/bfdjson.c:527
#: src/filed/bfdjson.c:562 src/filed/filed.c:390 src/filed/filed.c:590
@@ -1317,37 +1317,37 @@ msgid ""
"\n"
msgstr ""
-#: src/dird/bdirjson.c:1162 src/dird/dird.c:756
+#: src/dird/bdirjson.c:1163 src/dird/dird.c:756
#, c-format
msgid ""
"No Director resource defined in %s\n"
"Without that I don't know who I am :-(\n"
msgstr ""
-#: src/dird/bdirjson.c:1170 src/dird/dird.c:764 src/filed/bfdjson.c:477
+#: src/dird/bdirjson.c:1171 src/dird/dird.c:764 src/filed/bfdjson.c:477
#: src/filed/filed.c:352
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr ""
-#: src/dird/bdirjson.c:1175 src/dird/dird.c:769
+#: src/dird/bdirjson.c:1176 src/dird/dird.c:769
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr ""
-#: src/dird/bdirjson.c:1192 src/dird/dird.c:786 src/filed/bfdjson.c:537
+#: src/dird/bdirjson.c:1193 src/dird/dird.c:786 src/filed/bfdjson.c:537
#: src/filed/filed.c:600 src/stored/bsdjson.c:607 src/stored/stored.c:447
#, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1198 src/dird/dird.c:792 src/filed/bfdjson.c:543
+#: src/dird/bdirjson.c:1199 src/dird/dird.c:792 src/filed/bfdjson.c:543
#: src/filed/filed.c:606 src/stored/bsdjson.c:613 src/stored/stored.c:453
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1205 src/dird/dird.c:799 src/filed/bfdjson.c:549
+#: src/dird/bdirjson.c:1206 src/dird/dird.c:799 src/filed/bfdjson.c:549
#: src/filed/filed.c:612 src/stored/bsdjson.c:619 src/stored/stored.c:459
#, c-format
msgid ""
@@ -1356,19 +1356,19 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/bdirjson.c:1231 src/dird/dird.c:1005 src/filed/bfdjson.c:572
+#: src/dird/bdirjson.c:1232 src/dird/dird.c:1005 src/filed/bfdjson.c:572
#: src/filed/filed.c:653
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1237 src/dird/dird.c:1011 src/filed/bfdjson.c:578
+#: src/dird/bdirjson.c:1238 src/dird/dird.c:1011 src/filed/bfdjson.c:578
#: src/filed/filed.c:659
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1244 src/dird/dird.c:1018 src/filed/bfdjson.c:584
+#: src/dird/bdirjson.c:1245 src/dird/dird.c:1018 src/filed/bfdjson.c:584
#: src/filed/filed.c:665
#, c-format
msgid ""
@@ -1377,40 +1377,40 @@ msgid ""
"using \"TLS Verify Peer\".\n"
msgstr ""
-#: src/dird/bdirjson.c:1261 src/dird/dird.c:1035 src/dird/dird.c:1075
+#: src/dird/bdirjson.c:1262 src/dird/dird.c:1035 src/dird/dird.c:1075
#: src/filed/filed.c:415
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1284 src/dird/dird.c:1058
+#: src/dird/bdirjson.c:1285 src/dird/dird.c:1058
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
"File daemon \"%s\" in %s.\n"
msgstr ""
-#: src/dird/bdirjson.c:1293 src/dird/dird.c:826
+#: src/dird/bdirjson.c:1294 src/dird/dird.c:826
#, c-format
msgid "No Job records defined in %s\n"
msgstr ""
-#: src/dird/bdirjson.c:1353 src/dird/bdirjson.c:1366 src/dird/dird.c:877
+#: src/dird/bdirjson.c:1354 src/dird/bdirjson.c:1367 src/dird/dird.c:877
#: src/dird/dird.c:890
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr ""
-#: src/dird/bdirjson.c:1452 src/dird/dird.c:960
+#: src/dird/bdirjson.c:1453 src/dird/dird.c:960
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
-#: src/dird/bdirjson.c:1459 src/dird/dird.c:967
+#: src/dird/bdirjson.c:1460 src/dird/dird.c:967
msgid "Too many items in Job resource\n"
msgstr ""
-#: src/dird/bdirjson.c:1463 src/dird/dird.c:971
+#: src/dird/bdirjson.c:1464 src/dird/dird.c:971
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr ""
@@ -3844,11 +3844,11 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:368 src/dird/ua_label.c:652
+#: src/dird/ua_cmds.c:368 src/dird/ua_label.c:654
msgid "Volume name too long.\n"
msgstr ""
-#: src/dird/ua_cmds.c:372 src/dird/ua_label.c:658 src/lib/edit.c:519
+#: src/dird/ua_cmds.c:372 src/dird/ua_label.c:660 src/lib/edit.c:519
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -4446,12 +4446,12 @@ msgstr ""
msgid "Slot too large.\n"
msgstr ""
-#: src/dird/ua_label.c:178 src/dird/ua_label.c:356 src/dird/ua_label.c:1185
+#: src/dird/ua_label.c:178 src/dird/ua_label.c:356 src/dird/ua_label.c:1190
#: src/dird/ua_run.c:473 src/dird/ua_run.c:1356 src/dird/ua_run.c:1361
msgid "Command input"
msgstr ""
-#: src/dird/ua_label.c:196 src/dird/ua_label.c:520 src/dird/ua_label.c:1192
+#: src/dird/ua_label.c:196 src/dird/ua_label.c:520 src/dird/ua_label.c:1197
msgid "No slots in changer to scan.\n"
msgstr ""
@@ -4459,7 +4459,7 @@ msgstr ""
msgid "No Volumes found to label, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:218 src/dird/ua_label.c:1213
+#: src/dird/ua_label.c:218 src/dird/ua_label.c:1219
#, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
@@ -4559,69 +4559,69 @@ msgstr ""
msgid "Catalog error on cleaning tape: %s"
msgstr ""
-#: src/dird/ua_label.c:645
+#: src/dird/ua_label.c:647
#, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr ""
-#: src/dird/ua_label.c:693
+#: src/dird/ua_label.c:695
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:700
+#: src/dird/ua_label.c:702
#, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr ""
-#: src/dird/ua_label.c:730
+#: src/dird/ua_label.c:732
#, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr ""
-#: src/dird/ua_label.c:745
+#: src/dird/ua_label.c:747
#, c-format
msgid "Label command failed for Volume %s.\n"
msgstr ""
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:761
msgid "Could not open SD socket.\n"
msgstr ""
-#: src/dird/ua_label.c:831 src/dird/ua_label.c:841
+#: src/dird/ua_label.c:833 src/dird/ua_label.c:843
#, c-format
msgid "Invalid Slot number: %s\n"
msgstr ""
-#: src/dird/ua_label.c:850
+#: src/dird/ua_label.c:852
#, c-format
msgid "Invalid Volume name: %s. Volume skipped.\n"
msgstr ""
-#: src/dird/ua_label.c:944
+#: src/dird/ua_label.c:946
#, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr ""
-#: src/dird/ua_label.c:990
+#: src/dird/ua_label.c:995
#, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr ""
-#: src/dird/ua_label.c:1204
+#: src/dird/ua_label.c:1209
msgid "No Volumes found, or no barcodes.\n"
msgstr ""
-#: src/dird/ua_label.c:1207
+#: src/dird/ua_label.c:1212 src/dird/ua_label.c:1214 src/dird/ua_label.c:1247
msgid ""
-" Slot | Volume Name | Status | Media Type | "
-"Pool |\n"
+"+------+----------------------+-----------+-----------------"
+"+--------------------+\n"
msgstr ""
-#: src/dird/ua_label.c:1208
+#: src/dird/ua_label.c:1213
msgid ""
-"------+------------------+-----------+----------------------"
-"+--------------------|\n"
+"| Slot | Volume Name | Status | Media Type | "
+"Pool |\n"
msgstr ""
#: src/dird/ua_output.c:57 src/dird/ua_output.c:81
@@ -6930,7 +6930,7 @@ msgstr ""
msgid "%d total files; %d marked to be restored; %s bytes.\n"
msgstr ""
-#: src/dird/ua_tree.c:796 src/stored/btape.c:2961
+#: src/dird/ua_tree.c:796 src/stored/btape.c:2960
#, c-format
msgid ""
" Command Description\n"
@@ -7896,27 +7896,27 @@ msgstr ""
msgid "Compression deflateParams error: %d\n"
msgstr ""
-#: src/filed/backup.c:1105
+#: src/filed/backup.c:1103
#, c-format
msgid " Cannot open resource fork for \"%s\": ERR=%s.\n"
msgstr ""
-#: src/filed/backup.c:1163
+#: src/filed/backup.c:1161
#, c-format
msgid "Compression deflate error: %d\n"
msgstr ""
-#: src/filed/backup.c:1170
+#: src/filed/backup.c:1168
#, c-format
msgid "Compression deflateReset error: %d\n"
msgstr ""
-#: src/filed/backup.c:1212
+#: src/filed/backup.c:1210
#, c-format
msgid "Compression LZO error: %d\n"
msgstr ""
-#: src/filed/backup.c:1422
+#: src/filed/backup.c:1420
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -12425,7 +12425,7 @@ msgstr ""
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
-#: src/stored/append.c:123 src/stored/btape.c:2240
+#: src/stored/append.c:123 src/stored/btape.c:2239
#, c-format
msgid "Write session label failed. ERR=%s\n"
msgstr ""
@@ -12465,7 +12465,7 @@ msgstr ""
msgid "Set ok=FALSE after write_block_to_device.\n"
msgstr ""
-#: src/stored/append.c:319 src/stored/btape.c:2359
+#: src/stored/append.c:319 src/stored/btape.c:2358
#, c-format
msgid "Error writing end session label. ERR=%s\n"
msgstr ""
@@ -12484,7 +12484,7 @@ msgstr ""
msgid "Error updating file attributes. ERR=%s\n"
msgstr ""
-#: src/stored/askdir.c:160 src/stored/btape.c:3045
+#: src/stored/askdir.c:160 src/stored/btape.c:3044
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -12794,7 +12794,7 @@ msgid "Copy skipped. Record does not match BSR filter.\n"
msgstr ""
#: src/stored/bcopy.c:270 src/stored/bcopy.c:278 src/stored/bcopy.c:306
-#: src/stored/btape.c:2768
+#: src/stored/btape.c:2767
#, c-format
msgid "Cannot fixup device error. %s\n"
msgstr ""
@@ -13847,7 +13847,7 @@ msgstr ""
msgid "Do you want to continue? (y/n): "
msgstr ""
-#: src/stored/btape.c:751 src/stored/btape.c:2203
+#: src/stored/btape.c:751 src/stored/btape.c:2202
msgid "Command aborted.\n"
msgstr ""
@@ -13876,13 +13876,13 @@ msgstr ""
#: src/stored/btape.c:813 src/stored/btape.c:824 src/stored/btape.c:835
#: src/stored/btape.c:1153 src/stored/btape.c:1169 src/stored/btape.c:1910
-#: src/stored/btape.c:2835
+#: src/stored/btape.c:2834
msgid "Error writing record to block.\n"
msgstr ""
#: src/stored/btape.c:817 src/stored/btape.c:828 src/stored/btape.c:839
#: src/stored/btape.c:1157 src/stored/btape.c:1173 src/stored/btape.c:1914
-#: src/stored/btape.c:2839
+#: src/stored/btape.c:2838
msgid "Error writing block to device.\n"
msgstr ""
@@ -13957,7 +13957,7 @@ msgstr ""
msgid "Begin writing %i files of %sB with raw blocks of %u bytes.\n"
msgstr ""
-#: src/stored/btape.c:931 src/stored/btape.c:2891
+#: src/stored/btape.c:931 src/stored/btape.c:2890
#, c-format
msgid "Write failed at block %u. stat=%d ERR=%s\n"
msgstr ""
@@ -14508,7 +14508,7 @@ msgstr ""
msgid "Read of %d bytes gives stat=%d. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:1970 src/stored/btape.c:2019
+#: src/stored/btape.c:1970 src/stored/btape.c:2018
#, c-format
msgid "End of tape\n"
msgstr ""
@@ -14528,51 +14528,51 @@ msgstr ""
msgid "Bad status from read %d. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:1985 src/stored/btape.c:1999 src/stored/btape.c:2063
-#: src/stored/btape.c:2075 src/stored/btape.c:2088 src/stored/btape.c:2104
+#: src/stored/btape.c:1985 src/stored/btape.c:1999 src/stored/btape.c:2062
+#: src/stored/btape.c:2074 src/stored/btape.c:2087 src/stored/btape.c:2103
#, c-format
msgid "1 block of %d bytes in file %d\n"
msgstr ""
-#: src/stored/btape.c:1988 src/stored/btape.c:2002 src/stored/btape.c:2066
-#: src/stored/btape.c:2078 src/stored/btape.c:2091 src/stored/btape.c:2107
+#: src/stored/btape.c:1988 src/stored/btape.c:2002 src/stored/btape.c:2065
+#: src/stored/btape.c:2077 src/stored/btape.c:2090 src/stored/btape.c:2106
#, c-format
msgid "%d blocks of %d bytes in file %d\n"
msgstr ""
-#: src/stored/btape.c:2010 src/stored/btape.c:2082
+#: src/stored/btape.c:2010 src/stored/btape.c:2081
#, c-format
msgid "End of File mark.\n"
msgstr ""
-#: src/stored/btape.c:2031 src/stored/btape.c:2135
+#: src/stored/btape.c:2030 src/stored/btape.c:2134
#, c-format
msgid "Total files=%d, blocks=%d, bytes = %s\n"
msgstr ""
-#: src/stored/btape.c:2095
+#: src/stored/btape.c:2094
#, c-format
msgid "Short block read.\n"
msgstr ""
-#: src/stored/btape.c:2098
+#: src/stored/btape.c:2097
#, c-format
msgid "Error reading block. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2122
+#: src/stored/btape.c:2121
#, c-format
msgid ""
"Block=%u file,blk=%u,%u blen=%u First rec FI=%s SessId=%u SessTim=%u Strm=%s "
"rlen=%d\n"
msgstr ""
-#: src/stored/btape.c:2144
+#: src/stored/btape.c:2143
#, c-format
msgid "Device status: %u. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2176
+#: src/stored/btape.c:2175
#, c-format
msgid ""
"\n"
@@ -14598,79 +14598,79 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/btape.c:2194
+#: src/stored/btape.c:2193
msgid ""
"Do you want to run the simplified test (s) with one tape\n"
"or the complete multiple tape (m) test: (s/m) "
msgstr ""
-#: src/stored/btape.c:2197
+#: src/stored/btape.c:2196
msgid "Simple test (single tape) selected.\n"
msgstr ""
-#: src/stored/btape.c:2200
+#: src/stored/btape.c:2199
msgid "Multiple tape test selected.\n"
msgstr ""
-#: src/stored/btape.c:2244
+#: src/stored/btape.c:2243
msgid "Wrote Start of Session label.\n"
msgstr ""
-#: src/stored/btape.c:2263
+#: src/stored/btape.c:2262
#, c-format
msgid "%s Begin writing Bacula records to tape ...\n"
msgstr ""
-#: src/stored/btape.c:2265
+#: src/stored/btape.c:2264
#, c-format
msgid "%s Begin writing Bacula records to first tape ...\n"
msgstr ""
-#: src/stored/btape.c:2291
+#: src/stored/btape.c:2290
msgid "Flush block failed.\n"
msgstr ""
-#: src/stored/btape.c:2305
+#: src/stored/btape.c:2304
#, c-format
msgid "Wrote block=%u, file,blk=%u,%u VolBytes=%s rate=%sB/s\n"
msgstr ""
-#: src/stored/btape.c:2316
+#: src/stored/btape.c:2315
#, c-format
msgid "%s Flush block, write EOF\n"
msgstr ""
-#: src/stored/btape.c:2325
+#: src/stored/btape.c:2324
msgid "Wrote 1000 blocks on second tape. Done.\n"
msgstr ""
-#: src/stored/btape.c:2330
+#: src/stored/btape.c:2329
msgid "Not OK\n"
msgstr ""
-#: src/stored/btape.c:2354
+#: src/stored/btape.c:2353
msgid "Job canceled.\n"
msgstr ""
-#: src/stored/btape.c:2365
+#: src/stored/btape.c:2364
msgid "Set ok=false after write_block_to_device.\n"
msgstr ""
-#: src/stored/btape.c:2369
+#: src/stored/btape.c:2368
msgid "Wrote End of Session label.\n"
msgstr ""
-#: src/stored/btape.c:2392
+#: src/stored/btape.c:2391
#, c-format
msgid "Wrote state file last_block_num1=%d last_block_num2=%d\n"
msgstr ""
-#: src/stored/btape.c:2396
+#: src/stored/btape.c:2395
#, c-format
msgid "Could not create state file: %s ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2407
+#: src/stored/btape.c:2406
#, c-format
msgid ""
"\n"
@@ -14678,7 +14678,7 @@ msgid ""
"%s Done filling tape at %d:%d. Now beginning re-read of tape ...\n"
msgstr ""
-#: src/stored/btape.c:2410
+#: src/stored/btape.c:2409
#, c-format
msgid ""
"\n"
@@ -14686,23 +14686,23 @@ msgid ""
"%s Done filling tapes at %d:%d. Now beginning re-read of first tape ...\n"
msgstr ""
-#: src/stored/btape.c:2416
+#: src/stored/btape.c:2415
msgid "do_unfill failed.\n"
msgstr ""
-#: src/stored/btape.c:2421
+#: src/stored/btape.c:2420
#, c-format
msgid "%s: Error during test.\n"
msgstr ""
-#: src/stored/btape.c:2456
+#: src/stored/btape.c:2455
msgid ""
"\n"
"The state file level has changed. You must redo\n"
"the fill command.\n"
msgstr ""
-#: src/stored/btape.c:2463
+#: src/stored/btape.c:2462
#, c-format
msgid ""
"\n"
@@ -14710,95 +14710,95 @@ msgid ""
"You must redo the fill command.\n"
msgstr ""
-#: src/stored/btape.c:2529
+#: src/stored/btape.c:2528
msgid "Mount first tape. Press enter when ready: "
msgstr ""
-#: src/stored/btape.c:2546
+#: src/stored/btape.c:2545
msgid "Rewinding.\n"
msgstr ""
-#: src/stored/btape.c:2551
+#: src/stored/btape.c:2550
#, c-format
msgid "Reading the first 10000 records from %u:%u.\n"
msgstr ""
-#: src/stored/btape.c:2555 src/stored/btape.c:2627
+#: src/stored/btape.c:2554 src/stored/btape.c:2626
#, c-format
msgid "Reposition from %u:%u to %u:%u\n"
msgstr ""
-#: src/stored/btape.c:2560 src/stored/btape.c:2614 src/stored/btape.c:2632
+#: src/stored/btape.c:2559 src/stored/btape.c:2613 src/stored/btape.c:2631
#, c-format
msgid "Reposition error. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2563
+#: src/stored/btape.c:2562
#, c-format
msgid "Reading block %u.\n"
msgstr ""
-#: src/stored/btape.c:2565 src/stored/btape.c:2619 src/stored/btape.c:2637
+#: src/stored/btape.c:2564 src/stored/btape.c:2618 src/stored/btape.c:2636
#, c-format
msgid "Error reading block: ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2570
+#: src/stored/btape.c:2569
msgid ""
"\n"
"The last block on the tape matches. Test succeeded.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2573
+#: src/stored/btape.c:2572
msgid ""
"\n"
"The last block of the first tape matches.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2597
+#: src/stored/btape.c:2596
msgid "Mount second tape. Press enter when ready: "
msgstr ""
-#: src/stored/btape.c:2611
+#: src/stored/btape.c:2610
#, c-format
msgid "Reposition from %u:%u to 0:1\n"
msgstr ""
-#: src/stored/btape.c:2617 src/stored/btape.c:2635
+#: src/stored/btape.c:2616 src/stored/btape.c:2634
#, c-format
msgid "Reading block %d.\n"
msgstr ""
-#: src/stored/btape.c:2623
+#: src/stored/btape.c:2622
msgid ""
"\n"
"The first block on the second tape matches.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2641
+#: src/stored/btape.c:2640
msgid ""
"\n"
"The last block on the second tape matches. Test succeeded.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2659
+#: src/stored/btape.c:2658
#, c-format
msgid "10000 records read now at %d:%d\n"
msgstr ""
-#: src/stored/btape.c:2685 src/stored/btape.c:2696 src/stored/btape.c:2741
+#: src/stored/btape.c:2684 src/stored/btape.c:2695 src/stored/btape.c:2740
msgid "Last block written"
msgstr ""
-#: src/stored/btape.c:2687 src/stored/btape.c:2697
+#: src/stored/btape.c:2686 src/stored/btape.c:2696
msgid "Block read back"
msgstr ""
-#: src/stored/btape.c:2688
+#: src/stored/btape.c:2687
#, c-format
msgid ""
"\n"
@@ -14806,7 +14806,7 @@ msgid ""
"The blocks differ at byte %u\n"
msgstr ""
-#: src/stored/btape.c:2689
+#: src/stored/btape.c:2688
msgid ""
"\n"
"\n"
@@ -14816,172 +14816,172 @@ msgid ""
"to write multi-tape Volumes.!!!!\n"
msgstr ""
-#: src/stored/btape.c:2725
+#: src/stored/btape.c:2724
#, c-format
msgid "Last block at: %u:%u this_dev_block_num=%d\n"
msgstr ""
-#: src/stored/btape.c:2739
+#: src/stored/btape.c:2738
#, c-format
msgid "Block not written: FileIndex=%u blk_block=%u Size=%u\n"
msgstr ""
-#: src/stored/btape.c:2743
+#: src/stored/btape.c:2742
msgid "Block not written"
msgstr ""
-#: src/stored/btape.c:2758
+#: src/stored/btape.c:2757
#, c-format
msgid "End of tape %d:%d. Volume Bytes=%s. Write rate = %sB/s\n"
msgstr ""
-#: src/stored/btape.c:2809
+#: src/stored/btape.c:2808
msgid "Test writing blocks of 64512 bytes to tape.\n"
msgstr ""
-#: src/stored/btape.c:2811
+#: src/stored/btape.c:2810
msgid "How many blocks do you want to write? (1000): "
msgstr ""
-#: src/stored/btape.c:2828
+#: src/stored/btape.c:2827
#, c-format
msgid "Begin writing %d Bacula blocks to tape ...\n"
msgstr ""
-#: src/stored/btape.c:2871
+#: src/stored/btape.c:2870
#, c-format
msgid "Begin writing raw blocks of %u bytes.\n"
msgstr ""
-#: src/stored/btape.c:2902
+#: src/stored/btape.c:2901
msgid "test autochanger"
msgstr ""
-#: src/stored/btape.c:2903
+#: src/stored/btape.c:2902
msgid "backspace file"
msgstr ""
-#: src/stored/btape.c:2904
+#: src/stored/btape.c:2903
msgid "backspace record"
msgstr ""
-#: src/stored/btape.c:2905
+#: src/stored/btape.c:2904
msgid "list device capabilities"
msgstr ""
-#: src/stored/btape.c:2906
+#: src/stored/btape.c:2905
msgid "clear tape errors"
msgstr ""
-#: src/stored/btape.c:2907
+#: src/stored/btape.c:2906
msgid "go to end of Bacula data for append"
msgstr ""
-#: src/stored/btape.c:2908
+#: src/stored/btape.c:2907
msgid "go to the physical end of medium"
msgstr ""
-#: src/stored/btape.c:2909
+#: src/stored/btape.c:2908
msgid "fill tape, write onto second volume"
msgstr ""
-#: src/stored/btape.c:2910
+#: src/stored/btape.c:2909
msgid "read filled tape"
msgstr ""
-#: src/stored/btape.c:2911
+#: src/stored/btape.c:2910
msgid "forward space a file"
msgstr ""
-#: src/stored/btape.c:2912
+#: src/stored/btape.c:2911
msgid "forward space a record"
msgstr ""
-#: src/stored/btape.c:2913
+#: src/stored/btape.c:2912
msgid "print this command"
msgstr ""
-#: src/stored/btape.c:2914
+#: src/stored/btape.c:2913
msgid "write a Bacula label to the tape"
msgstr ""
-#: src/stored/btape.c:2915
+#: src/stored/btape.c:2914
msgid "load a tape"
msgstr ""
-#: src/stored/btape.c:2916
+#: src/stored/btape.c:2915
msgid "quit btape"
msgstr ""
-#: src/stored/btape.c:2917
+#: src/stored/btape.c:2916
msgid "use write() to fill tape"
msgstr ""
-#: src/stored/btape.c:2918
+#: src/stored/btape.c:2917
msgid "read and print the Bacula tape label"
msgstr ""
-#: src/stored/btape.c:2919
+#: src/stored/btape.c:2918
msgid "test record handling functions"
msgstr ""
-#: src/stored/btape.c:2920
+#: src/stored/btape.c:2919
msgid "rewind the tape"
msgstr ""
-#: src/stored/btape.c:2921
+#: src/stored/btape.c:2920
msgid "read() tape block by block to EOT and report"
msgstr ""
-#: src/stored/btape.c:2922
+#: src/stored/btape.c:2921
msgid "Bacula read block by block to EOT and report"
msgstr ""
-#: src/stored/btape.c:2923
+#: src/stored/btape.c:2922
msgid ""
"[file_size=n(GB)|nb_file=3|skip_zero|skip_random|skip_raw|skip_block] report "
"drive speed"
msgstr ""
-#: src/stored/btape.c:2924
+#: src/stored/btape.c:2923
msgid "print tape status"
msgstr ""
-#: src/stored/btape.c:2925
+#: src/stored/btape.c:2924
msgid "General test Bacula tape functions"
msgstr ""
-#: src/stored/btape.c:2926
+#: src/stored/btape.c:2925
msgid "write an EOF on the tape"
msgstr ""
-#: src/stored/btape.c:2927
+#: src/stored/btape.c:2926
msgid "write a single Bacula block"
msgstr ""
-#: src/stored/btape.c:2928
+#: src/stored/btape.c:2927
msgid "read a single record"
msgstr ""
-#: src/stored/btape.c:2929
+#: src/stored/btape.c:2928
msgid "read a single Bacula block"
msgstr ""
-#: src/stored/btape.c:2930
+#: src/stored/btape.c:2929
msgid "quick fill command"
msgstr ""
-#: src/stored/btape.c:2951
+#: src/stored/btape.c:2950
#, c-format
msgid "\"%s\" is an invalid command\n"
msgstr ""
-#: src/stored/btape.c:2960
+#: src/stored/btape.c:2959
#, c-format
msgid "Interactive commands:\n"
msgstr ""
-#: src/stored/btape.c:2971
+#: src/stored/btape.c:2970
#, c-format
msgid ""
"\n"
@@ -15000,27 +15000,27 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/btape.c:3042
+#: src/stored/btape.c:3041
#, c-format
msgid "Mount second Volume on device %s and press return when ready: "
msgstr ""
-#: src/stored/btape.c:3070
+#: src/stored/btape.c:3069
#, c-format
msgid "Mount blank Volume on device %s and press return when ready: "
msgstr ""
-#: src/stored/btape.c:3090
+#: src/stored/btape.c:3089
#, c-format
msgid "End of Volume \"%s\" %d records.\n"
msgstr ""
-#: src/stored/btape.c:3104
+#: src/stored/btape.c:3103
#, c-format
msgid "Read block=%u, VolBytes=%s rate=%sB/s\n"
msgstr ""
-#: src/stored/btape.c:3117
+#: src/stored/btape.c:3116
#, c-format
msgid "Cannot open Dev=%s, Vol=%s\n"
msgstr ""
diff --git a/bacula/po/de.po b/bacula/po/de.po
index ea2d886..04559ab 100644
--- a/bacula/po/de.po
+++ b/bacula/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: bac...@li...\n"
-"POT-Creation-Date: 2017-06-30 08:32+0200\n"
+"POT-Creation-Date: 2017-07-23 18:30+0200\n"
"PO-Revision-Date: 2007-06-25 20:38+0200\n"
"Last-Translator: Kern Sibbald <ke...@si...>\n"
"Language-Team: \n"
@@ -39,8 +39,8 @@ msgstr ""
msgid "*None*"
msgstr ""
-#: src/cats/cats.c:137 src/cats/mysql.c:487 src/cats/postgresql.c:583
-#: src/cats/postgresql.c:634 src/cats/sqlite.c:488
+#: src/cats/cats.c:137 src/cats/mysql.c:488 src/cats/postgresql.c:606
+#: src/cats/postgresql.c:657 src/cats/sqlite.c:488
#, c-format
msgid "Query failed: %s: ERR=%s\n"
msgstr "Abfrage gescheitert: %s: ERR=%s\n"
@@ -53,12 +53,12 @@ msgstr ""
msgid "A user name for MySQL must be supplied.\n"
msgstr "Ein Benutzername für MySQL muss angegeben werden.\n"
-#: src/cats/mysql.c:210 src/cats/postgresql.c:247 src/cats/sqlite.c:184
+#: src/cats/mysql.c:211 src/cats/postgresql.c:256 src/cats/sqlite.c:184
#, c-format
msgid "Unable to initialize DB lock. ERR=%s\n"
msgstr "Kann DB lock nicht initialisieren. ERR=%s\n"
-#: src/cats/mysql.c:267
+#: src/cats/mysql.c:268
#, fuzzy, c-format
msgid ""
"Unable to connect to MySQL server.\n"
@@ -71,17 +71,17 @@ msgstr ""
"Der Datenbankserver läuft möglicherweise nicht oder das Passwort ist nicht "
"korrekt.\n"
-#: src/cats/mysql.c:463 src/cats/postgresql.c:529 src/cats/sqlite.c:411
+#: src/cats/mysql.c:464 src/cats/postgresql.c:552 src/cats/sqlite.c:411
#: src/dird/fd_cmds.c:960 src/dird/fd_cmds.c:1021
#, c-format
msgid "Attribute create error. %s"
msgstr "Attribute create error. %s"
-#: src/cats/postgresql.c:110
+#: src/cats/postgresql.c:119
msgid "A user name for PostgreSQL must be supplied.\n"
msgstr "Ein Benutzername für PostgreSQL muss angegeben werden.\n"
-#: src/cats/postgresql.c:205 src/cats/sql.c:531 src/cats/sql.c:538
+#: src/cats/postgresql.c:214 src/cats/sql.c:531 src/cats/sql.c:538
#: src/cats/sql_create.c:559 src/cats/sql_get.c:191 src/cats/sql_get.c:242
#: src/cats/sql_get.c:613 src/cats/sql_get.c:824 src/cats/sql_get.c:1152
#: src/cats/sql_get.c:1543 src/cats/sql_get.c:1695
@@ -89,12 +89,12 @@ msgstr "Ein Benutzername f
msgid "error fetching row: %s\n"
msgstr "Fehler beim holen von Zeile: %s\n"
-#: src/cats/postgresql.c:217
+#: src/cats/postgresql.c:226
#, c-format
msgid "Encoding error for database \"%s\". Wanted SQL_ASCII, got %s\n"
msgstr ""
-#: src/cats/postgresql.c:307
+#: src/cats/postgresql.c:330
#, fuzzy, c-format
msgid ""
"Unable to connect to PostgreSQL server. Database=%s User=%s\n"
@@ -106,39 +106,39 @@ msgstr ""
"Der Datenbankserver läuft möglicherweise nicht oder das Passwort ist nicht "
"korrekt.\n"
-#: src/cats/postgresql.c:423
+#: src/cats/postgresql.c:446
msgid "PQescapeStringConn returned non-zero.\n"
msgstr ""
-#: src/cats/postgresql.c:443
+#: src/cats/postgresql.c:466
msgid "PQescapeByteaConn returned NULL.\n"
msgstr ""
-#: src/cats/postgresql.c:472
+#: src/cats/postgresql.c:495
msgid "PQunescapeByteaConn returned NULL.\n"
msgstr ""
-#: src/cats/postgresql.c:590
+#: src/cats/postgresql.c:613
#, fuzzy, c-format
msgid "Fetch failed: ERR=%s\n"
msgstr "pthread_create: ERR=%s\n"
-#: src/cats/postgresql.c:883
+#: src/cats/postgresql.c:906
#, c-format
msgid "error fetching currval: %s\n"
msgstr "Fehler beim Holen des aktuellen Wertes: %s\n"
-#: src/cats/postgresql.c:1064
+#: src/cats/postgresql.c:1087
#, fuzzy, c-format
msgid "error starting batch mode: %s"
msgstr "Fehler beim holen von Zeile: %s\n"
-#: src/cats/postgresql.c:1094 src/cats/postgresql.c:1101
+#: src/cats/postgresql.c:1117 src/cats/postgresql.c:1124
#, fuzzy, c-format
msgid "error ending batch mode: %s"
msgstr "Fehler beim holen von Zeile: %s\n"
-#: src/cats/postgresql.c:1151
+#: src/cats/postgresql.c:1174
#, fuzzy, c-format
msgid "error copying in batch mode: %s"
msgstr "Fehler beim holen von Zeile: %s\n"
@@ -755,7 +755,7 @@ msgstr "Bitte die Konfigurationsdatei korrigieren: %s\n"
#: src/console/bbconsjson.c:432 src/console/bbconsjson.c:463
#: src/console/console.c:1422 src/console/console.c:1452
-#: src/dird/bdirjson.c:1184 src/dird/bdirjson.c:1222 src/dird/bdirjson.c:1277
+#: src/dird/bdirjson.c:1185 src/dird/bdirjson.c:1223 src/dird/bdirjson.c:1278
#: src/dird/dird.c:778 src/dird/dird.c:996 src/dird/dird.c:1051
#: src/dird/dird.c:1254 src/filed/bfdjson.c:484 src/filed/bfdjson.c:527
#: src/filed/bfdjson.c:562 src/filed/filed.c:390 src/filed/filed.c:590
@@ -1432,7 +1432,7 @@ msgstr ""
" -? diese Meldung ausgeben.\n"
"\n"
-#: src/dird/bdirjson.c:1162 src/dird/dird.c:756
+#: src/dird/bdirjson.c:1163 src/dird/dird.c:756
#, c-format
msgid ""
"No Director resource defined in %s\n"
@@ -1441,30 +1441,30 @@ msgstr ""
"Keine Director resource definiert in %s\n"
"Ohne dies weiss ich nicht wer ich bin :-(\n"
-#: src/dird/bdirjson.c:1170 src/dird/dird.c:764 src/filed/bfdjson.c:477
+#: src/dird/bdirjson.c:1171 src/dird/dird.c:764 src/filed/bfdjson.c:477
#: src/filed/filed.c:352
#, c-format
msgid "No Messages resource defined in %s\n"
msgstr "Keine Messages resource definiert in %s\n"
-#: src/dird/bdirjson.c:1175 src/dird/dird.c:769
+#: src/dird/bdirjson.c:1176 src/dird/dird.c:769
#, c-format
msgid "Only one Director resource permitted in %s\n"
msgstr "Nur eine Director resource erlaubt in %s\n"
-#: src/dird/bdirjson.c:1192 src/dird/dird.c:786 src/filed/bfdjson.c:537
+#: src/dird/bdirjson.c:1193 src/dird/dird.c:786 src/filed/bfdjson.c:537
#: src/filed/filed.c:600 src/stored/bsdjson.c:607 src/stored/stored.c:447
#, fuzzy, c-format
msgid "\"TLS Certificate\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"TLS Key\" Datei nicht für Director definiert \"%s\" in %s.\n"
-#: src/dird/bdirjson.c:1198 src/dird/dird.c:792 src/filed/bfdjson.c:543
+#: src/dird/bdirjson.c:1199 src/dird/dird.c:792 src/filed/bfdjson.c:543
#: src/filed/filed.c:606 src/stored/bsdjson.c:613 src/stored/stored.c:453
#, c-format
msgid "\"TLS Key\" file not defined for Director \"%s\" in %s.\n"
msgstr "\"TLS Key\" Datei nicht für Director definiert \"%s\" in %s.\n"
-#: src/dird/bdirjson.c:1205 src/dird/dird.c:799 src/filed/bfdjson.c:549
+#: src/dird/bdirjson.c:1206 src/dird/dird.c:799 src/filed/bfdjson.c:549
#: src/filed/filed.c:612 src/stored/bsdjson.c:619 src/stored/stored.c:459
#, c-format
msgid ""
@@ -1476,19 +1476,19 @@ msgstr ""
"Director \"%s\" in %s definert. Mindestens ein CA certificate store wird "
"benötigt wenn \"TLS Verify Peer\" eingesetzt wird.\n"
-#: src/dird/bdirjson.c:1231 src/dird/dird.c:1005 src/filed/bfdjson.c:572
+#: src/dird/bdirjson.c:1232 src/dird/dird.c:1005 src/filed/bfdjson.c:572
#: src/filed/filed.c:653
#, c-format
msgid "\"TLS Certificate\" file not defined for Console \"%s\" in %s.\n"
msgstr "\"TLS Certificate\" Datei nicht definiert für Console \"%s\" in %s.\n"
-#: src/dird/bdirjson.c:1237 src/dird/dird.c:1011 src/filed/bfdjson.c:578
+#: src/dird/bdirjson.c:1238 src/dird/dird.c:1011 src/filed/bfdjson.c:578
#: src/filed/filed.c:659
#, c-format
msgid "\"TLS Key\" file not defined for Console \"%s\" in %s.\n"
msgstr "\"TLS Key\" Datei nicht definiert für Console \"%s\" in %s.\n"
-#: src/dird/bdirjson.c:1244 src/dird/dird.c:1018 src/filed/bfdjson.c:584
+#: src/dird/bdirjson.c:1245 src/dird/dird.c:1018 src/filed/bfdjson.c:584
#: src/filed/filed.c:665
#, c-format
msgid ""
@@ -1500,14 +1500,14 @@ msgstr ""
"fürConsole \"%s\" in %s. Mindestens ein CA certificate store wird benötigt "
"beiEinsatz von \"TLS Verify Peer\".\n"
-#: src/dird/bdirjson.c:1261 src/dird/dird.c:1035 src/dird/dird.c:1075
+#: src/dird/bdirjson.c:1262 src/dird/dird.c:1035 src/dird/dird.c:1075
#: src/filed/filed.c:415
#, c-format
msgid "Failed to initialize TLS context for File daemon \"%s\" in %s.\n"
msgstr ""
"Konnte TLS context für File daemon \"%s\" in %s nicht initialisieren.\n"
-#: src/dird/bdirjson.c:1284 src/dird/dird.c:1058
+#: src/dird/bdirjson.c:1285 src/dird/dird.c:1058
#, c-format
msgid ""
"Neither \"TLS CA Certificate\" or \"TLS CA Certificate Dir\" are defined for "
@@ -1516,29 +1516,29 @@ msgstr ""
"Weder \"TLS CA Certificate\" noch \"TLS CA Certificate Dir\" sind definiert "
"für File daemon \"%s\" in %s.\n"
-#: src/dird/bdirjson.c:1293 src/dird/dird.c:826
+#: src/dird/bdirjson.c:1294 src/dird/dird.c:826
#, c-format
msgid "No Job records defined in %s\n"
msgstr "Keine Job records definiert in %s\n"
-#: src/dird/bdirjson.c:1353 src/dird/bdirjson.c:1366 src/dird/dird.c:877
+#: src/dird/bdirjson.c:1354 src/dird/bdirjson.c:1367 src/dird/dird.c:877
#: src/dird/dird.c:890
#, c-format
msgid "Hey something is wrong. p=0x%lu\n"
msgstr "Hey etwas läuft schief. p=0x%lu\n"
-#: src/dird/bdirjson.c:1452 src/dird/dird.c:960
+#: src/dird/bdirjson.c:1453 src/dird/dird.c:960
#, c-format
msgid "\"%s\" directive in Job \"%s\" resource is required, but not found.\n"
msgstr ""
"\"%s\" Directive in Job \"%s\" resource wird benötigt, wurde aber nicht "
"gefunden.\n"
-#: src/dird/bdirjson.c:1459 src/dird/dird.c:967
+#: src/dird/bdirjson.c:1460 src/dird/dird.c:967
msgid "Too many items in Job resource\n"
msgstr "zu viele items in Job resource\n"
-#: src/dird/bdirjson.c:1463 src/dird/dird.c:971
+#: src/dird/bdirjson.c:1464 src/dird/dird.c:971
#, c-format
msgid "No storage specified in Job \"%s\" nor in Pool.\n"
msgstr "Weder storage noch Pool in Job \"%s\" definiert.\n"
@@ -4146,12 +4146,12 @@ msgstr ""
msgid "Enter base volume name: "
msgstr ""
-#: src/dird/ua_cmds.c:368 src/dird/ua_label.c:652
+#: src/dird/ua_cmds.c:368 src/dird/ua_label.c:654
#, fuzzy
msgid "Volume name too long.\n"
msgstr "Job nicht gefunden: %s\n"
-#: src/dird/ua_cmds.c:372 src/dird/ua_label.c:658 src/lib/edit.c:519
+#: src/dird/ua_cmds.c:372 src/dird/ua_label.c:660 src/lib/edit.c:519
msgid "Volume name must be at least one character long.\n"
msgstr ""
@@ -4772,12 +4772,12 @@ msgstr ""
msgid "Slot too large.\n"
msgstr "Job nicht gefunden: %s\n"
-#: src/dird/ua_label.c:178 src/dird/ua_label.c:356 src/dird/ua_label.c:1185
+#: src/dird/ua_label.c:178 src/dird/ua_label.c:356 src/dird/ua_label.c:1190
#: src/dird/ua_run.c:473 src/dird/ua_run.c:1356 src/dird/ua_run.c:1361
msgid "Command input"
msgstr ""
-#: src/dird/ua_label.c:196 src/dird/ua_label.c:520 src/dird/ua_label.c:1192
+#: src/dird/ua_label.c:196 src/dird/ua_label.c:520 src/dird/ua_label.c:1197
msgid "No slots in changer to scan.\n"
msgstr ""
@@ -4786,7 +4786,7 @@ msgstr ""
msgid "No Volumes found to label, or no barcodes.\n"
msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
-#: src/dird/ua_label.c:218 src/dird/ua_label.c:1213
+#: src/dird/ua_label.c:218 src/dird/ua_label.c:1219
#, fuzzy, c-format
msgid "Slot %d greater than max %d ignored.\n"
msgstr ""
@@ -4887,71 +4887,71 @@ msgstr ""
msgid "Catalog error on cleaning tape: %s"
msgstr "Catalog Fehler beim Erzeugen des JobMedia Eintrags. %s"
-#: src/dird/ua_label.c:645
+#: src/dird/ua_label.c:647
#, fuzzy, c-format
msgid "Illegal character \"%c\" in a volume name.\n"
msgstr "Illegales Zeichen in \"Volume name\" \"%s\"\n"
-#: src/dird/ua_label.c:693
+#: src/dird/ua_label.c:695
#, c-format
msgid "Sending relabel command from \"%s\" to \"%s\" ...\n"
msgstr ""
-#: src/dird/ua_label.c:700
+#: src/dird/ua_label.c:702
#, fuzzy, c-format
msgid "Sending label command for Volume \"%s\" Slot %d ...\n"
msgstr "Media Eintrag für Volume \"%s\" nicht gefunden.\n"
-#: src/dird/ua_label.c:730
+#: src/dird/ua_label.c:732
#, fuzzy, c-format
msgid "Catalog record for Volume \"%s\", Slot %d successfully created.\n"
msgstr "Media Eintrag für Volume \"%s\" nicht gefunden.\n"
-#: src/dird/ua_label.c:745
+#: src/dird/ua_label.c:747
#, fuzzy, c-format
msgid "Label command failed for Volume %s.\n"
msgstr "Mehr als ein Dateiname! %s für Datei: %s\n"
-#: src/dird/ua_label.c:759
+#: src/dird/ua_label.c:761
#, fuzzy
msgid "Could not open SD socket.\n"
msgstr "Konnte Datenbank \"%s\" nicht öffen.\n"
-#: src/dird/ua_label.c:831 src/dird/ua_label.c:841
+#: src/dird/ua_label.c:833 src/dird/ua_label.c:843
#, fuzzy, c-format
msgid "Invalid Slot number: %s\n"
msgstr "Ungültige Catalog Anfrage: %s"
-#: src/dird/ua_label.c:850
+#: src/dird/ua_label.c:852
#, c-format
msgid "Invalid Volume name: %s. Volume skipped.\n"
msgstr ""
-#: src/dird/ua_label.c:944
+#: src/dird/ua_label.c:946
#, fuzzy, c-format
msgid "Device \"%s\" has %d slots.\n"
msgstr "Pool Ressource \"%s\" nicht gefunden.\n"
-#: src/dird/ua_label.c:990
+#: src/dird/ua_label.c:995
#, fuzzy, c-format
msgid "Pool \"%s\" resource not found for volume \"%s\"!\n"
msgstr "Job Ressource für \"%s\"nicht gefunden.\n"
-#: src/dird/ua_label.c:1204
+#: src/dird/ua_label.c:1209
#, fuzzy
msgid "No Volumes found, or no barcodes.\n"
msgstr "Keine Volumes zum Wiederherstellen gefunden.\n"
-#: src/dird/ua_label.c:1207
+#: src/dird/ua_label.c:1212 src/dird/ua_label.c:1214 src/dird/ua_label.c:1247
msgid ""
-" Slot | Volume Name | Status | Media Type | "
-"Pool |\n"
+"+------+----------------------+-----------+-----------------"
+"+--------------------+\n"
msgstr ""
-#: src/dird/ua_label.c:1208
+#: src/dird/ua_label.c:1213
msgid ""
-"------+------------------+-----------+----------------------"
-"+--------------------|\n"
+"| Slot | Volume Name | Status | Media Type | "
+"Pool |\n"
msgstr ""
#: src/dird/ua_output.c:57 src/dird/ua_output.c:81
@@ -7397,7 +7397,7 @@ msgstr ""
msgid "%d total files; %d marked to be restored; %s bytes.\n"
msgstr ""
-#: src/dird/ua_tree.c:796 src/stored/btape.c:2961
+#: src/dird/ua_tree.c:796 src/stored/btape.c:2960
#, c-format
msgid ""
" Command Description\n"
@@ -8459,27 +8459,27 @@ msgstr "Netzwerkfehler mit FD bei %s: ERR=%s\n"
msgid "Compression deflateParams error: %d\n"
msgstr ""
-#: src/filed/backup.c:1105
+#: src/filed/backup.c:1103
#, fuzzy, c-format
msgid " Cannot open resource fork for \"%s\": ERR=%s.\n"
msgstr "Kann Ausdruck\"%s\"nicht auflösen: ERR=%s\n"
-#: src/filed/backup.c:1163
+#: src/filed/backup.c:1161
#, fuzzy, c-format
msgid "Compression deflate error: %d\n"
msgstr "Regex Übersetzungsfehler. ERR=%s\n"
-#: src/filed/backup.c:1170
+#: src/filed/backup.c:1168
#, c-format
msgid "Compression deflateReset error: %d\n"
msgstr ""
-#: src/filed/backup.c:1212
+#: src/filed/backup.c:1210
#, fuzzy, c-format
msgid "Compression LZO error: %d\n"
msgstr "Regex Übersetzungsfehler. ERR=%s\n"
-#: src/filed/backup.c:1422
+#: src/filed/backup.c:1420
#, c-format
msgid "VSS Writer (BackupComplete): %s\n"
msgstr ""
@@ -13184,7 +13184,7 @@ msgstr "Konnte Job Eintrag nicht holen. ERR=%s\n"
msgid "NULL Volume name. This shouldn't happen!!!\n"
msgstr ""
-#: src/stored/append.c:123 src/stored/btape.c:2240
+#: src/stored/append.c:123 src/stored/btape.c:2239
#, fuzzy, c-format
msgid "Write session label failed. ERR=%s\n"
msgstr "Fehler beim Aktualisieren der DB Media Datei. ERR=%s\n"
@@ -13225,7 +13225,7 @@ msgstr "Socket Fehler auf %s Kommando: ERR=%s\n"
msgid "Set ok=FALSE after write_block_to_device.\n"
msgstr "Fehler beim schreiben der bsr Datei.\n"
-#: src/stored/append.c:319 src/stored/btape.c:2359
+#: src/stored/append.c:319 src/stored/btape.c:2358
#, fuzzy, c-format
msgid "Error writing end session label. ERR=%s\n"
msgstr "Fehler beim Aktualisieren der DB Media Datei. ERR=%s\n"
@@ -13245,7 +13245,7 @@ msgstr ""
msgid "Error updating file attributes. ERR=%s\n"
msgstr "Fehler beim Aktualisieren des Client Eintrags. ERR=%s\n"
-#: src/stored/askdir.c:160 src/stored/btape.c:3045
+#: src/stored/askdir.c:160 src/stored/btape.c:3044
#, c-format
msgid "Mount Volume \"%s\" on device %s and press return when ready: "
msgstr ""
@@ -13572,7 +13572,7 @@ msgid "Copy skipped. Record does not match BSR filter.\n"
msgstr ""
#: src/stored/bcopy.c:270 src/stored/bcopy.c:278 src/stored/bcopy.c:306
-#: src/stored/btape.c:2768
+#: src/stored/btape.c:2767
#, fuzzy, c-format
msgid "Cannot fixup device error. %s\n"
msgstr "Kann Client resource %s nicht finden\n"
@@ -14717,7 +14717,7 @@ msgstr ""
msgid "Do you want to continue? (y/n): "
msgstr ""
-#: src/stored/btape.c:751 src/stored/btape.c:2203
+#: src/stored/btape.c:751 src/stored/btape.c:2202
msgid "Command aborted.\n"
msgstr ""
@@ -14746,14 +14746,14 @@ msgstr ""
#: src/stored/btape.c:813 src/stored/btape.c:824 src/stored/btape.c:835
#: src/stored/btape.c:1153 src/stored/btape.c:1169 src/stored/btape.c:1910
-#: src/stored/btape.c:2835
+#: src/stored/btape.c:2834
#, fuzzy
msgid "Error writing record to block.\n"
msgstr "Fehler beim schreiben der bsr Datei.\n"
#: src/stored/btape.c:817 src/stored/btape.c:828 src/stored/btape.c:839
#: src/stored/btape.c:1157 src/stored/btape.c:1173 src/stored/btape.c:1914
-#: src/stored/btape.c:2839
+#: src/stored/btape.c:2838
#, fuzzy
msgid "Error writing block to device.\n"
msgstr "Fehler beim schreiben der bsr Datei.\n"
@@ -14830,7 +14830,7 @@ msgstr ""
msgid "Begin writing %i files of %sB with raw blocks of %u bytes.\n"
msgstr ""
-#: src/stored/btape.c:931 src/stored/btape.c:2891
+#: src/stored/btape.c:931 src/stored/btape.c:2890
#, fuzzy, c-format
msgid "Write failed at block %u. stat=%d ERR=%s\n"
msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
@@ -15387,7 +15387,7 @@ msgstr ""
msgid "Read of %d bytes gives stat=%d. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:1970 src/stored/btape.c:2019
+#: src/stored/btape.c:1970 src/stored/btape.c:2018
#, fuzzy, c-format
msgid "End of tape\n"
msgstr ""
@@ -15409,51 +15409,51 @@ msgstr "Catalog Fehler beim Aktualisieren von volume \"%s\". ERR=%s"
msgid "Bad status from read %d. ERR=%s\n"
msgstr "Konnte bootstrap Datei %s nicht erzeugen. ERR=%s\n"
-#: src/stored/btape.c:1985 src/stored/btape.c:1999 src/stored/btape.c:2063
-#: src/stored/btape.c:2075 src/stored/btape.c:2088 src/stored/btape.c:2104
+#: src/stored/btape.c:1985 src/stored/btape.c:1999 src/stored/btape.c:2062
+#: src/stored/btape.c:2074 src/stored/btape.c:2087 src/stored/btape.c:2103
#, c-format
msgid "1 block of %d bytes in file %d\n"
msgstr ""
-#: src/stored/btape.c:1988 src/stored/btape.c:2002 src/stored/btape.c:2066
-#: src/stored/btape.c:2078 src/stored/btape.c:2091 src/stored/btape.c:2107
+#: src/stored/btape.c:1988 src/stored/btape.c:2002 src/stored/btape.c:2065
+#: src/stored/btape.c:2077 src/stored/btape.c:2090 src/stored/btape.c:2106
#, c-format
msgid "%d blocks of %d bytes in file %d\n"
msgstr ""
-#: src/stored/btape.c:2010 src/stored/btape.c:2082
+#: src/stored/btape.c:2010 src/stored/btape.c:2081
#, c-format
msgid "End of File mark.\n"
msgstr ""
-#: src/stored/btape.c:2031 src/stored/btape.c:2135
+#: src/stored/btape.c:2030 src/stored/btape.c:2134
#, c-format
msgid "Total files=%d, blocks=%d, bytes = %s\n"
msgstr ""
-#: src/stored/btape.c:2095
+#: src/stored/btape.c:2094
#, fuzzy, c-format
msgid "Short block read.\n"
msgstr "Job Einrichtung Fehlgeschlagen.\n"
-#: src/stored/btape.c:2098
+#: src/stored/btape.c:2097
#, fuzzy, c-format
msgid "Error reading block. ERR=%s\n"
msgstr "Fehler beim aktualisieren der DB Job Datei . ERR=%s\n"
-#: src/stored/btape.c:2122
+#: src/stored/btape.c:2121
#, c-format
msgid ""
"Block=%u file,blk=%u,%u blen=%u First rec FI=%s SessId=%u SessTim=%u Strm=%s "
"rlen=%d\n"
msgstr ""
-#: src/stored/btape.c:2144
+#: src/stored/btape.c:2143
#, c-format
msgid "Device status: %u. ERR=%s\n"
msgstr ""
-#: src/stored/btape.c:2176
+#: src/stored/btape.c:2175
#, c-format
msgid ""
"\n"
@@ -15479,84 +15479,84 @@ msgid ""
"\n"
msgstr ""
-#: src/stored/btape.c:2194
+#: src/stored/btape.c:2193
msgid ""
"Do you want to run the simplified test (s) with one tape\n"
"or the complete multiple tape (m) test: (s/m) "
msgstr ""
-#: src/stored/btape.c:2197
+#: src/stored/btape.c:2196
msgid "Simple test (single tape) selected.\n"
msgstr ""
-#: src/stored/btape.c:2200
+#: src/stored/btape.c:2199
msgid "Multiple tape test selected.\n"
msgstr ""
-#: src/stored/btape.c:2244
+#: src/stored/btape.c:2243
#, fuzzy
msgid "Wrote Start of Session label.\n"
msgstr "Fehler beim Aktualisieren der DB Media Datei. ERR=%s\n"
-#: src/stored/btape.c:2263
+#: src/stored/btape.c:2262
#, c-format
msgid "%s Begin writing Bacula records to tape ...\n"
msgstr ""
-#: src/stored/btape.c:2265
+#: src/stored/btape.c:2264
#, c-format
msgid "%s Begin writing Bacula records to first tape ...\n"
msgstr ""
-#: src/stored/btape.c:2291
+#: src/stored/btape.c:2290
#, fuzzy
msgid "Flush block failed.\n"
msgstr "Job Einrichtung Fehlgeschlagen.\n"
-#: src/stored/btape.c:2305
+#: src/stored/btape.c:2304
#, c-format
msgid "Wrote block=%u, file,blk=%u,%u VolBytes=%s rate=%sB/s\n"
msgstr ""
-#: src/stored/btape.c:2316
+#: src/stored/btape.c:2315
#, fuzzy, c-format
msgid "%s Flush block, write EOF\n"
msgstr "Job Einrichtung Fehlgeschlagen.\n"
-#: src/stored/btape.c:2325
+#: src/stored/btape.c:2324
msgid "Wrote 1000 blocks on second tape. Done.\n"
msgstr ""
-#: src/stored/btape.c:2330
+#: src/stored/btape.c:2329
msgid "Not OK\n"
msgstr ""
-#: src/stored/btape.c:2354
+#: src/stored/btape.c:2353
#, fuzzy
msgid "Job canceled.\n"
msgstr "%s Abgebrochen"
-#: src/stored/btape.c:2365
+#: src/stored/btape.c:2364
#, fuzzy
msgid "Set ok=false after write_block_to_device.\n"
msgstr "Fehler beim schreiben der bsr Datei.\n"
-#: src/stored/btape.c:2369
+#: src/stored/btape.c:2368
#, fuzzy
msgid "Wrote End of Session label.\n"
msgstr "Fehler beim Aktualisieren der DB Media Datei. ERR=%s\n"
-#: src/stored/btape.c:2392
+#: src/stored/btape.c:2391
#, c-format
msgid "Wrote state file last_block_num1=%d last_block_num2=%d\n"
msgstr ""
-#: src/stored/btape.c:2396
+#: src/stored/btape.c:2395
#, fuzzy, c-format
msgid "Could not create state file: %s ERR=%s\n"
msgstr "Kann bootstrap Datei nicht öffnen: %s: ERR=%s\n"
-#: src/stored/btape.c:2407
+#: src/stored/btape.c:2406
#, c-format
msgid ""
"\n"
@@ -15564,7 +15564,7 @@ msgid ""
"%s Done filling tape at %d:%d. Now beginning re-read of tape ...\n"
msgstr ""
-#: src/stored/btape.c:2410
+#: src/stored/btape.c:2409
#, c-format
msgid ""
"\n"
@@ -15572,24 +15572,24 @@ msgid ""
"%s Done filling tapes at %d:%d. Now beginning re-read of first tape ...\n"
msgstr ""
-#: src/stored/btape.c:2416
+#: src/stored/btape.c:2415
#, fuzzy
msgid "do_unfill failed.\n"
msgstr "Job Einrichtung Fehlgeschlagen.\n"
-#: src/stored/btape.c:2421
+#: src/stored/btape.c:2420
#, c-format
msgid "%s: Error during test.\n"
msgstr ""
-#: src/stored/btape.c:2456
+#: src/stored/btape.c:2455
msgid ""
"\n"
"The state file level has changed. You must redo\n"
"the fill command.\n"
msgstr ""
-#: src/stored/btape.c:2463
+#: src/stored/btape.c:2462
#, c-format
msgid ""
"\n"
@@ -15597,95 +15597,95 @@ msgid ""
"You must redo the fill command.\n"
msgstr ""
-#: src/stored/btape.c:2529
+#: src/stored/btape.c:2528
msgid "Mount first tape. Press enter when ready: "
msgstr ""
-#: src/stored/btape.c:2546
+#: src/stored/btape.c:2545
msgid "Rewinding.\n"
msgstr ""
-#: src/stored/btape.c:2551
+#: src/stored/btape.c:2550
#, c-format
msgid "Reading the first 10000 records from %u:%u.\n"
msgstr ""
-#: src/stored/btape.c:2555 src/stored/btape.c:2627
+#: src/stored/btape.c:2554 src/stored/btape.c:2626
#, c-format
msgid "Reposition from %u:%u to %u:%u\n"
msgstr ""
-#: src/stored/btape.c:2560 src/stored/btape.c:2614 src/stored/btape.c:2632
+#: src/stored/btape.c:2559 src/stored/btape.c:2613 src/stored/btape.c:2631
#, fuzzy, c-format
msgid "Reposition error. ERR=%s\n"
msgstr "Regex Übersetzungsfehler. ERR=%s\n"
-#: src/stored/btape.c:2563
+#: src/stored/btape.c:2562
#, c-format
msgid "Reading block %u.\n"
msgstr ""
-#: src/stored/btape.c:2565 src/stored/btape.c:2619 src/stored/btape.c:2637
+#: src/stored/btape.c:2564 src/stored/btape.c:2618 src/stored/btape.c:2636
#, fuzzy, c-format
msgid "Error reading block: ERR=%s\n"
msgstr "Fehler beim Holen von Zeile %d: ERR=%s\n"
-#: src/stored/btape.c:2570
+#: src/stored/btape.c:2569
msgid ""
"\n"
"The last block on the tape matches. Test succeeded.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2573
+#: src/stored/btape.c:2572
msgid ""
"\n"
"The last block of the first tape matches.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2597
+#: src/stored/btape.c:2596
msgid "Mount second tape. Press enter when ready: "
msgstr ""
-#: src/stored/btape.c:2611
+#: src/stored/btape.c:2610
#, c-format
msgid "Reposition from %u:%u to 0:1\n"
msgstr ""
-#: src/stored/btape.c:2617 src/stored/btape.c:2635
+#: src/stored/btape.c:2616 src/stored/btape.c:2634
#, c-format
msgid "Reading block %d.\n"
msgstr ""
-#: src/stored/btape.c:2623
+#: src/stored/btape.c:2622
msgid ""
"\n"
"The first block on the second tape matches.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2641
+#: src/stored/btape.c:2640
msgid ""
"\n"
"The last block on the second tape matches. Test succeeded.\n"
"\n"
msgstr ""
-#: src/stored/btape.c:2659
+#: src/stored/btape.c:2658
#, c-format
msgid "10000 records read now at %d:%d\n"
msgstr ""
-#: src/stored/btape.c:2685 src/stored/btape.c:2696 src/stored/btape.c:2741
+#: src/stored/btape.c:2684 src/stored/btape.c:2695 src/stored/btape.c:2740
msgid "Last block written"
msgstr ""
-#: src/stored/btape.c:2687 src/stored/btape.c:2697
+#: src/stored/btape.c:2686 src/stored/btape.c:2696
msgid "Block read back"
msgstr ""
-#: src/stored/btape.c:2688
+#: src/stored/btape.c:2687
#, c-format
msgid ""
"\n"
@@ -15693,7 +15693,7 @@ msgid ""
"The blocks differ at byte %u\n"
msgstr ""
-#: src/stored/btape.c:2689
+#: src/stored/btape.c:2688
msgid ""
"\n"
"\n"
@@ -15703,174 +15703,174 @@ msgid ""
"to write multi-tape Volumes.!!!!\n"
msgstr ""
-#: src/stored/btape.c:2725
+#: src/stored/btape.c:2724
#, c-format
msgid "Last block at: %u:%u this_dev_block_num=%d\n"
msgstr ""
-#: src/stored/btape.c:2739
+#: src/stored/btape.c:2738
#, c-format
msgid "Block not written: FileIndex=%u blk_block=%u Size=%u\n"
msgstr ""
-#: src/stored/btape.c:2743
+#: src/stored/btape.c:2742
msgid "Block not written"
msgstr ""
-#: src/stored/btape.c:2758
+#: src/stored/btape.c:2757
#, c-format
msgid "End of tape %d:%d. Volume Bytes=%s. Write rate = %sB/s\n"
msgstr ""
-#: src/stored/btape.c:2809
+#: src/stored/btape.c:2808
msgid "Test writing blocks of 64512 bytes to tape.\n"
msgstr ""
-#: src/stored/btape.c:2811
+#: src/stored/btape.c:2810
msgid "How many blocks do you want to write? (1000): "
msgstr ""
-#: src/stored/btape.c:2828
+#: src/stored/btape.c:2827
#, c-format
msgid "Begin writing %d Bacula blocks to tape ...\n"
msgstr ""
-#: src/stored/btape.c:2871
+#: src/stored/btape.c:2870
#, c-format
msgid "Begin writing raw blocks of %u bytes.\n"
msgstr ""
-#: src/stored/btape.c:2902
+#: src/stored/btape.c:2901
msgid "test autochanger"
msgstr ""
-#: src/stored/btape.c:2903
+#: src/stored/btape.c:2902
msgid "backspace file"
msgstr ""
-#: src/stored/btape.c:2904
+#: src/stored/btape.c:2903
msgid "backspace record"
msgstr ""
-#: src/stored/btape.c:2905
+#: src/stored/btape.c:2904
msgid "list device capabilities"
msgstr ""
-#: src/stored/btape.c:2906
+#: src/stored/btape.c:2905
#, fuzzy
msgid "clear tape errors"
msgstr "unbekannt"
-#: src/stored/btape.c:2907
+#: src/stored/btape.c:2906
msgid "go to end of Bacula data for append"
msgstr ""
-#: src/stored/btape.c:2908
+#: src/stored/btape.c:2907
msgid "go to the physical end of medium"
msgstr ""
-#: src/stored/btape.c:2909
+#: src/stored/btape.c:2908
msgid "fill tape, write onto second volume"
msgstr ""
-#: src/stored/btape.c:2910
+#: src/stored/btape.c:2909
msgid "read filled tape"
msgstr ""
-#: src/stored/btape.c:2911
+#: src/stored/btape.c:2910
msgid "forward space a file"
msgstr ""
-#: src/stored/btape.c:2912
+#: src/stored/btape.c:2911
#, fuzzy
msgid "forward space a record"
msgstr "Job Ressource"
-#: src/stored/btape.c:2913
+#: src/stored/btape.c:2912
msgid "print this command"
msgstr ""
-#: src/stored/btape.c:2914
+#: src/stored/btape.c:2913
msgid "write a Bacula label to the tape"
msgstr ""
-#: src/stored/btape.c:2915
+#: src/stored/btape.c:2914
msgid "load a tape"
msgstr ""
-#: src/stored/btape.c:2916
+#: src/stored/btape.c:2915
msgid "quit btape"
msgstr ""
-#: src/stored/btape.c:2917
+#: src/stored/btape.c:2916
msgid "use write() to fill tape"
m...
[truncated message content] |
|
From: <gi...@ba...> - 2017-07-23 12:42:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via ec806c17d43d3b118ffe6c431313b96f7c5442bb (commit)
via 2e0ec95a1e5beadd39bdc4b594578ef7dea19a10 (commit)
via 7e61499e03c4dac7d47cac37418a1f05bb3c93b6 (commit)
via 5f763c53e71f523ed2fe7107907ffb2c2090664b (commit)
via 3a6d28ce00505f7f3cce932b4eea2097319909bb (commit)
via 3741db7c27c0365a93be0f594494471f76beba13 (commit)
from 046c1f55433e269132452613f1ff599fa151e2f1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ec806c17d43d3b118ffe6c431313b96f7c5442bb
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 14:41:31 2017 +0200
Use Bacula in place of Libz variables so we can build with/without libz and lzo
commit 2e0ec95a1e5beadd39bdc4b594578ef7dea19a10
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 10:30:09 2017 +0200
Tweak retweak previous patch
commit 7e61499e03c4dac7d47cac37418a1f05bb3c93b6
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 10:24:53 2017 +0200
Retweak previous stats slots patch
commit 5f763c53e71f523ed2fe7107907ffb2c2090664b
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 10:13:00 2017 +0200
Apply ideas from bug #2255 prettier status slots output
commit 3a6d28ce00505f7f3cce932b4eea2097319909bb
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 10:10:42 2017 +0200
Tweak recompile configure.in
commit 3741db7c27c0365a93be0f594494471f76beba13
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 23 10:10:12 2017 +0200
Configure and install bacula-tray-monitor.desktop
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/autoconf/config.h.in b/bacula/autoconf/config.h.in
index d1a7250..60cbb30 100644
--- a/bacula/autoconf/config.h.in
+++ b/bacula/autoconf/config.h.in
@@ -113,6 +113,9 @@
/* Define if you have zlib */
#undef HAVE_LIBZ
+/* Define if you have lzo lib */
+#undef HAVE_LZO
+
/* Define if you have libacl */
#undef HAVE_ACL
@@ -1133,9 +1136,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in
index 406e5b1..00d30a4 100644
--- a/bacula/autoconf/configure.in
+++ b/bacula/autoconf/configure.in
@@ -3398,6 +3398,7 @@ AC_OUTPUT([autoconf/Make.common \
scripts/bat.desktop.xsu \
scripts/bat.desktop.consolehelper \
scripts/bat.console_apps \
+ scripts/bacula-tray-monitor.desktop \
src/Makefile \
src/host.h \
src/console/Makefile \
diff --git a/bacula/configure b/bacula/configure
index 0a25739..4436357 100755
--- a/bacula/configure
+++ b/bacula/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for bacula 9.0.0.
+# Generated by GNU Autoconf 2.69 for bacula 9.0.2.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bacula'
PACKAGE_TARNAME='bacula'
-PACKAGE_VERSION='9.0.0'
-PACKAGE_STRING='bacula 9.0.0'
+PACKAGE_VERSION='9.0.2'
+PACKAGE_STRING='bacula 9.0.2'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1584,7 +1584,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bacula 9.0.0 to adapt to many kinds of systems.
+\`configure' configures bacula 9.0.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1654,7 +1654,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bacula 9.0.0:";;
+ short | recursive ) echo "Configuration of bacula 9.0.2:";;
esac
cat <<\_ACEOF
@@ -1853,7 +1853,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bacula configure 9.0.0
+bacula configure 9.0.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2788,7 +2788,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bacula $as_me 9.0.0, which was
+It was created by bacula $as_me 9.0.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -31192,7 +31192,7 @@ if test "x${subsysdir}" = "x${sbindir}" ; then
fi
-ac_config_files="$ac_config_files autoconf/Make.common Makefile manpages/Makefile scripts/btraceback scripts/bconsole scripts/baculabackupreport scripts/bacula scripts/bacula-ctl-dir scripts/bacula-ctl-fd scripts/bacula-ctl-sd scripts/devel_bacula scripts/Makefile scripts/logrotate scripts/mtx-changer scripts/disk-changer scripts/dvd-handler scripts/dvd-simulator scripts/logwatch/Makefile scripts/logwatch/logfile.bacula.conf scripts/bat.desktop scripts/bat.desktop.xsu scripts/bat.desktop.consolehelper scripts/bat.console_apps src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/qt-console/bat.conf src/qt-console/bat.pro src/qt-console/bat.pro.mingw32 src/qt-console/bat.pro.mingw64 src/qt-console/install_conf_file src/qt-console/tray-monitor/tray-monitor.conf src/qt-console/tray-monitor/tray-monitor.pro src/qt-console/tray-monitor/tray-monitor.pro.mingw32 src/qt-console/tray-monitor/tray-monitor.pro.mingw64 src/dird/Makefile src/dird/bacula-dir.conf src/lib/Make
file src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/cats/Makefile src/cats/make_catalog_backup.pl src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite3_database src/cats/update_sqlite3_tables src/cats/make_sqlite3_tables src/cats/grant_sqlite3_privileges src/cats/drop_sqlite3_tables src/cats/drop_sqlite3_database src/cats/sqlite src/cats/mysql src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cats/drop_bacula_database src/cats/inst
all-default-backend src/findlib/Makefile src/tools/Makefile src/plugins/fd/Makefile src/plugins/sd/Makefile src/plugins/dir/Makefile po/Makefile.in updatedb/update_mysql_tables updatedb/update_sqlite3_tables updatedb/update_postgresql_tables updatedb/update_mysql_tables_9_to_10 updatedb/update_sqlite3_tables_9_to_10 updatedb/update_postgresql_tables_9_to_10 updatedb/update_mysql_tables_10_to_11 updatedb/update_sqlite3_tables_10_to_11 updatedb/update_postgresql_tables_10_to_11 updatedb/update_mysql_tables_11_to_12 updatedb/update_sqlite3_tables_11_to_12 updatedb/update_postgresql_tables_11_to_12 examples/nagios/check_bacula/Makefile platforms/rpms/redhat/bacula.spec platforms/rpms/redhat/bacula-bat.spec platforms/rpms/redhat/bacula-docs.spec platforms/rpms/redhat/bacula-mtx.spec platforms/rpms/suse/bacula.spec platforms/rpms/suse/bacula-bat.spec platforms/rpms/suse/bacula-docs.spec platforms/rpms/suse/bacula-mtx.spec $PFILES"
+ac_config_files="$ac_config_files autoconf/Make.common Makefile manpages/Makefile scripts/btraceback scripts/bconsole scripts/baculabackupreport scripts/bacula scripts/bacula-ctl-dir scripts/bacula-ctl-fd scripts/bacula-ctl-sd scripts/devel_bacula scripts/Makefile scripts/logrotate scripts/mtx-changer scripts/disk-changer scripts/dvd-handler scripts/dvd-simulator scripts/logwatch/Makefile scripts/logwatch/logfile.bacula.conf scripts/bat.desktop scripts/bat.desktop.xsu scripts/bat.desktop.consolehelper scripts/bat.console_apps scripts/bacula-tray-monitor.desktop src/Makefile src/host.h src/console/Makefile src/console/bconsole.conf src/qt-console/bat.conf src/qt-console/bat.pro src/qt-console/bat.pro.mingw32 src/qt-console/bat.pro.mingw64 src/qt-console/install_conf_file src/qt-console/tray-monitor/tray-monitor.conf src/qt-console/tray-monitor/tray-monitor.pro src/qt-console/tray-monitor/tray-monitor.pro.mingw32 src/qt-console/tray-monitor/tray-monitor.pro.mingw64 src/dird/Makefile s
rc/dird/bacula-dir.conf src/lib/Makefile src/stored/Makefile src/stored/bacula-sd.conf src/filed/Makefile src/filed/bacula-fd.conf src/cats/Makefile src/cats/make_catalog_backup.pl src/cats/make_catalog_backup src/cats/delete_catalog_backup src/cats/create_postgresql_database src/cats/update_postgresql_tables src/cats/make_postgresql_tables src/cats/grant_postgresql_privileges src/cats/drop_postgresql_tables src/cats/drop_postgresql_database src/cats/create_mysql_database src/cats/update_mysql_tables src/cats/make_mysql_tables src/cats/grant_mysql_privileges src/cats/drop_mysql_tables src/cats/drop_mysql_database src/cats/create_sqlite3_database src/cats/update_sqlite3_tables src/cats/make_sqlite3_tables src/cats/grant_sqlite3_privileges src/cats/drop_sqlite3_tables src/cats/drop_sqlite3_database src/cats/sqlite src/cats/mysql src/cats/create_bacula_database src/cats/update_bacula_tables src/cats/grant_bacula_privileges src/cats/make_bacula_tables src/cats/drop_bacula_tables src/cat
s/drop_bacula_database src/cats/install-default-backend src/findlib/Makefile src/tools/Makefile src/plugins/fd/Makefile src/plugins/sd/Makefile src/plugins/dir/Makefile po/Makefile.in updatedb/update_mysql_tables updatedb/update_sqlite3_tables updatedb/update_postgresql_tables updatedb/update_mysql_tables_9_to_10 updatedb/update_sqlite3_tables_9_to_10 updatedb/update_postgresql_tables_9_to_10 updatedb/update_mysql_tables_10_to_11 updatedb/update_sqlite3_tables_10_to_11 updatedb/update_postgresql_tables_10_to_11 updatedb/update_mysql_tables_11_to_12 updatedb/update_sqlite3_tables_11_to_12 updatedb/update_postgresql_tables_11_to_12 examples/nagios/check_bacula/Makefile platforms/rpms/redhat/bacula.spec platforms/rpms/redhat/bacula-bat.spec platforms/rpms/redhat/bacula-docs.spec platforms/rpms/redhat/bacula-mtx.spec platforms/rpms/suse/bacula.spec platforms/rpms/suse/bacula-bat.spec platforms/rpms/suse/bacula-docs.spec platforms/rpms/suse/bacula-mtx.spec $PFILES"
ac_config_commands="$ac_config_commands default"
@@ -31703,7 +31703,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bacula $as_me 9.0.0, which was
+This file was extended by bacula $as_me 9.0.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -31769,7 +31769,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-bacula config.status 9.0.0
+bacula config.status 9.0.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -32304,6 +32304,7 @@ do
"scripts/bat.desktop.xsu") CONFIG_FILES="$CONFIG_FILES scripts/bat.desktop.xsu" ;;
"scripts/bat.desktop.consolehelper") CONFIG_FILES="$CONFIG_FILES scripts/bat.desktop.consolehelper" ;;
"scripts/bat.console_apps") CONFIG_FILES="$CONFIG_FILES scripts/bat.console_apps" ;;
+ "scripts/bacula-tray-monitor.desktop") CONFIG_FILES="$CONFIG_FILES scripts/bacula-tray-monitor.desktop" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"src/host.h") CONFIG_FILES="$CONFIG_FILES src/host.h" ;;
"src/console/Makefile") CONFIG_FILES="$CONFIG_FILES src/console/Makefile" ;;
diff --git a/bacula/scripts/Makefile.in b/bacula/scripts/Makefile.in
index 5f22d22..4eb2478 100755
--- a/bacula/scripts/Makefile.in
+++ b/bacula/scripts/Makefile.in
@@ -67,6 +67,7 @@ install: installdirs
$(MV) -f ${DESTDIR}${scriptdir}/baculabackupreport ${DESTDIR}${scriptdir}/baculabackupreport.old; \
fi
$(INSTALL_SCRIPT) baculabackupreport $(DESTDIR)$(scriptdir)/baculabackupreport
+ $(INSTALL_SCRIPT) bacula-tray-monitor.desktop $(DESTDIR)$(scriptdir)/bacula-tray-monitor.desktop
chmod 0644 $(DESTDIR)$(scriptdir)/btraceback.gdb \
$(DESTDIR)$(scriptdir)/btraceback.dbx \
$(DESTDIR)$(scriptdir)/btraceback.mdb
diff --git a/bacula/src/dird/ua_label.c b/bacula/src/dird/ua_label.c
index c2611d0..f2e1c51 100644
--- a/bacula/src/dird/ua_label.c
+++ b/bacula/src/dird/ua_label.c
@@ -1175,7 +1175,7 @@ void status_slots(UAContext *ua, STORE *store_r)
int max_slots;
int i=1;
/* Slot | Volume | Status | MediaType | Pool */
- const char *slot_hformat=" %4i%c| %16s | %9s | %20s | %18s |\n";
+ const char *slot_hformat="| %4i%c| %-20s | %-9s | %-15s | %-18s |\n";
if (ua->api) {
status_content(ua, store_r);
@@ -1209,8 +1209,9 @@ void status_slots(UAContext *ua, STORE *store_r)
ua->warning_msg(_("No Volumes found, or no barcodes.\n"));
goto bail_out;
}
- ua->send_msg(_(" Slot | Volume Name | Status | Media Type | Pool |\n"));
- ua->send_msg(_("------+------------------+-----------+----------------------+--------------------|\n"));
+ ua->send_msg(_("+------+----------------------+-----------+-----------------+--------------------+\n"));
+ ua->send_msg(_("| Slot | Volume Name | Status | Media Type | Pool |\n"));
+ ua->send_msg(_("+------+----------------------+-----------+-----------------+--------------------+\n"));
/* Walk through the list getting the media records */
for (vl=vol_list; vl; vl=vl->next) {
@@ -1243,6 +1244,7 @@ void status_slots(UAContext *ua, STORE *store_r)
slot_list[i]=0;
}
}
+ ua->send_msg(_("+------+----------------------+-----------+-----------------+--------------------+\n"));
memset(&mr, 0, sizeof(MEDIA_DBR));
bstrncpy(mr.VolumeName, vl->VolName, sizeof(mr.VolumeName));
diff --git a/bacula/src/filed/backup.c b/bacula/src/filed/backup.c
index 02c907b..f76ff86 100644
--- a/bacula/src/filed/backup.c
+++ b/bacula/src/filed/backup.c
@@ -1030,10 +1030,10 @@ static bool setup_compression(bctx_t &bctx)
if ((bctx.ff_pkt->flags & FO_COMPRESS) && bctx.ff_pkt->Compress_algo == COMPRESS_GZIP) {
if ((bctx.ff_pkt->flags & FO_SPARSE) || (bctx.ff_pkt->flags & FO_OFFSETS)) {
- bctx.cbuf = (Bytef *)jcr->compress_buf + OFFSET_FADDR_SIZE;
+ bctx.cbuf = (unsigned char *)jcr->compress_buf + OFFSET_FADDR_SIZE;
bctx.max_compress_len = jcr->compress_buf_size - OFFSET_FADDR_SIZE;
} else {
- bctx.cbuf = (Bytef *)jcr->compress_buf;
+ bctx.cbuf = (unsigned char *)jcr->compress_buf;
bctx.max_compress_len = jcr->compress_buf_size; /* set max length */
}
bctx.wbuf = jcr->compress_buf; /* compressed output here */
@@ -1062,12 +1062,12 @@ static bool setup_compression(bctx_t &bctx)
if ((bctx.ff_pkt->flags & FO_COMPRESS) && bctx.ff_pkt->Compress_algo == COMPRESS_LZO1X) {
if ((bctx.ff_pkt->flags & FO_SPARSE) || (bctx.ff_pkt->flags & FO_OFFSETS)) {
- bctx.cbuf = (Bytef *)jcr->compress_buf + OFFSET_FADDR_SIZE;
- bctx.cbuf2 = (Bytef *)jcr->compress_buf + OFFSET_FADDR_SIZE + sizeof(comp_stream_header);
+ bctx.cbuf = (unsigned char *)jcr->compress_buf + OFFSET_FADDR_SIZE;
+ bctx.cbuf2 = (unsigned char *)jcr->compress_buf + OFFSET_FADDR_SIZE + sizeof(comp_stream_header);
bctx.max_compress_len = jcr->compress_buf_size - OFFSET_FADDR_SIZE;
} else {
- bctx.cbuf = (Bytef *)jcr->compress_buf;
- bctx.cbuf2 = (Bytef *)jcr->compress_buf + sizeof(comp_stream_header);
+ bctx.cbuf = (unsigned char *)jcr->compress_buf;
+ bctx.cbuf2 = (unsigned char *)jcr->compress_buf + sizeof(comp_stream_header);
bctx.max_compress_len = jcr->compress_buf_size; /* set max length */
}
bctx.ch.magic = COMPRESS_LZO1X;
@@ -1076,8 +1076,6 @@ static bool setup_compression(bctx_t &bctx)
bctx.cipher_input = (uint8_t *)jcr->compress_buf; /* encrypt compressed data */
}
#endif
-#else
- bctx.max_compress_len = 0;
#endif
return true;
}
@@ -1154,7 +1152,7 @@ static bool do_libz_compression(bctx_t &bctx)
if (bctx.ff_pkt->flags & FO_COMPRESS && bctx.ff_pkt->Compress_algo == COMPRESS_GZIP && jcr->pZLIB_compress_workset) {
Dmsg3(400, "cbuf=0x%x rbuf=0x%x len=%u\n", bctx.cbuf, bctx.rbuf, sd->msglen);
- ((z_stream*)jcr->pZLIB_compress_workset)->next_in = (Bytef *)bctx.rbuf;
+ ((z_stream*)jcr->pZLIB_compress_workset)->next_in = (unsigned char *)bctx.rbuf;
((z_stream*)jcr->pZLIB_compress_workset)->avail_in = sd->msglen;
((z_stream*)jcr->pZLIB_compress_workset)->next_out = bctx.cbuf;
((z_stream*)jcr->pZLIB_compress_workset)->avail_out = bctx.max_compress_len;
diff --git a/bacula/src/filed/backup.h b/bacula/src/filed/backup.h
index 1fe96b6..1718849 100644
--- a/bacula/src/filed/backup.h
+++ b/bacula/src/filed/backup.h
@@ -48,12 +48,19 @@ struct bctx_t {
uint32_t encrypted_len;
/* Compression variables */
-#if defined(HAVE_LIBZ) || defined(HAVE_LZO)
- uLong compress_len;
- uLong max_compress_len;
- Bytef *cbuf;
- Bytef *cbuf2;
-#endif
+ /* These are the same as used by libz, but I find it very
+ * uncomfortable to define variables like this rather than
+ * specifying a number of bits. Defining them here allows us
+ * to have code that compiles with and without libz and lzo.
+ *
+ * uLong == unsigned long int
+ * Bytef == unsigned char
+ */
+ unsigned long int max_compress_len;
+ unsigned long int compress_len;
+ unsigned char *cbuf;
+ unsigned char *cbuf2;
+
#ifdef HAVE_LZO
comp_stream_header ch;
#endif
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-22 18:39:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 046c1f55433e269132452613f1ff599fa151e2f1 (commit)
from ddb5e517339633813b7bfc6c2ea25c3df552c340 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 046c1f55433e269132452613f1ff599fa151e2f1
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 22 20:39:12 2017 +0200
regress: enhance btape-test to detect NOT correct message
-----------------------------------------------------------------------
Summary of changes:
diff --git a/regress/tests/btape-test b/regress/tests/btape-test
index 00c86f9..272da07 100755
--- a/regress/tests/btape-test
+++ b/regress/tests/btape-test
@@ -40,7 +40,6 @@ quit
END_OF_DATA
fi
-
if [ $? != 0 ] ; then
echo " "
echo " "
@@ -50,6 +49,13 @@ if [ $? != 0 ] ; then
exit 1
fi
+grep "This is NOT correct" $tmp/log1.out >/dev/null
+if [ $? != 1 ] ; then
+ print_debug "btape test command failed failed"
+ estat=1
+fi
+
+
grep "The test autochanger worked" $tmp/log1.out > /dev/null
if [ $? != 0 ] ; then
print_debug "btape autochanger test failed"
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-22 16:10:08
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via ddb5e517339633813b7bfc6c2ea25c3df552c340 (commit)
via 1733220244e41e180cfe5aa2213b45b5c2c0cf9f (commit)
from fb0f4391198c29d92c959115ba883dcfc097a6de (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ddb5e517339633813b7bfc6c2ea25c3df552c340
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 22 18:09:50 2017 +0200
Tweak update version date
commit 1733220244e41e180cfe5aa2213b45b5c2c0cf9f
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 22 18:09:19 2017 +0200
Fix btape test which counted files incorrectly on EOT
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/stored/btape.c b/bacula/src/stored/btape.c
index f6e50c1..e88a9b7 100644
--- a/bacula/src/stored/btape.c
+++ b/bacula/src/stored/btape.c
@@ -1966,7 +1966,7 @@ static void scancmd()
blocks = block_size = tot_blocks = 0;
bytes = 0;
- if (dev->state & ST_EOT) {
+ if (dev->at_eot()) {
Pmsg0(0, _("End of tape\n"));
return;
}
@@ -2009,18 +2009,17 @@ static void scancmd()
dev->update_pos(dcr);
printf(_("End of File mark.\n"));
/* Two reads of zero means end of tape */
- if (dev->state & ST_EOF)
- dev->state |= ST_EOT;
- else {
- dev->state |= ST_EOF;
- dev->file++;
+ if (dev->at_eof()) {
+ dev->set_ateot();
+ } else {
+ dev->set_ateof();
}
- if (dev->state & ST_EOT) {
+ if (dev->at_eot()) {
printf(_("End of tape\n"));
break;
}
} else { /* Got data */
- dev->state &= ~ST_EOF;
+ dev->clear_eof();
blocks++;
tot_blocks++;
bytes += stat;
@@ -2057,7 +2056,7 @@ static void scan_blocks()
for (;;) {
if (!dcr->read_block_from_device(NO_BLOCK_NUMBER_CHECK)) {
Dmsg1(100, "!read_block(): ERR=%s\n", dev->bstrerror());
- if (dev->state & ST_EOT) {
+ if (dev->at_eot()) {
if (blocks > 0) {
if (blocks==1) {
printf(_("1 block of %d bytes in file %d\n"), block_size, dev->file);
diff --git a/bacula/src/stored/tape_dev.c b/bacula/src/stored/tape_dev.c
index 908149a..cb5e9b7 100644
--- a/bacula/src/stored/tape_dev.c
+++ b/bacula/src/stored/tape_dev.c
@@ -1059,6 +1059,9 @@ bool tape_dev::mount_tape(int mount, int dotimeout)
void tape_dev::set_ateof()
{
+ if (at_eof()) {
+ return;
+ }
DEVICE::set_ateof();
file++;
}
diff --git a/bacula/src/version.h b/bacula/src/version.h
index eb65171..7dd01cb 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -6,8 +6,8 @@
/* Note: there can be only *one* VERSION in this file */
#define VERSION "9.0.2"
-#define BDATE "21 July 2017"
-#define LSMDATE "21Jul17"
+#define BDATE "22 July 2017"
+#define LSMDATE "22Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-22 09:40:26
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via fb0f4391198c29d92c959115ba883dcfc097a6de (commit)
from 7bcf6370bfc96f9b7a75d3668aa8c13c3848d36c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fb0f4391198c29d92c959115ba883dcfc097a6de
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 22 11:39:19 2017 +0200
Tweak cleaning tape code
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/dird/ua_label.c b/bacula/src/dird/ua_label.c
index 45c6c96..c2611d0 100644
--- a/bacula/src/dird/ua_label.c
+++ b/bacula/src/dird/ua_label.c
@@ -611,9 +611,11 @@ static void label_from_barcodes(UAContext *ua, int drive)
}
continue; /* done, go handle next volume */
}
- bstrncpy(mr.MediaType, store->media_type, sizeof(mr.MediaType));
+ /* Not a cleaning tape */
+ bstrncpy(mr.MediaType, store->media_type, sizeof(mr.MediaType));
mr.Slot = vl->Slot;
+
send_label_request(ua, &mr, &omr, &pr, 0, media_record_exists, drive);
}
@@ -984,6 +986,9 @@ int get_num_drives_from_SD(UAContext *ua)
*/
static bool is_cleaning_tape(UAContext *ua, MEDIA_DBR *mr, POOL_DBR *pr)
{
+ if (ua->jcr->pool->cleaning_prefix == NULL) {
+ return false; /* if no cleaning prefix, this is not a cleaning tape */
+ }
/* Find Pool resource */
ua->jcr->pool = (POOL *)GetResWithName(R_POOL, pr->Name);
if (!ua->jcr->pool) {
@@ -991,9 +996,6 @@ static bool is_cleaning_tape(UAContext *ua, MEDIA_DBR *mr, POOL_DBR *pr)
pr->Name, mr->VolumeName);
return false;
}
- if (ua->jcr->pool->cleaning_prefix == NULL) {
- return false;
- }
Dmsg4(100, "CLNprefix=%s: Vol=%s: len=%d strncmp=%d\n",
ua->jcr->pool->cleaning_prefix, mr->VolumeName,
strlen(ua->jcr->pool->cleaning_prefix),
@@ -1003,7 +1005,10 @@ static bool is_cleaning_tape(UAContext *ua, MEDIA_DBR *mr, POOL_DBR *pr)
strlen(ua->jcr->pool->cleaning_prefix)) == 0;
}
-static void content_send_info(UAContext *ua, char type, int Slot, char *vol_name)
+/*
+ * Send Volume info to caller in API format
+ */
+static void send_volume_info(UAContext *ua, char type, int Slot, char *vol_name)
{
char ed1[50], ed2[50], ed3[50];
POOL_DBR pr;
@@ -1127,7 +1132,7 @@ void status_content(UAContext *ua, STORE *store)
ua->send_msg("D|%d||\n", Drive);
} else if (sscanf(sd->msg, "%c:%d:F:%127s", &type, &Slot, vol_name)== 3) {
- content_send_info(ua, type, Slot, vol_name);
+ send_volume_info(ua, type, Slot, vol_name);
} else if (sscanf(sd->msg, "%c:%d:E", &type, &Slot) == 2) {
/* type can be S (slot) or I (Import/Export slot) */
@@ -1148,7 +1153,7 @@ void status_content(UAContext *ua, STORE *store)
}
prev = vl;
}
- content_send_info(ua, type, Slot, vol_name);
+ send_volume_info(ua, type, Slot, vol_name);
} else {
Dmsg1(10, "Discarding msg=%s\n", sd->msg);
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-21 13:23:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 7bcf6370bfc96f9b7a75d3668aa8c13c3848d36c (commit)
via 4906fbd17a6e3aae610d9392e30844d619ce5dca (commit)
from 4db84bc9221385a6881848b574463b009f2e73c5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7bcf6370bfc96f9b7a75d3668aa8c13c3848d36c
Author: Kern Sibbald <ke...@si...>
Date: Fri Jul 21 15:23:16 2017 +0200
Tweak update version date
commit 4906fbd17a6e3aae610d9392e30844d619ce5dca
Author: Kern Sibbald <ke...@si...>
Date: Fri Jul 21 15:22:50 2017 +0200
Fix bug #2296 where Bacula would not compile with postgres 8 or older
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/cats/postgresql.c b/bacula/src/cats/postgresql.c
index 3f7ec61..3b3d98c 100644
--- a/bacula/src/cats/postgresql.c
+++ b/bacula/src/cats/postgresql.c
@@ -36,9 +36,18 @@
#ifdef HAVE_POSTGRESQL
#include "cats.h"
+
+/* Note in this file, we want these for Postgresql not Bacula */
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_NAME
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_VERSION
+
#include "libpq-fe.h"
#include "postgres_ext.h" /* needed for NAMEDATALEN */
#include "pg_config_manual.h" /* get NAMEDATALEN on version 8.3 or later */
+#include "pg_config.h" /* for PG_VERSION_NUM */
#define __BDB_POSTGRESQL_H_ 1
#include "bdb_postgresql.h"
@@ -262,6 +271,20 @@ bool BDB_POSTGRESQL::bdb_open_database(JCR *jcr)
/* If connection fails, try at 5 sec intervals for 30 seconds. */
for (int retry=0; retry < 6; retry++) {
/* connect to the database */
+
+#if PG_VERSION_NUM < 90000
+
+ /* Old "depreciated" connection call */
+ mdb->m_db_handle = PQsetdbLogin(
+ mdb->m_db_address, /* default = localhost */
+ port, /* default port */
+ NULL, /* pg options */
+ NULL, /* tty, ignored */
+ mdb->m_db_name, /* database name */
+ mdb->m_db_user, /* login name */
+ mdb->m_db_password); /* password */
+#else
+ /* Code for Postgresql 9.0 and greater */
const char *keywords[10] = {"host", "port",
"dbname", "user",
"password", "sslmode",
@@ -277,8 +300,8 @@ bool BDB_POSTGRESQL::bdb_open_database(JCR *jcr)
mdb->m_db_ssl_cert,
mdb->m_db_ssl_ca,
NULL };
- mdb->m_db_handle = PQconnectdbParams(keywords,
- values, 0);
+ mdb->m_db_handle = PQconnectdbParams(keywords, values, 0);
+#endif
/* If no connect, try once more in case it is a timing problem */
if (PQstatus(mdb->m_db_handle) == CONNECTION_OK) {
diff --git a/bacula/src/version.h b/bacula/src/version.h
index 212a7dd..eb65171 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -6,8 +6,8 @@
/* Note: there can be only *one* VERSION in this file */
#define VERSION "9.0.2"
-#define BDATE "20 July 2017"
-#define LSMDATE "20Jul17"
+#define BDATE "21 July 2017"
+#define LSMDATE "21Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-20 17:46:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 4db84bc9221385a6881848b574463b009f2e73c5 (commit)
from 7061d2221cafd10912fef453a3fb75906efd207c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4db84bc9221385a6881848b574463b009f2e73c5
Author: Kern Sibbald <ke...@si...>
Date: Thu Jul 20 19:46:23 2017 +0200
Tweak update version date
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/version.h b/bacula/src/version.h
index eb7f319..212a7dd 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -6,8 +6,8 @@
/* Note: there can be only *one* VERSION in this file */
#define VERSION "9.0.2"
-#define BDATE "15 July 2017"
-#define LSMDATE "15Jul17"
+#define BDATE "20 July 2017"
+#define LSMDATE "20Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-20 17:44:59
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 7061d2221cafd10912fef453a3fb75906efd207c (commit)
from 2c64854d934ac4d3bc0ce2ca67ee394be512a3d8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7061d2221cafd10912fef453a3fb75906efd207c
Author: Kern Sibbald <ke...@si...>
Date: Thu Jul 20 19:44:39 2017 +0200
Fix bug #2294 Bacula does not build with MariaDB 10.2
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/cats/mysql.c b/bacula/src/cats/mysql.c
index 3aa9a66..5abfa43 100644
--- a/bacula/src/cats/mysql.c
+++ b/bacula/src/cats/mysql.c
@@ -198,6 +198,7 @@ bool BDB_MYSQL::bdb_open_database(JCR *jcr)
BDB_MYSQL *mdb = this;
bool retval = false;
int errstat;
+ my_bool reconnect = 1;
P(mutex);
if (mdb->m_connected) {
@@ -258,7 +259,7 @@ bool BDB_MYSQL::bdb_open_database(JCR *jcr)
bmicrosleep(5,0);
}
- mdb->m_instance.reconnect = 1; /* so connection does not timeout */
+ mysql_options(&mdb->m_instance, MYSQL_OPT_RECONNECT, &reconnect); /* so connection does not timeout */
Dmsg0(50, "mysql_real_connect done\n");
Dmsg3(50, "db_user=%s db_name=%s db_password=%s\n", mdb->m_db_user, mdb->m_db_name,
(mdb->m_db_password == NULL) ? "(NULL)" : mdb->m_db_password);
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-17 07:52:37
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 2c64854d934ac4d3bc0ce2ca67ee394be512a3d8 (commit)
from e7106901c95e7037878b3319d2d021d6bb06a950 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2c64854d934ac4d3bc0ce2ca67ee394be512a3d8
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 17 09:52:22 2017 +0200
Tweak prototype.conf in regress
-----------------------------------------------------------------------
Summary of changes:
diff --git a/regress/prototype.conf b/regress/prototype.conf
index 6c1b25d..bf99f18 100644
--- a/regress/prototype.conf
+++ b/regress/prototype.conf
@@ -14,9 +14,7 @@ USE_VTAPE=yes
BAT=
# Where to get the source to be tested
-cd ..
-BACULA_SOURCE=`pwd`
-cd regress
+BACULA_SOURCE=`pwd`/../bacula
# Where to send email !!!!! Change me !!!!!!!
EMA...@do...
@@ -137,7 +135,7 @@ BASEPORT=8101
# We recommend that you prefix it by your name, and if you have multiple
# test machines, add some indication of the machine.
#
-SITE_NAME=<your-name>-bacula-${HOST}
+SITE_NAME=bacula-${HOST}
# If you want to use the full source tree to run test uncomment this
# KEEP_SOURCE=yes
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-17 07:05:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via e7106901c95e7037878b3319d2d021d6bb06a950 (commit)
from 2cdf525ffb803a547e31e4776d2c3b84d8896807 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e7106901c95e7037878b3319d2d021d6bb06a950
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 17 09:05:05 2017 +0200
Tweak prototype.conf
-----------------------------------------------------------------------
Summary of changes:
diff --git a/regress/prototype.conf b/regress/prototype.conf
index a12afa0..6c1b25d 100644
--- a/regress/prototype.conf
+++ b/regress/prototype.conf
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2000-2015 Kern Sibbald
+# Copyright (C) 2000-2017 Kern Sibbald
# License: BSD 2-Clause; see file LICENSE-FOSS
#
# Set this to the make option (usually -j3 or higher)
@@ -14,7 +14,9 @@ USE_VTAPE=yes
BAT=
# Where to get the source to be tested
-BACULA_SOURCE="${HOME}/bacula/bacula"
+cd ..
+BACULA_SOURCE=`pwd`
+cd regress
# Where to send email !!!!! Change me !!!!!!!
EMA...@do...
@@ -120,9 +122,6 @@ DEDUP=
# Use a client side cache
#DEDUP_FD_CACHE=yes|no
-# enable USEA control library
-#USEA=--enable-usea
-
# see --with-base-port at
# http://www.bacula.org/rel-manual/Installing_Bacula.html
# You only need to change this if you want to run more than one instance
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-15 15:38:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 2cdf525ffb803a547e31e4776d2c3b84d8896807 (commit)
via 8afa22fd9e5bdbca0e7be01b916929a7767a3677 (commit)
via 1f23fef84093b80f14663546146a83156fb367c3 (commit)
from c6c0135cc1a88851cb98f77e522390f6952db3b6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2cdf525ffb803a547e31e4776d2c3b84d8896807
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 15 17:37:23 2017 +0200
Tweak update time/date
commit 8afa22fd9e5bdbca0e7be01b916929a7767a3677
Author: Marcin Haba <mar...@ba...>
Date: Fri Jul 14 19:47:24 2017 +0200
baculum: Fix multiple directors support
commit 1f23fef84093b80f14663546146a83156fb367c3
Author: Marcin Haba <mar...@ba...>
Date: Fri Jul 14 19:26:13 2017 +0200
baculum: Fix showing errors from the API
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/dird/bdirjson.c b/bacula/src/dird/bdirjson.c
index f44f77e..948d1e8 100644
--- a/bacula/src/dird/bdirjson.c
+++ b/bacula/src/dird/bdirjson.c
@@ -760,6 +760,7 @@ static void display_run(HPKT &hpkt)
sendit(NULL, " \"%s\": \"%s\"", RunFields[i].name,
joblevels[j].level_name);
first = false;
+ break;
}
}
//}
diff --git a/bacula/src/version.h b/bacula/src/version.h
index 8f0af46..eb7f319 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -5,9 +5,9 @@
#define COMMUNITY 1 /* Define to create a Windows community binary */
/* Note: there can be only *one* VERSION in this file */
-#define VERSION "9.0.1"
-#define BDATE "12 July 2017"
-#define LSMDATE "12Jul17"
+#define VERSION "9.0.2"
+#define BDATE "15 July 2017"
+#define LSMDATE "15Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
diff --git a/gui/baculum/protected/Web/Class/BaculumAPIClient.php b/gui/baculum/protected/Web/Class/BaculumAPIClient.php
index f8cb849..d918aa1 100644
--- a/gui/baculum/protected/Web/Class/BaculumAPIClient.php
+++ b/gui/baculum/protected/Web/Class/BaculumAPIClient.php
@@ -50,7 +50,7 @@ class BaculumAPIClient extends WebModule {
*
* @access private
*/
- private $session_params = array();
+ private $session_params = array('director');
/**
* Host params to do API requests.
diff --git a/gui/baculum/protected/Web/Pages/BaculumError.page b/gui/baculum/protected/Web/Pages/BaculumError.page
index b2b4d72..f9acc52 100644
--- a/gui/baculum/protected/Web/Pages/BaculumError.page
+++ b/gui/baculum/protected/Web/Pages/BaculumError.page
@@ -2,10 +2,8 @@
<com:TContent ID="Message">
<div id="message-box">
<h2><%[ Baculum problem ]%></h2>
- <com:TPanel Visible="<%=$this->error != 2 && $this->error != 4 && $this->error != 6%>">
- <h3>Error <%=$this->error%> - <%=$this->output%></h3>
- <hr />
- </com:TPanel>
+ <h3>Error <%=$this->error%> - <%=$this->output%></h3>
+ <hr />
<p class="center">
<a href="https://sourceforge.net/<%=$this->Service->constructUrl('WebHome')%>"><%[ TRY AGAIN ]%></a> <%[ or run ]%>
<a href="https://sourceforge.net/<%=$this->Service->constructUrl('WebConfigWizard')%>"><%[ Baculum Initial Wizard ]%></a>
diff --git a/gui/baculum/protected/Web/Pages/BaculumError.php b/gui/baculum/protected/Web/Pages/BaculumError.php
index b65a473..8f047c4 100644
--- a/gui/baculum/protected/Web/Pages/BaculumError.php
+++ b/gui/baculum/protected/Web/Pages/BaculumError.php
@@ -23,12 +23,13 @@
Prado::using('Application.Web.Class.BaculumWebPage');
class BaculumError extends BaculumWebPage {
+
public $error;
public $output;
public function onInit($param) {
$this->error = intval($this->Request['error']);
- $this->output = $this->Request['output'];
+ $this->output = urldecode($this->Request['output']);
}
}
?>
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-14 14:43:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The tag, Release-9.0.1 has been created
at c6c0135cc1a88851cb98f77e522390f6952db3b6 (commit)
- Log -----------------------------------------------------------------
commit c6c0135cc1a88851cb98f77e522390f6952db3b6
Author: Kern Sibbald <ke...@si...>
Date: Thu Jul 13 16:37:14 2017 +0200
Update ReleaseNotes and ChangeLog
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-14 14:42:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community Manual".
The tag, Release-9.0.1 has been created
at ce78ca3727fecba772f5cd4138947906fcca7f12 (commit)
- Log -----------------------------------------------------------------
commit ce78ca3727fecba772f5cd4138947906fcca7f12
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 2 12:51:01 2017 +0200
Update version
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community Manual
|
|
From: <gi...@ba...> - 2017-07-13 14:37:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via c6c0135cc1a88851cb98f77e522390f6952db3b6 (commit)
via 7fd5aedcc41c9cabb33581146abd92326c9fd4c6 (commit)
from d5b102a21d92979ba70695577be20866fdf797ec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c6c0135cc1a88851cb98f77e522390f6952db3b6
Author: Kern Sibbald <ke...@si...>
Date: Thu Jul 13 16:37:14 2017 +0200
Update ReleaseNotes and ChangeLog
commit 7fd5aedcc41c9cabb33581146abd92326c9fd4c6
Author: Kern Sibbald <ke...@si...>
Date: Thu Jul 13 16:35:11 2017 +0200
Tweak update version date
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/ChangeLog b/bacula/ChangeLog
index 4bec942..b09b48e 100644
--- a/bacula/ChangeLog
+++ b/bacula/ChangeLog
@@ -1,5 +1,18 @@
- Changelog on version 9.0.0
+ Changelog on version 9.0.1
+10Jul17
+ - Remove two incorrect trailing commas in bsock.h
+ - Fix bug #2293 bad big endian detection in lz4.c
+ - Add new tray-monitor files that were omitted in the backport from Enterprise
+
+06Jul17
+ - bvfs: Do not insert deleted directories in PathVisibility table
+
+05Jul17
+ - Fix compilation for Debian Stretch with GCC 6.3
+
+Bugs fixed/closed since last release:
+2293
02Jul17
diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes
index 254dfc0..2fffb1b 100644
--- a/bacula/ReleaseNotes
+++ b/bacula/ReleaseNotes
@@ -1,5 +1,21 @@
- Release Notes for Bacula 9.0.0
+ Release Notes for Bacula 9.0.1
+
+This is a minor bug fix release that mainly to include the new
+tray-monitor files that were omitted. The tray-monitor now builds
+and runs at least on Ubuntu Linux.
+
+12Jul17
+ - Remove two incorrect trailing commas in bsock.h
+ - Fix bug #2293 bad big endian detection in lz4.c
+ - Add new tray-monitor files that were omitted in the backport from Enterprise
+ - bvfs: Do not insert deleted directories in PathVisibility table
+ - Fix compilation for Debian Stretch with GCC 6.3
+
+Bugs fixed/closed since last release:
+2293
+
+========
This is either the biggest Bacula release ever made or one of the
biggest ones. Even without the new Aligned Volumes source code, which
diff --git a/bacula/src/version.h b/bacula/src/version.h
index 13603d5..8f0af46 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -6,8 +6,8 @@
/* Note: there can be only *one* VERSION in this file */
#define VERSION "9.0.1"
-#define BDATE "10 July 2017"
-#define LSMDATE "10Jul17"
+#define BDATE "12 July 2017"
+#define LSMDATE "12Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-12 16:52:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via d5b102a21d92979ba70695577be20866fdf797ec (commit)
via b1eb2483a318c2aeaf9f32e796d7e7a398bb2406 (commit)
from 54f7bf4f627bb73bf8fdd672d6e723dfdf60d7b4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d5b102a21d92979ba70695577be20866fdf797ec
Author: Eric Bollengier <er...@ba...>
Date: Wed Jul 5 12:26:37 2017 +0200
Fix compilation for Debian Stretch with GCC 6.3
commit b1eb2483a318c2aeaf9f32e796d7e7a398bb2406
Author: Eric Bollengier <er...@ba...>
Date: Thu Jul 6 10:45:08 2017 +0200
bvfs: Do not insert deleted directories in PathVisibility table
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/cats/bvfs.c b/bacula/src/cats/bvfs.c
index b395c58..91d8278 100644
--- a/bacula/src/cats/bvfs.c
+++ b/bacula/src/cats/bvfs.c
@@ -439,7 +439,7 @@ static int update_path_hierarchy_cache(JCR *jcr,
/* Inserting path records for JobId */
Mmsg(mdb->cmd, "INSERT INTO PathVisibility (PathId, JobId) "
"SELECT DISTINCT PathId, JobId "
- "FROM (SELECT PathId, JobId FROM File WHERE JobId = %s "
+ "FROM (SELECT PathId, JobId FROM File WHERE JobId = %s AND FileIndex <> 0 "
"UNION "
"SELECT PathId, BaseFiles.JobId "
"FROM BaseFiles JOIN File AS F USING (FileId) "
diff --git a/bacula/src/lib/smartall.c b/bacula/src/lib/smartall.c
index 61282d6..49a8c9f 100644
--- a/bacula/src/lib/smartall.c
+++ b/bacula/src/lib/smartall.c
@@ -556,3 +556,10 @@ void operator delete(void *buf)
#endif
#endif
+
+/* Avoid aggressive optimization */
+void *bmemset(void *s, int c, size_t n)
+{
+ void *ret = memset(s, c, n);
+ return ret;
+}
diff --git a/bacula/src/lib/smartall.h b/bacula/src/lib/smartall.h
index 2bde762..49af581 100644
--- a/bacula/src/lib/smartall.h
+++ b/bacula/src/lib/smartall.h
@@ -35,6 +35,9 @@ extern uint32_t DLL_IMP_EXP sm_buffers;
#define SMARTALLOC SMARTALLOC
+/* Avoid aggressive GCC optimization */
+extern void *bmemset(void *s, int c, size_t n);
+
extern void *sm_malloc(const char *fname, int lineno, unsigned int nbytes),
*sm_calloc(const char *fname, int lineno,
unsigned int nelem, unsigned int elsize),
@@ -109,13 +112,13 @@ void *operator new(size_t s, const char *fname, int line)
{
size_t size = s > sizeof(int) ? (unsigned int)s : sizeof(int);
void *p = sm_malloc(fname, line, size);
- return memset(p, 0, size); /* return memset() result to avoid GCC 6.1 issue */
+ return bmemset(p, 0, size); /* return memset() result to avoid GCC 6.1 issue */
}
void *operator new[](size_t s, const char *fname, int line)
{
size_t size = s > sizeof(int) ? (unsigned int)s : sizeof(int);
void *p = sm_malloc(fname, line, size);
- return memset(p, 0, size); /* return memset() result to avoid GCC 6.1 issue */
+ return bmemset(p, 0, size); /* return memset() result to avoid GCC 6.1 issue */
}
void operator delete(void *ptr)
@@ -151,12 +154,12 @@ class SMARTALLOC
public:
void *operator new(size_t s) {
void *p = malloc(s);
- memset(p, 0, s);
+ bmemset(p, 0, s);
return p;
}
void *operator new[](size_t s) {
void *p = malloc(s);
- memset(p, 0, s);
+ bmemset(p, 0, s);
return p;
}
void operator delete(void *ptr) {
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-10 18:24:24
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 54f7bf4f627bb73bf8fdd672d6e723dfdf60d7b4 (commit)
from 8fe9f4a0a6b7a45e1f85288bf00adee1f98baa43 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 54f7bf4f627bb73bf8fdd672d6e723dfdf60d7b4
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 10 20:24:10 2017 +0200
Remove two incorrect trailing commas in bsock.h
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/lib/bsock.h b/bacula/src/lib/bsock.h
index e2de186..b18b9bc 100644
--- a/bacula/src/lib/bsock.h
+++ b/bacula/src/lib/bsock.h
@@ -289,7 +289,7 @@ enum {
BNET_SIGNAL = -1,
BNET_HARDEOF = -2,
BNET_ERROR = -3,
- BNET_COMMAND = -4,
+ BNET_COMMAND = -4
};
/*
@@ -307,7 +307,7 @@ enum {
BNET_CMD_STO_BLOCK = 4, /* backup FD->SD FD send requested block */
BNET_CMD_REC_ACK = 5, /* restore FD->SD FD has consumed records from the buffer */
BNET_CMD_STP_THREAD = 6, /* restore FD->SD SD must stop thread */
- BNET_CMD_STP_FLOWCTRL = 7, /* backup FD->SD SD must stop sending flowcontrol information */
+ BNET_CMD_STP_FLOWCTRL = 7 /* backup FD->SD SD must stop sending flowcontrol information */
};
const char *bnet_cmd_to_name(int val);
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-10 18:18:32
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 8fe9f4a0a6b7a45e1f85288bf00adee1f98baa43 (commit)
from 2e3e5dd3d1e7408b7e58f67a618e6579e5b7d302 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8fe9f4a0a6b7a45e1f85288bf00adee1f98baa43
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 10 20:18:13 2017 +0200
Tweak update version + date
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/version.h b/bacula/src/version.h
index 943b1c8..13603d5 100644
--- a/bacula/src/version.h
+++ b/bacula/src/version.h
@@ -5,9 +5,9 @@
#define COMMUNITY 1 /* Define to create a Windows community binary */
/* Note: there can be only *one* VERSION in this file */
-#define VERSION "9.0.0"
-#define BDATE "02 July 2017"
-#define LSMDATE "02Jul17"
+#define VERSION "9.0.1"
+#define BDATE "10 July 2017"
+#define LSMDATE "10Jul17"
#define RELEASE 1 /* Use ONLY in rpms */
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-10 17:11:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been updated
via 2e3e5dd3d1e7408b7e58f67a618e6579e5b7d302 (commit)
via a34f61be3e65120b8b22d306c0718d7a5aec7bc1 (commit)
from 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2e3e5dd3d1e7408b7e58f67a618e6579e5b7d302
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 10 19:10:34 2017 +0200
Fix bug #2293 bad big endian detection in lz4.c
commit a34f61be3e65120b8b22d306c0718d7a5aec7bc1
Author: Kern Sibbald <ke...@si...>
Date: Mon Jul 10 17:50:29 2017 +0200
Add new tray-monitor files that were omitted in the backport from Enterprise
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/src/lib/lz4.c b/bacula/src/lib/lz4.c
index e04c134..2ffb244 100644
--- a/bacula/src/lib/lz4.c
+++ b/bacula/src/lib/lz4.c
@@ -67,7 +67,8 @@ Note : this source file requires "lz4_encoder.h"
|| defined(__powerpc__) || defined(__ppc__) || defined(__PPC__) \
|| defined(__hpux) || defined(__hppa) \
|| defined(_MIPSEB) || defined(__s390__)
-#error "BIG Endian detected but not set"
+// KES -- the following is not a correct assumption
+//#error "BIG Endian detected but not set"
#endif
#endif
diff --git a/bacula/src/qt-console/tray-monitor/bacula-tray-monitor.conf.in b/bacula/src/qt-console/tray-monitor/bacula-tray-monitor.conf.in
new file mode 100644
index 0000000..4a9eff7
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/bacula-tray-monitor.conf.in
@@ -0,0 +1,32 @@
+#
+# Bacula Tray Monitor Configuration File
+#
+# Copyright (C) 2000-2017 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
+
+Monitor {
+ Name = @basename@-mon
+ RefreshInterval = 120 seconds
+}
+
+Client {
+ Name = @basename@-fd
+ Password = "@mon_fd_password@" # password for FileDaemon
+ Address = @hostname@
+ Port = @fd_port@
+}
+
+#Storage {
+# Name = @basename@-sd
+# Address = @hostname@
+# Port = @sd_port@
+# Password = "@mon_sd_password@" # password for StorageDaemon
+#}
+#
+#Director {
+# Name = @basename@-dir
+# Address = @hostname@
+# Port = @dir_port@
+# Password = "@mon_dir_password@" # password for the Directors
+#}
diff --git a/bacula/src/qt-console/tray-monitor/conf.h b/bacula/src/qt-console/tray-monitor/conf.h
new file mode 100644
index 0000000..e2cb528
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/conf.h
@@ -0,0 +1,85 @@
+/*
+ Bacula(R) - The Network Backup Solution
+
+ Copyright (C) 2000-2017 Kern Sibbald
+
+ The original author of Bacula is Kern Sibbald, with contributions
+ from many others, a complete list can be found in the file AUTHORS.
+
+ You may use this file and others of this release according to the
+ license defined in the LICENSE file, which includes the Affero General
+ Public License, v3.0 ("AGPLv3") and some additional permissions and
+ terms pursuant to its AGPLv3 Section 7.
+
+ This notice must be preserved when any source code is
+ conveyed and/or propagated.
+
+ Bacula(R) is a registered trademark of Kern Sibbald.
+*/
+
+#ifndef CONF_H
+#define CONF_H
+
+#include "common.h"
+#include "ui_main-conf.h"
+#include "ui_res-conf.h"
+#include "tray_conf.h"
+
+class Conf: public QDialog
+{
+ Q_OBJECT
+
+private:
+ CONFIG *config;
+ RES_HEAD **rhead;
+public:
+ int items;
+ QLineEdit::EchoMode passtype;
+ Ui::Conf UIConf;
+ Conf();
+ ~Conf();
+ bool parse_config();
+ void addResource(RESMON *res, const char *title);
+ void addRes(int type, const char *title); /* create the resource */
+public slots:
+ void accept();
+ void selectCommandDir();
+ void addDir();
+ void addStore();
+ void addClient();
+ void togglePassword();
+};
+
+class ConfTab: public QWidget
+{
+ Q_OBJECT
+
+public:
+ Ui::ResConf ui;
+ RESMON *res;
+ int type;
+ bool new_resource;
+ ConfTab(RESMON *r): QWidget() {
+ res = r;
+ type = r->type;
+ new_resource = r->new_resource;
+ ui.setupUi(this);
+ connect(ui.bpDelete, SIGNAL(clicked()), this, SLOT(disable()));
+ };
+ ~ConfTab() {
+ if (new_resource && res) {
+ free_resource((RES*) res, res->type);
+ res = NULL;
+ }
+ };
+public slots:
+ void disable() {
+ setEnabled(false);
+ };
+ void selectCaCertificateFile();
+ void selectCaCertificateDir();
+ void selectCertificate();
+ void selectKey();
+};
+
+#endif
diff --git a/bacula/src/qt-console/tray-monitor/install_conf_file.in b/bacula/src/qt-console/tray-monitor/install_conf_file.in
index 6b9d278..3698afb 100755
--- a/bacula/src/qt-console/tray-monitor/install_conf_file.in
+++ b/bacula/src/qt-console/tray-monitor/install_conf_file.in
@@ -1,4 +1,7 @@
#!/bin/sh
+# Copyright (C) 2000-2017 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
sbindir=@sbindir@
sysconfdir=@sysconfdir@
diff --git a/bacula/src/qt-console/tray-monitor/main-conf.ui b/bacula/src/qt-console/tray-monitor/main-conf.ui
new file mode 100644
index 0000000..4e023ab
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/main-conf.ui
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Conf</class>
+ <widget class="QDialog" name="Conf">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>556</width>
+ <height>337</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Configuration</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tabMonitor">
+ <attribute name="title">
+ <string>Monitor Configuration</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="toolTip">
+ <string>The Monitor name will be used during the authentication phase.</string>
+ </property>
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="editName">
+ <property name="toolTip">
+ <string>The Monitor name will be used during the authentication phase.</string>
+ </property>
+ <property name="maxLength">
+ <number>127</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Refresh Interval:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="spinRefresh">
+ <property name="minimum">
+ <number>5</number>
+ </property>
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ <property name="value">
+ <number>120</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="toolTip">
+ <string>Specify the "Command Directory" where the tray-monitor program will check regularly for jobs to run</string>
+ </property>
+ <property name="text">
+ <string>Command Directory:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLineEdit" name="editCommandDir">
+ <property name="toolTip">
+ <string>Specify the "Command Directory" where the tray-monitor program will check regularly for jobs to run</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="bpCommandDir">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="toolTip">
+ <string>Display or Hide advanced options in the "Run Job" window</string>
+ </property>
+ <property name="text">
+ <string>Display Advanced Options:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="cbDspAdvanced">
+ <property name="toolTip">
+ <string>Display or Hide advanced options in the "Run Job" window</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QPushButton" name="bpSave">
+ <property name="toolTip">
+ <string>Save and Apply the changes</string>
+ </property>
+ <property name="text">
+ <string>Save</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/label.png</normaloff>:/images/label.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="bpCancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/A.png</normaloff>:/images/A.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="bpStrip">
+ <property name="toolTip">
+ <string>Show/Hide Passwords</string>
+ </property>
+ <property name="text">
+ <string>Password</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/zoom.png</normaloff>:/images/zoom.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="bpAddClient">
+ <property name="toolTip">
+ <string>Add Client resource to monitor</string>
+ </property>
+ <property name="text">
+ <string>Client </string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/mark.png</normaloff>:/images/mark.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="bpAddStorage">
+ <property name="toolTip">
+ <string>Add Storage resource to monitor</string>
+ </property>
+ <property name="text">
+ <string>Storage</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/mark.png</normaloff>:/images/mark.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="bpAddDir">
+ <property name="toolTip">
+ <string>Add Director resource to monitor</string>
+ </property>
+ <property name="text">
+ <string> Director</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/mark.png</normaloff>:/images/mark.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../main.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>bpSave</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>30</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>46</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>76</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>159</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpStrip</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>togglePassword()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>178</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>496</x>
+ <y>142</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpAddClient</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>addClient()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>245</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpAddStorage</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>addStore()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>272</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>289</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpAddDir</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>addDir()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>511</x>
+ <y>313</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>331</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpCommandDir</sender>
+ <signal>clicked()</signal>
+ <receiver>Conf</receiver>
+ <slot>selectCommandDir()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>405</x>
+ <y>135</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>466</x>
+ <y>112</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+ <slots>
+ <slot>togglePassword()</slot>
+ <slot>addClient()</slot>
+ <slot>addStore()</slot>
+ <slot>addDir()</slot>
+ <slot>selectCommandDir()</slot>
+ </slots>
+</ui>
diff --git a/bacula/src/qt-console/tray-monitor/res-conf.ui b/bacula/src/qt-console/tray-monitor/res-conf.ui
new file mode 100644
index 0000000..7cf21a7
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/res-conf.ui
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ResConf</class>
+ <widget class="QWidget" name="ResConf">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>417</width>
+ <height>541</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>General</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="toolTip">
+ <string>The Name will be used only in the Tray Monitor interface</string>
+ </property>
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="editName">
+ <property name="toolTip">
+ <string>The Name will be used only in the Tray Monitor interface</string>
+ </property>
+ <property name="maxLength">
+ <number>127</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Description:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="editDescription">
+ <property name="maxLength">
+ <number>512</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="labelPassword">
+ <property name="text">
+ <string>Password:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="editPassword">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="maxLength">
+ <number>127</number>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::PasswordEchoOnEdit</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Address:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="editAddress">
+ <property name="maxLength">
+ <number>1024</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Port:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="editPort">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Timeout:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="editTimeout">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="maxLength">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="labelRemote">
+ <property name="toolTip">
+ <string>Use Client Initiated backup/restore feature</string>
+ </property>
+ <property name="text">
+ <string>Remote</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QCheckBox" name="cbRemote">
+ <property name="toolTip">
+ <string>Use Client Initiated backup/restore feature</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="toolTip">
+ <string>Update the tray monitor icon with the status of this component</string>
+ </property>
+ <property name="text">
+ <string>Monitor:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QCheckBox" name="cbMonitor">
+ <property name="toolTip">
+ <string>Update the tray monitor icon with the status of this component</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QCheckBox" name="cbUseSetIp">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="labelSetIp">
+ <property name="text">
+ <string>Use SetIp:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>TLS</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="3" column="2">
+ <widget class="QToolButton" name="bpCertificate">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>CA Certificate File:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="cbTLSEnabled">
+ <property name="text">
+ <string>Enabled</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QToolButton" name="bpCaCertificateFile">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Key File:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="editCaCertificateDir"/>
+ </item>
+ <item row="2" column="2">
+ <widget class="QToolButton" name="bpCaCertificateDir">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Certificate File:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="editKey"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="editCertificate"/>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="editCaCertificateFile"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>CA Certificate Directory:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QToolButton" name="bpKey">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <zorder>cbTLSEnabled</zorder>
+ <zorder>editCaCertificateFile</zorder>
+ <zorder>label_5</zorder>
+ <zorder>label_6</zorder>
+ <zorder>editCaCertificateDir</zorder>
+ <zorder>label_7</zorder>
+ <zorder>editCertificate</zorder>
+ <zorder>label_8</zorder>
+ <zorder>editKey</zorder>
+ <zorder>bpCaCertificateFile</zorder>
+ <zorder>bpCaCertificateDir</zorder>
+ <zorder>bpCertificate</zorder>
+ <zorder>bpKey</zorder>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QPushButton" name="bpDelete">
+ <property name="maximumSize">
+ <size>
+ <width>64</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>64</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../main.qrc">
+ <normaloff>:/images/purge.png</normaloff>:/images/purge.png</iconset>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>editName</tabstop>
+ <tabstop>editDescription</tabstop>
+ <tabstop>editPassword</tabstop>
+ <tabstop>editAddress</tabstop>
+ <tabstop>editPort</tabstop>
+ <tabstop>editTimeout</tabstop>
+ <tabstop>cbRemote</tabstop>
+ <tabstop>cbTLSEnabled</tabstop>
+ <tabstop>editCaCertificateFile</tabstop>
+ <tabstop>bpCaCertificateFile</tabstop>
+ <tabstop>editCaCertificateDir</tabstop>
+ <tabstop>bpCaCertificateDir</tabstop>
+ <tabstop>editCertificate</tabstop>
+ <tabstop>bpCertificate</tabstop>
+ <tabstop>editKey</tabstop>
+ <tabstop>bpKey</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../main.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>bpCaCertificateFile</sender>
+ <signal>clicked()</signal>
+ <receiver>ResConf</receiver>
+ <slot>selectCaCertificateFile()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>461</x>
+ <y>294</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>521</x>
+ <y>247</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpCaCertificateDir</sender>
+ <signal>clicked()</signal>
+ <receiver>ResConf</receiver>
+ <slot>selectCaCertificateDir()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>452</x>
+ <y>334</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>501</x>
+ <y>355</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpCertificate</sender>
+ <signal>clicked()</signal>
+ <receiver>ResConf</receiver>
+ <slot>selectCertificate()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>459</x>
+ <y>364</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>495</x>
+ <y>384</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>bpKey</sender>
+ <signal>clicked()</signal>
+ <receiver>ResConf</receiver>
+ <slot>selectKey()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>461</x>
+ <y>395</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>481</x>
+ <y>410</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>editCaCertificateFile</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>132</x>
+ <y>271</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>249</x>
+ <y>291</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>editCaCertificateDir</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>120</x>
+ <y>274</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>203</x>
+ <y>325</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>editCertificate</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>68</x>
+ <y>271</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>220</x>
+ <y>360</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>editKey</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>51</x>
+ <y>275</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>288</x>
+ <y>392</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bpCaCertificateFile</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>161</x>
+ <y>267</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>449</x>
+ <y>291</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bpCaCertificateDir</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>145</x>
+ <y>271</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>455</x>
+ <y>329</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bpCertificate</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>140</x>
+ <y>266</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>459</x>
+ <y>358</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cbTLSEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>bpKey</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>118</x>
+ <y>272</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>458</x>
+ <y>389</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+ <slots>
+ <slot>selectCaCertificateFile()</slot>
+ <slot>selectCaCertificateDir()</slot>
+ <slot>selectCertificate()</slot>
+ <slot>selectKey()</slot>
+ </slots>
+</ui>
diff --git a/bacula/src/qt-console/tray-monitor/run.ui b/bacula/src/qt-console/tray-monitor/run.ui
new file mode 100644
index 0000000..4ed29af
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/run.ui
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>runForm</class>
+ <widget class="QWidget" name="runForm">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>568</width>
+ <height>407</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle">
+ <string>Run job</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QLabel" name="run">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>11</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string><h3>Run a Job</h3></string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>5</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../main.qrc">:/images/runit.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab1">
+ <attribute name="title">
+ <string>Properties</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string/>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Job:</string>
+ </property>
+ <property name="buddy">
+ <cstring>jobCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="jobCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContents</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>When:</string>
+ </property>
+ <property name="buddy">
+ <cstring>dateTimeEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDateTimeEdit" name="dateTimeEdit">
+ <property name="currentSection">
+ <enum>QDateTimeEdit::YearSection</enum>
+ </property>
+ <property name="displayFormat">
+ <string>yyyy-MM-dd hh:mm:ss</string>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="boxEstimate">
+ <property name="toolTip">
+ <string><html><head/><body><p>Job statistics computed from the Catalog with previous jobs.</p><p>For accurate information, it is possible to use the bconsole &quot;estimate&quot; command.</p></body></html></string>
+ </property>
+ <property name="title">
+ <string>Estimate:</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelJobBytes_2">
+ <property name="text">
+ <string>Job Bytes:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="labelJobBytes">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelJobFiles_2">
+ <property name="text">
+ <string>Job Files:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="labelJobFiles">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Level:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="labelJobLevel">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab2">
+ <attribute name="title">
+ <string>Advanced</string>
+ </attribute>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Level:</string>
+ </property>
+ <property name="buddy">
+ <cstring>levelCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="levelCombo"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Client:</string>
+ </property>
+ <property name="buddy">
+ <cstring>clientCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="clientCombo"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>FileSet:</string>
+ </property>
+ <property name="buddy">
+ <cstring>filesetCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="filesetCombo"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Pool:</string>
+ </property>
+ <property name="buddy">
+ <cstring>poolCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="poolCombo"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Storage:</string>
+ </property>
+ <property name="buddy">
+ <cstring>storageCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="storageCombo"/>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Catalog:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="catalogCombo"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Priority:</string>
+ </property>
+ <property name="buddy">
+ <cstring>prioritySpin</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QSpinBox" name="prioritySpin">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>10000</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>5</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okButton">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../main.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/bacula/src/qt-console/tray-monitor/runjob.cpp b/bacula/src/qt-console/tray-monitor/runjob.cpp
new file mode 100644
index 0000000..e6204ee
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/runjob.cpp
@@ -0,0 +1,515 @@
+/*
+ Bacula(R) - The Network Backup Solution
+
+ Copyright (C) 2000-2017 Kern Sibbald
+
+ The original author of Bacula is Kern Sibbald, with contributions
+ from many others, a complete list can be found in the file AUTHORS.
+
+ You may use this file and others of this release according to the
+ license defined in the LICENSE file, which includes the Affero General
+ Public License, v3.0 ("AGPLv3") and some additional permissions and
+ terms pursuant to its AGPLv3 Section 7.
+
+ This notice must be preserved when any source code is
+ conveyed and/or propagated.
+
+ Bacula(R) is a registered trademark of Kern Sibbald.
+*/
+
+#include "runjob.h"
+#include <QMessageBox>
+
+static void fillcombo(QComboBox *cb, alist *lst, bool addempty=true)
+{
+ if (lst && lst->size() > 0) {
+ QStringList list;
+ char *str;
+ if (addempty) {
+ list << QString("");
+ }
+ foreach_alist(str, lst) {
+ list << QString(str);
+ }
+ cb->addItems(list);
+ } else {
+ cb->setEnabled(false);
+ }
+}
+
+RunJob::RunJob(RESMON *r): QDialog(), res(r), tabAdvanced(NULL)
+{
+ int nbjob;
+ if (res->jobs->size() == 0) {
+ QMessageBox msgBox;
+ msgBox.setText(_("This restricted console does not have access to Backup jobs"));
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.exec();
+ deleteLater();
+ return;
+
+ }
+
+ ui.setupUi(this);
+ setModal(true);
+ connect(ui.cancelButton, SIGNAL(clicked()), this, SLOT(close_cb()));
+ connect(ui.okButton, SIGNAL(clicked()), this, SLOT(runjob()));
+ connect(ui.jobCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(jobChanged(int)));
+ connect(ui.levelCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(levelChanged(int)));
+ ui.dateTimeEdit->setMinimumDate(QDate::currentDate());
+ ui.dateTimeEdit->setMaximumDate(QDate::currentDate().addDays(7));
+ ui.dateTimeEdit->setDate(QDate::currentDate());
+ ui.dateTimeEdit->setTime(QTime::currentTime());
+ ui.boxEstimate->setVisible(false);
+
+ res->mutex->lock();
+ nbjob = res->jobs->size();
+ fillcombo(ui.jobCombo, res->jobs, (nbjob > 1));
+ fillcombo(ui.clientCombo, res->clients);
+ fillcombo(ui.filesetCombo,res->filesets);
+ fillcombo(ui.poolCombo, res->pools);
+ fillcombo(ui.storageCombo,res->storages);
+ fillcombo(ui.catalogCombo,res->catalogs);
+ res->mutex->unlock();
+ connect(ui.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabChange(int)));
+ QStringList levels;
+ levels << "" << "Incremental" << "Differential" << "Full";
+ ui.levelCombo->addItems(levels);
+
+ MONITOR *m = (MONITOR*) GetNextRes(R_MONITOR, NULL);
+ if (!m->display_advanced_options) {
+ tabAdvanced = ui.tabWidget->widget(1);
+ ui.tabWidget->removeTab(1);
+ }
+
+ show();
+};
+
+void RunJob::tabChange(int idx)
+{
+ QString q = ui.tabWidget->tabText(idx);
+ if (q.contains("Advanced")) {
+ if (ui.jobCombo->currentText().compare("") == 0) {
+ pm_strcpy(curjob, "");
+ ui.tab2->setEnabled(false);
+
+ } else if (ui.jobCombo->currentText().compare(curjob.c_str()) != 0) {
+ task *t = new task();
+ char *job = bstrdup(ui.jobCombo->currentText().toUtf8().data());
+ pm_strcpy(curjob, job); // Keep the job name to not refresh the Advanced tab the next time
+
+ Dmsg1(10, "get defaults for %s\n", job);
+ res->mutex->lock();
+ bfree_and_null(res->defaults.job);
+ res->defaults.job = job;
+ res->mutex->unlock();
+
+ ui.tab2->setEnabled(false);
+ connect(t, SIGNAL(done(task *)), this, SLOT(fill_defaults(task *)), Qt::QueuedConnection);
+ t->init(res, TASK_DEFAULTS);
+ res->wrk->queue(t);
+ }
+ }
+}
+
+void RunJob::runjob()
+{
+ POOL_MEM tmp;
+ char *p;
+
+ p = ui.jobCombo->currentText().toUtf8().data();
+ if (!p || !*p) {
+ QMessageBox msgBox;
+ msgBox.setText(_("Nothing selected"));
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.exec();
+ return;
+ }
+
+ Mmsg(command, "run job=\"%s\" yes", p);
+
+ if (strcmp(p, NPRTB(res->defaults.job)) == 0 || strcmp("", NPRTB(res->defaults.job)) == 0) {
+ p = ui.storageCombo->currentText().toUtf8().data();
+ if (p && *p && strcmp(p, NPRTB(res->defaults.storage)) != 0) {
+ Mmsg(tmp, " storage=\"%s\"", p);
+ pm_strcat(command, tmp.c_str());
+ }
+
+ p = ui.clientCombo->currentText().toUtf8().data();
+ if (p && *p && strcmp(p, NPRTB(res->defaults.client)) != 0) {
+ Mmsg(tmp, " client=\"%s\"", p);
+ pm_strcat(command, tmp.c_str());
+ }
+
+ p = ui.levelCombo->currentText().toUtf8().data();
+ if (p && *p && strcmp(p, NPRTB(res->defaults.level)) != 0) {
+ Mmsg(tmp, " level=\"%s\"", p);
+ pm_strcat(command, tmp.c_str());
+ }
+
+ p = ui.poolCombo->currentText().toUtf8().data();
+ if (p && *p && strcmp(p, NPRTB(res->defaults.pool)) != 0) {
+ Mmsg(tmp, " pool=\"%s\"", p);
+ pm_strcat(command, tmp.c_str());
+ }
+
+ p = ui.filesetCombo->currentText().toUtf8().data();
+ if (p && *p && strcmp(p, NPRTB(res->defaults.fileset)) != 0) {
+ Mmsg(tmp, " fileset=\"%s\"", p);
+ pm_strcat(command, tmp.c_str());
+ }
+
+ if (res->defaults.priority && res->defaults.priority != ui.prioritySpin->value()) {
+ Mmsg(tmp, " priority=\"%d\"", res->defaults.priority);
+ pm_strcat(command, tmp.c_str());
+ }
+ }
+
+ QDate dnow = QDate::currentDate();
+ QTime tnow = QTime::currentTime();
+ QDate dval = ui.dateTimeEdit->date();
+ QTime tval = ui.dateTimeEdit->time();
+
+ if (dval > dnow || (dval == dnow && tval > tnow)) {
+ Mmsg(tmp, " when=\"%s %s\"", dval.toString("yyyy-MM-dd").toUtf8().data(), tval.toString("hh:mm:00").toUtf8().data());
+ pm_strcat(command, tmp.c_str());
+ }
+
+ if (res->type == R_CLIENT) {
+ pm_strcat(command, " fdcalled=1");
+ }
+
+ // Build the command and run it!
+ task *t = new task();
+ connect(t, SIGNAL(done(task *)), this, SLOT(jobStarted(task *)), Qt::QueuedConnection);
+ t->arg = command.c_str();
+ t->init(res, TASK_RUN);
+ res->wrk->queue(t);
+}
+
+void RunJob::jobStarted(task *t)
+{
+ Dmsg1(10, "%s\n", command.c_str());
+ Dmsg1(10, "-> jobid=%d\n", t->result.i);
+ deleteLater();
+ delete t;
+}
+
+void RunJob::close_cb(task *t)
+{
+ deleteLater();
+ delete t;
+}
+
+void RunJob::close_cb()
+{
+ task *t = new task();
+ connect(t, SIGNAL(done(task *)), this, SLOT(close_cb(task *)), Qt::QueuedConnection);
+ t->init(res, TASK_DISCONNECT);
+ res->wrk->queue(t);
+}
+
+void RunJob::jobChanged(int)
+{
+ char *p;
+ ui.levelCombo->setCurrentIndex(0);
+ ui.storageCombo->setCurrentIndex(0);
+ ui.filesetCombo->setCurrentIndex(0);
+ ui.clientCombo->setCurrentIndex(0);
+ ui.storageCombo->setCurrentIndex(0);
+ ui.poolCombo->setCurrentIndex(0);
+ ui.catalogCombo->setCurrentIndex(0);
+
+ p = ui.jobCombo->currentText().toUtf8().data();
+ if (p && *p) {
+ task *t = new task();
+ pm_strcpy(info, p);
+ connect(t, SIGNAL(done(task *)), this, SLOT(jobInfo(task *)), Qt::QueuedConnection);
+ t->arg = info.c_str(); // Jobname
+ t->arg2 = NULL; // Level
+ t->init(res, TASK_INFO);
+ res->wrk->queue(t);
+ }
+}
+
+void RunJob::levelChanged(int)
+{
+ char *p;
+ p = ui.jobCombo->currentText().toUtf8().data();
+ if (p && *p) {
+ pm_strcpy(info, p);
+ p = ui.levelCombo->currentText().toUtf8().data();
+ if (p && *p) {
+ task *t = new task();
+ pm_strcpy(level, p);
+ connect(t, SIGNAL(done(task *)), this, SLOT(jobInfo(task *)), Qt::QueuedConnection);
+ t->arg = info.c_str(); // Jobname
+ t->arg2 = level.c_str(); // Level
+ t->init(res, TASK_INFO);
+ res->wrk->queue(t);
+ }
+ }
+}
+
+void RunJob::jobInfo(task *t)
+{
+ char ed1[50];
+ res->mutex->lock();
+ if (res->infos.CorrNbJob == 0) {
+ ui.boxEstimate->setVisible(false);
+ } else {
+ QString t;
+ edit_uint64_with_suffix(res->infos.JobBytes, ed1);
+ strncat(ed1, "B", sizeof(ed1));
+ ui.labelJobBytes->setText(QString(ed1));
+ ui.labelJobFiles->setText(QString(edit_uint64_with_commas(res->infos.JobFiles, ed1)));
+ ui.labelJobLevel->setText(QString(job_level_to_str(res->infos.JobLevel)));
+ t = tr("Computed over %1 job%2, the correlation is %3/100.").arg(res->infos.CorrNbJob).arg(res->infos.CorrNbJob>1?"s":"").arg(res->infos.CorrJobBytes);
+ ui.labelJobBytes_2->setToolTip(t);
+ t = tr("Computed over %1 job%2, The correlation is %3/100.").arg(res->infos.CorrNbJob).arg(res->infos.CorrNbJob>1?"s":"").arg(res->infos.CorrJobFiles);
+ ui.labelJobFiles_2->setToolTip(t);
+ ui.boxEstimate->setVisible(true);
+ }
+ res->mutex->unlock();
+ t->deleteLater();
+}
+
+static void set_combo(QComboBox *dest, char *str)
+{
+ if (str) {
+ int idx = dest->findText(QString(str), Qt::MatchExactly);
+ if (idx >= 0) {
+ dest->setCurrentIndex(idx);
+ }
+ }
+}
+
+void RunJob::fill_defaults(task *t)
+{
+ if (t->status == true) {
+ res->mutex->lock();
+ set_combo(ui.levelCombo, res->defaults.level);
+ set_combo(ui.filesetCombo, res->defaults.fileset);
+ set_combo(ui.clientCombo, res->defaults.client);
+ set_combo(ui.storageCombo, res->defaults.storage);
+ set_combo(ui.poolCombo, res->defaults.pool);
+ set_combo(ui.catalogCombo, res->defaults.catalog);
+ res->mutex->unlock();
+ }
+
+ ui.tab2->setEnabled(true);
+ t->deleteLater();
+}
+
+RunJob::~RunJob()
+{
+ Dmsg0(10, "~RunJob()\n");
+ if (tabAdvanced) {
+ delete tabAdvanced;
+ }
+}
+
+void TSched::init(const char *cmd_dir)
+{
+ bool started = (timer >= 0);
+ if (started) {
+ stop();
+ }
+
+ bfree_and_null(command_dir);
+ command_dir = bstrdup(cmd_dir);
+
+ if (started) {
+ start();
+ }
+}
+
+TSched::TSched() {
+ timer = -1;
+ command_dir = NULL;
+}
+
+TSched::~TSched() {
+ if (timer >= 0) {
+ stop();
+ }
+ bfree_and_null(command_dir);
+}
+
+#ifndef HAVE_READDIR_R
+int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
+#else
+#include <dirent.h>
+#endif
+
+bool TSched::read_command_file(const char *file, alist *lst, btime_t mtime)
+{
+ POOLMEM *line;
+ bool ret=false;
+ char *p;
+ TSchedJob *s;
+ Dmsg1(50, "open command file %s\n", file);
+ FILE *fp = fopen(file, "r");
+ if (!fp) {
+ return false;
+ }
+ line = get_pool_memory(PM_FNAME);
+
+ /* Get the first line, client/component:command */
+ while (bfgets(line, fp) != NULL) {
+ strip_trailing_junk(line);
+ Dmsg1(50, "%s\n", line);
+ if (line[0] == '#') {
+ continue;
+ }
+
+ if ((p = strchr(line, ':')) != NULL) {
+ *p=0;
+ s = new TSchedJob(line, p+1, mtime);
+ lst->append(s);
+ ret = true;
+ }
+ }
+
+ free_pool_memory(line);
+ fclose(fp);
+ return ret;
+}
+
+#include "lib/plugins.h"
+#include "lib/cmd_parser.h"
+
+void TSched::timerEvent(QTimerEvent *event)
+{
+ POOL_MEM tmp, command;
+ TSchedJob *j;
+ alist lst(10, not_owned_by_alist);
+ arg_parser parser;
+ int i;
+ task *t;
+ RESMON *res;
+ scan_for_commands(&lst);
+
+ foreach_alist(j, (&lst)) {
+ if (parser.parse_cmd(j->command) == bRC_OK) {
+ if ((i = parser.find_arg_with_value("job")) > 0) {
+ QMessageBox msgbox;
+ foreach_res(res, R_CLIENT) {
+ if (strcmp(res->hdr.name, j->component) == 0) {
+ break;
+ }
+ }
+ if (!res) {
+ foreach_res(res, R_DIRECTOR) {
+ if (strcmp(res->hdr.name, j->component) == 0) {
+ break;
+ }
+ }
+ }
+ if (!res) {
+ msgbox.setIcon(QMessageBox::Information);
+ msgbox.setText(QString("Unable to find the component \"%1\" to run the job \"%2\".").arg(j->component, j->command));
+ msgbox.setStandardButtons(QMessageBox::Ignore);
+ } else {
+
+ msgbox.setIcon(QMessageBox::Information);
+ msgbox.setText(QString("The job \"%1\" will start automatically in few seconds...").arg(parser.argv[i]));
+ msgbox.setStandardButtons(QMessageBox::Ok | QMessageBox::Ignore);
+ msgbox.setDefaultButton(QMessageBox::Ok);
+ msgbox.button(QMessageBox::Ok)->animateClick(6000);
+ }
+ switch(msgbox.exec()) {
+ case QMessageBox::Ok:
+ Mmsg(command, "%s yes", j->command);
+
+ if (res->type == R_CLIENT) {
+ pm_strcat(command, " fdcalled=1");
+ }
+
+ // Build the command and run it!
+ t = new task();
+ connect(t, SIGNAL(done(task *)), this, SLOT(jobStarted(task *)), Qt::QueuedConnection);
+ t->arg = command.c_str();
+ t->init(res, TASK_RUN);
+ res->wrk->queue(t);
+
+ break;
+ case QMessageBox::Cancel:
+ case QMessageBox::Ignore:
+ break;
+ }
+ }
+ }
+ delete j;
+ }
+}
+
+void TSched::jobStarted(task *t)
+{
+ Dmsg1(10, "-> jobid=%d\n", t->result.i);
+ t->deleteLater();
+}
+
+
+bool TSched::scan_for_commands(alist *commands)
+{
+ int name_max, len;
+ DIR* dp = NULL;
+ POOL_MEM fname(PM_FNAME), fname2(PM_FNAME);
+ bool ret=false, found=false;
+ struct dirent *entry = NULL, *result;
+ struct stat statp;
+
+ name_max = pathconf(".", _PC_NAME_MAX);
+ if (name_max < 1024) {
+ name_max = 1024;
+ }
+
+ if (!(dp = opendir(command_dir))) {
+ berrno be;
+ Dmsg2(0, "Failed to open directory %s: ERR=%s\n",
+ command_dir, be.bstrerror());
+ goto bail_out;
+ }
+
+ entry = (struct dirent *)malloc(sizeof(struct dirent) + name_max + 1000);
+ for ( ;; ) {
+ if ((readdir_r(dp, entry, &result) != 0) || (result == NULL)) {
+ if (!found) {
+ goto bail_out;
+ }
+ break;
+ }
+ if (strcmp(result->d_name, ".") == 0 ||
+ strcmp(result->d_name, "..") == 0) {
+ continue;
+ }
+ len = strlen(result->d_name);
+ if (len <= 5) {
+ continue;
+ }
+ if (strcmp(result->d_name + len - 5, ".bcmd") != 0) {
+ continue;
+ }
+
+ Mmsg(fname, "%s/%s", command_dir, result->d_name);
+
+ if (lstat(fname.c_str(), &statp) != 0 || !S_ISREG(statp.st_mode)) {
+ continue; /* ignore directories & special files */
+ }
+
+ if (read_command_file(fname.c_str(), commands, statp.st_mtime)) {
+ Mmsg(fname2, "%s.ok", fname.c_str());
+ unlink(fname2.c_str());
+ rename(fname.c_str(), fname2.c_str()); // TODO: We should probably unlink the file
+ }
+ }
+bail_out:
+ if (entry) {
+ free(entry);
+ }
+ if (dp) {
+ closedir(dp);
+ }
+ return ret;
+}
diff --git a/bacula/src/qt-console/tray-monitor/runjob.h b/bacula/src/qt-console/tray-monitor/runjob.h
new file mode 100644
index 0000000..6333865
--- /dev/null
+++ b/bacula/src/qt-console/tray-monitor/runjob.h
@@ -0,0 +1,118 @@
+/*
+ Bacula(R) - The Network Backup Solution
+
+ Copyright (C) 2000-2017 Kern Sibbald
+
+ The original author of Bacula is Kern Sibbald, with contributions
+ from many others, a complete list can be found in the file AUTHORS.
+
+ You may use this file and others of this release according to the
+ license defined in the LICENSE file, which includes the Affero General
+ Public License, v3.0 ("AGPLv3") and some additional permissions and
+ terms pursuant to its AGPLv3 Section 7.
+
+ This notice must be preserved when any source code is
+ conveyed and/or propagated.
+
+ Bacula(R) is a registered trademark of Kern Sibbald.
+*/
+
+#ifndef RUN_H
+#define RUN_H
+
+#include "common.h"
+#include "ui_run.h"
+#include "tray_conf.h"
+#include "task.h"
+
+class RunJob: public QDialog
+{
+ Q_OBJECT
+
+public:
+ RESMON *res;
+ QWidget *tabAdvanced;
+ POOL_MEM command;
+ POOL_MEM info;
+ POOL_MEM level;
+ POOL_MEM curjob;
+ Ui::runForm ui;
+ RunJob(RESMON *r);
+ ~RunJob();
+
+public slots:
+ void jobChanged(int);
+ void levelChanged(int);
+ void jobStarted(task *);
+ void jobInfo(task *);
+ void fill_defaults(task *);
+ void tabChange(int idx);
+ void runjob();
+ /* close the w...
[truncated message content] |
|
From: <gi...@ba...> - 2017-07-09 06:56:29
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community manual".
The branch, Branch-9.0 has been created
at ce78ca3727fecba772f5cd4138947906fcca7f12 (commit)
- Log -----------------------------------------------------------------
commit ce78ca3727fecba772f5cd4138947906fcca7f12
Author: Kern Sibbald <ke...@si...>
Date: Sun Jul 2 12:51:01 2017 +0200
Update version
commit fb51f1b85bb1929f61c856eec73fa9f274301947
Author: Kern Sibbald <ke...@si...>
Date: Sat Jul 1 16:15:16 2017 +0200
Document baculabackupreport
commit 85c5b92eac187a6970c9a9c4cc0ba3d3e5502332
Author: Kern Sibbald <ke...@si...>
Date: Fri Jun 30 14:41:28 2017 +0200
Delete left over old text from misc coverpage
commit 8f01a2bacfa1fdc85ba43b4cfbcf049c8af7b2ef
Author: Kern Sibbald <ke...@si...>
Date: Fri Jun 30 14:40:55 2017 +0200
Remove home-page directory -- nolonger used
commit 9b6c0b0f80eef75e63a72d3bc93228f16af873cd
Author: Kern Sibbald <ke...@si...>
Date: Fri Jun 30 10:39:12 2017 +0200
Tweak for version 9.0.0
commit 38b66f106ae3cc3a1c56faa6a63336f832208145
Author: Kern Sibbald <ke...@si...>
Date: Fri Jun 30 09:12:11 2017 +0200
Improve some text
commit 999f9871ad025a9e8fcf572538c1ea07da337319
Author: Kern Sibbald <ke...@si...>
Date: Mon Jun 26 09:57:24 2017 +0200
Delete duplicated tls paragraph
commit 2a125a64360c3b637a0e30d796b3308d3f5fcb04
Author: Kern Sibbald <ke...@si...>
Date: Sat Jun 17 16:29:35 2017 +0200
Update version
commit d422d8d1ba484bde2119d5f13b0ae4ea6b9df949
Author: Kern Sibbald <ke...@si...>
Date: Sun Jun 11 07:10:14 2017 +0200
Update version
commit 8f9d53ca9b7e505fcb3aae77ab10022bd67267fa
Author: Marcin Haba <mar...@ba...>
Date: Sat Jun 10 18:30:31 2017 +0200
baculum: Update api endpoints documentation about Bvfs
commit b00fc9532bcfdf74dcc76c42162fa2d98c67795e
Author: Marcin Haba <mar...@ba...>
Date: Sat Jun 3 19:33:23 2017 +0200
baculum: Document post method fields
commit 3f2ba8e2fe1f29c0954da7ae68542b181cf67527
Author: Kern Sibbald <ke...@si...>
Date: Sat Jun 3 15:55:01 2017 +0200
Improve Autochanger documentation
commit f609d7a0f9d8219e1bbb291f05e953ff8a5edfdc
Author: Kern Sibbald <ke...@si...>
Date: Sat Jun 3 10:52:12 2017 +0200
Small changers
commit bc5a9e800944e81b242086f3017e297c626ef511
Author: Kern Sibbald <ke...@si...>
Date: Sat May 27 16:28:02 2017 +0200
More document fixes
commit 6077758f403a3ce280069460a9cf99194d18879e
Author: Kern Sibbald <ke...@si...>
Date: Sat May 27 16:08:53 2017 +0200
Fix various typos that were reported
commit 4df9e46d36a6c4040908609af712dd718f663f83
Author: Kern Sibbald <ke...@si...>
Date: Sat May 27 15:48:20 2017 +0200
Fix bug #2240 correct typo and directive default
commit 97c249cc920895ecc431d3961967709f419d225d
Author: Kern Sibbald <ke...@si...>
Date: Fri May 26 10:06:51 2017 +0200
Add missing image + fix typo in new features
commit 9a2ef318df5c9a63d53467bf6fed250de528762f
Author: Kern Sibbald <ke...@si...>
Date: Thu May 25 12:44:37 2017 +0200
Add new messageid documentation
commit 508f9310266216942773f6ad418632281b6d7f74
Author: Marcin Haba <mar...@ba...>
Date: Thu May 25 12:26:36 2017 +0200
Add images to Baculum documentation
commit 4778aadccfd416213a23472a9558cde5e0acbab6
Author: Marcin Haba <mar...@ba...>
Date: Thu May 25 12:21:36 2017 +0200
Update Baculum documenation
commit b1dee05960ab7977e1823e54065ed0540b06536b
Author: Kern Sibbald <ke...@si...>
Date: Thu May 25 12:20:46 2017 +0200
Tweak minor changes
commit 1bec91207da5dc7d5ffbfb65e0bbaa67d9b91850
Author: Kern Sibbald <ke...@si...>
Date: Fri May 19 09:20:04 2017 +0200
Add conf-nat images
commit e58d9cca984c04f262167efd08dedc677616fd97
Author: Kern Sibbald <ke...@si...>
Date: Fri May 19 09:17:49 2017 +0200
Tweak update version
commit ef0254a6cc9d08b340ee1d10ebe49a2b84cb0799
Author: Kern Sibbald <ke...@si...>
Date: Fri May 19 08:50:51 2017 +0200
Tweak changes
commit 6cba7fd85caae1a800c43fa7c9bbf1290cca1394
Author: Kern Sibbald <ke...@si...>
Date: Fri May 19 08:50:42 2017 +0200
Update newfeatures
commit 126bc366d2025462ab9bf0fcd9268ecf92a47836
Author: Kern Sibbald <ke...@si...>
Date: Sun May 14 18:44:12 2017 +0200
Add more new images
commit 6a48c51f18971d3048cd857dd43d3d31b09b4988
Author: Kern Sibbald <ke...@si...>
Date: Sun May 14 18:42:41 2017 +0200
Add new images
commit 670a7e6d5e9ca9a8515ca3924d7d573d16f08f18
Author: Kern Sibbald <ke...@si...>
Date: Sun May 14 18:41:21 2017 +0200
Update new features chapter
commit 770b226aba2e10ef45d6e17430c0fa68acc49813
Author: Kern Sibbald <ke...@si...>
Date: Sun May 14 15:30:50 2017 +0200
Updates to the New Features chapter
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community manual
|
|
From: <gi...@ba...> - 2017-07-09 06:05:19
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-9.0 has been created
at 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30 (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-07 08:03:06
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community manual".
The branch, Branch-7.9 has been deleted
was ce78ca3727fecba772f5cd4138947906fcca7f12
-----------------------------------------------------------------------
ce78ca3727fecba772f5cd4138947906fcca7f12 Update version
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community manual
|
|
From: <gi...@ba...> - 2017-07-07 07:35:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The tag, Release-9.0.0 has been created
at 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30 (commit)
- Log -----------------------------------------------------------------
commit 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30
Author: Davide Franco <dav...@ba...>
Date: Tue Jul 4 14:11:07 2017 +0200
rpm: Add aligned plugin spec file
-----------------------------------------------------------------------
hooks/post-receive
--
Bacula Community source git repository
|
|
From: <gi...@ba...> - 2017-07-07 07:35:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source git repository".
The branch, Branch-7.9 has been updated
via 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30 (commit)
via a3f1ae29dc1177b2d3194ed3c326294faae3e889 (commit)
from 0c114a6b3b035ae3f3d55f504332cfd3564a698d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 28a77c1b607e7b5abc08c3e9fa0b1fe1733d2b30
Author: Davide Franco <dav...@ba...>
Date: Tue Jul 4 14:11:07 2017 +0200
rpm: Add aligned plugin spec file
commit a3f1ae29dc1177b2d3194ed3c326294faae3e889
Author: Davide Franco <dav...@ba...>
Date: Tue Jul 4 14:09:27 2017 +0200
rpm: Add baculabackupreport script
-----------------------------------------------------------------------
Summary of changes:
diff --git a/bacula/platforms/rpms/redhat/bacula-aligned.spec.in b/bacula/platforms/rpms/redhat/bacula-aligned.spec.in
new file mode 100644
index 0000000..e6906a5
--- /dev/null
+++ b/bacula/platforms/rpms/redhat/bacula-aligned.spec.in
@@ -0,0 +1,142 @@
+# Bacula RPM spec file
+#
+# Copyright (C) 2013-2014 Bacula Systems SA
+
+# Platform Build Configuration
+# TODO: merge all plugins into one spec file
+
+# basic defines for every build
+%define _release @RELEASE@
+%define _version @VERSION@
+%define product bacula
+%define _lsm @LSMDATE@
+%define _packager Kern Sibbald <ke...@ba...>
+%define manpage_ext gz
+
+# Don't strip binaries
+%define __os_install_post %{nil}
+%define __debug_install_post %{nil}
+%define debug_package %{nil}
+
+# Installation Directory locations
+%define _prefix /opt/bacula
+%define _sbindir /opt/bacula/bin
+%define _bindir /opt/bacula/bin
+%define _subsysdir /opt/bacula/working
+%define sqlite_bindir /opt/bacula/sqlite
+%define _mandir /usr/share/man
+%define sysconf_dir /opt/bacula/etc
+%define scripts_dir /opt/bacula/scripts
+%define working_dir /opt/bacula/working
+%define pid_dir /opt/bacula/working
+%define plugin_dir /opt/bacula/plugins
+%define lib_dir /opt/bacula/lib
+
+# Daemon user:group Don't change them unless you know what you are doing
+%define director_daemon_user bacula
+%define storage_daemon_user bacula
+%define file_daemon_user root
+%define daemon_group bacula
+# group that has write access to tape devices, usually disk on Linux
+%define storage_daemon_group disk
+
+#--------------------------------------------------------------------------
+# it should not be necessary to change anything below here for a release
+# except for patch macros in the setup section
+#--------------------------------------------------------------------------
+
+%define base_package_name bacula
+
+%{?contrib_packager:%define _packager %{contrib_packager}}
+
+Summary: Bacula - The Network Backup Solution
+Name: %{base_package_name}-aligned
+Version: %{_version}
+Release: %{_release}
+Group: System Environment/Daemons
+License: AGPLv3
+BuildRoot: %{_tmppath}/%{name}-root
+URL: http://www.bacula.org/
+Vendor: The Bacula Team
+Packager: %{_packager}
+Prefix: %{_prefix}
+Distribution: Bacula Aligned Volumes
+
+Source0: http://www.prdownloads.sourceforge.net/bacula/%{product}-%{version}.tar.gz
+
+Requires: bacula-sd, %{base_package_name}-libs = %{_version}
+
+# define the basic package description
+%define blurb Bacula Aligned - The Network Backup Solution.
+%define blurb2 Bacula Aligned plugin allows you to backup to a
+%define blurb3 Volume with aligned blocks permitting easier deduplication.
+
+Summary: Bacula Aligned Volume Storage - The Network Backup Solution
+Group: System Environment/Daemons
+
+%description
+%{blurb}
+
+%{blurb2}
+%{blurb3}
+
+This is Bacula Aligned Volumes Storage plugin.
+
+%prep
+%setup -T -D -n bacula-%{_version} -b 0
+
+%build
+
+cd ../bacula-%{_version}
+./configure \
+ --prefix=%{_prefix} \
+ --sbindir=%{_sbindir} \
+ --sysconfdir=%{sysconf_dir} \
+ --mandir=%{_mandir} \
+ --with-scriptdir=%{scripts_dir} \
+ --with-working-dir=%{working_dir} \
+ --with-plugindir=%{plugin_dir} \
+ --with-pid-dir=%{pid_dir} \
+ --with-subsys-dir=%{_subsysdir} \
+ --enable-smartalloc \
+ --disable-bat \
+ --enable-client-only \
+ --with-dir-user=%{director_daemon_user} \
+ --with-dir-group=%{daemon_group} \
+ --with-sd-user=%{storage_daemon_user} \
+ --with-sd-group=%{storage_daemon_group} \
+ --with-fd-user=%{file_daemon_user} \
+ --with-fd-group=%{daemon_group} \
+ --with-basename="XXX_HOSTNAME_XXX" \
+ --with-hostname="XXX_HOSTNAME_XXX" \
+ --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
+ --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
+ --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
+ --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
+ --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
+ --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX"
+
+make
+
+%install
+
+mkdir -p $RPM_BUILD_ROOT%{_sbindir}
+mkdir -p $RPM_BUILD_ROOT%{plugin_dir}
+mkdir -p $RPM_BUILD_ROOT%{scripts_dir}
+mkdir -p $RPM_BUILD_ROOT%{lib_dir}
+
+make DESTDIR=$RPM_BUILD_ROOT -C ../bacula-%{_version}/src/stored install-aligned
+
+# Remove unneeded file(s)
+rm -f $RPM_BUILD_ROOT%{plugin_dir}/bacula-sd-aligned-driver.so
+
+%files
+%defattr(-,root,%{daemon_group})
+%attr(-, root, %{daemon_group}) %{plugin_dir}/bacula-sd-aligned-driver-%{_version}.so
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
+
+%changelog
+* Mon Jul 3 2017 Davide Franco <dav...@ba...>
+- First version
diff --git a/bacula/platforms/rpms/redhat/bacula.spec.in b/bacula/platforms/rpms/redhat/bacula.spec.in
index eae9b5d..0e6e961 100644
--- a/bacula/platforms/rpms/redhat/bacula.spec.in
+++ b/bacula/platforms/rpms/redhat/bacula.spec.in
@@ -855,6 +855,7 @@ rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
%attr(-, root, %{daemon_group}) %{script_dir}/tapealert
+%attr(-, root, %{daemon_group}) %{script_dir}/baculabackupreport
%attr(-, root, %{daemon_group}) %{plugin_dir}/bpipe-fd.so
%attr(-, root, %{daemon_group}) %{_sbindir}/dbcheck
hooks/post-receive
--
Bacula Community source git repository
|