diff options
author | Sven Hartge <sven@svenhartge.de> | 2020-12-13 10:09:38 +0100 |
---|---|---|
committer | Sven Hartge <sven@svenhartge.de> | 2020-12-13 10:09:38 +0100 |
commit | c80b346dd5a09e5c2eb00ef53d1f2359390f7b6a (patch) | |
tree | 3e224c8f5a085630459c4df394edc39bcb1b6450 | |
parent | 88c35ef19559c1add8189b2630bd4c6cff51ea78 (diff) | |
parent | 051bd947693172e534ed33be5d8fbbb606323939 (diff) |
Merge tag 'debian/9.6.7-1' into buster-backportsdebian/9.6.7-1_bpo10+1
bacula release 9.6.7-1 for unstable (sid)
(maintainer view tag generated by dgit --quilt=gbp)
29 files changed, 462 insertions, 220 deletions
@@ -1,6 +1,86 @@ - Changelog for version 9.6.6 + Changelog for version 9.6.7 +Release 9.6.7 +03Dec20 + - Restore custom permission of symlink on FreeBSD and MacOS + - Fix #2582 bextract is broken for sparse gzip and compressed streams + +01Dec20 + - Fix org#2567 device capabilities overwritten + - baculum: Update script version + +30Nov20 + - Fix org#2573 About Syntax error in granting privileges script with MySQL if + --with-db-password parameter is used + - Fix org#2471 About deleted files are listed as being present in an accurate + backup by various sample queries + - Fix org#2571 About errors in es_AR.po file + - Fix org#2568 About compilation issue on gcc10 + - Fix org#2584 About inconsitancies in the make_mysql_tables script + +28Nov20 + - baculum: Fix English text noticed by Peter McDonald + +24Nov20 + - baculum: Update Russian translations + +23Nov20 + - baculum: Update Portuguese translations + +22Nov20 + - baculum: Implement graphical status storage + - baculum: Add gauge.js library + - baculum: Add json output option to show storages and show single storage + endpoints + +11Nov20 + - baculum: Add path field to restore wizard to narrow down search file results + to specific path - idea proposed by Wanderlei Huttel + - baculum: Add path parameter to job files API endpoint + +10Nov20 + - baculum: Fix #2565 status icon overlaps action buttons in API wizard + - baculum: Add Sergey Zhidkov to AUTHORS + - baculum: Add Russian translations + +07Nov20 + - baculum: Fix access to job resources if no job assigned to user + +05Nov20 + - baculum: Update Portuguese translations + - baculum: Ajax queue improvement in framework + - baculum: Fix renaming config resources + +01Nov20 + - baculum: Add graphs to job view page + +28Oct20 + - baculum: Fix using offset in job file list query with MySQL catalog database + - baculum: Show more detailed job file list - idea proposed by Wanderlei + Huttel + - baculum: Rework job file list API endpoint + +25Oct20 + - baculum: Add searching jobs by filename in restore wizard - idea proposed by + Wanderlei Huttel + - baculum: Add job files API endpoint + +20Oct20 + - Add code to retry a MySQL query after a deadlock + +04Oct20 + - baculum: Update Portuguese translations + - baculum: Add default days and limit values to status schedules API endpoint + +30Sep20 + - baculum: Fix displaying multitextbox and multicombobox directive controls + - baculum: Fix date filter on status schedule page + - baculum: Fix #2570 fileset excludes settings with PHP 7.4 + +29Sep20 + - baculum: New features and improvements to multi-user interface and restricted + access 18Sep20 - baculum: Fix displaying date and time on volume view page diff --git a/ReleaseNotes b/ReleaseNotes index 8fdd2944..ebcb25d4 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -1,5 +1,62 @@ - Release Notes for Bacula 9.6.6 + Release Notes for Bacula 9.6.7 + +Release 9.6.7 + +10Dec20 + +This is a minor bug fix that corrects among other things the MySQL/MariaDB +schemas. This is the last release of the 9.6.x series. + +03Dec20 + - Restore custom permission of symlink on FreeBSD and MacOS + - Fix #2582 bextract is broken for sparse gzip and compressed streams + - Fix org#2567 device capabilities overwritten + - baculum: Update script version + - Fix org#2573 About Syntax error in granting privileges script with MySQL if + --with-db-password parameter is used + - Fix org#2471 About deleted files are listed as being present in an accurate + backup by various sample queries + - Fix org#2571 About errors in es_AR.po file + - Fix org#2568 About compilation issue on gcc10 + - Fix org#2584 About inconsitancies in the make_mysql_tables script + - baculum: Fix English text noticed by Peter McDonald + - baculum: Update Russian translations + - baculum: Update Portuguese translations + - baculum: Implement graphical status storage + - baculum: Add gauge.js library + - baculum: Add json output option to show storages and show single storage + endpoints + - baculum: Add path field to restore wizard to narrow down search file results + to specific path - idea proposed by Wanderlei Huttel + - baculum: Add path parameter to job files API endpoint + - baculum: Fix #2565 status icon overlaps action buttons in API wizard + - baculum: Add Sergey Zhidkov to AUTHORS + - baculum: Add Russian translations + - baculum: Fix access to job resources if no job assigned to user + - baculum: Update Portuguese translations + - baculum: Ajax queue improvement in framework + - baculum: Fix renaming config resources + - baculum: Add graphs to job view page + - baculum: Fix using offset in job file list query with MySQL catalog database + - baculum: Show more detailed job file list - idea proposed by Wanderlei + Huttel + - baculum: Rework job file list API endpoint + - baculum: Add searching jobs by filename in restore wizard - idea proposed by + Wanderlei Huttel + - baculum: Add job files API endpoint + - Add code to retry a MySQL query after a deadlock + - baculum: Update Portuguese translations + - baculum: Add default days and limit values to status schedules API endpoint + - baculum: Fix displaying multitextbox and multicombobox directive controls + - baculum: Fix date filter on status schedule page + - baculum: Fix #2570 fileset excludes settings with PHP 7.4 + - baculum: New features and improvements to multi-user interface and restricted + access + + + +================================================================== Release 9.6.6 diff --git a/debian/bacula-console.manpages b/debian/bacula-console.manpages index 474ce8fd..3d3e6354 100644 --- a/debian/bacula-console.manpages +++ b/debian/bacula-console.manpages @@ -1 +1,2 @@ manpages/bconsole.8 +debian/manpages/bbconsjson.8 diff --git a/debian/bacula-director.manpages b/debian/bacula-director.manpages index c6d61be7..c1269dfd 100644 --- a/debian/bacula-director.manpages +++ b/debian/bacula-director.manpages @@ -2,3 +2,4 @@ manpages/bacula-dir.8 manpages/bregex.8 manpages/bwild.8 manpages/dbcheck.8 +debian/manpages/bdirjson.8 diff --git a/debian/bacula-fd.manpages b/debian/bacula-fd.manpages index 163b40f7..b8a04328 100644 --- a/debian/bacula-fd.manpages +++ b/debian/bacula-fd.manpages @@ -1 +1,2 @@ manpages/bacula-fd.8 +debian/manpages/bfdjson.8 diff --git a/debian/bacula-sd.manpages b/debian/bacula-sd.manpages index 32f3775e..28400c27 100644 --- a/debian/bacula-sd.manpages +++ b/debian/bacula-sd.manpages @@ -3,3 +3,4 @@ manpages/bcopy.8 manpages/bextract.8 manpages/bls.8 manpages/btape.8 +debian/manpages/bsdjson.8 diff --git a/debian/changelog b/debian/changelog index 51f14668..8e5cc537 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,28 @@ -bacula (9.6.6-2~bpo10+1) buster-backports; urgency=medium +bacula (9.6.7-1~bpo10+1) buster-backports; urgency=medium * Rebuild for buster-backports. - -- Sven Hartge <sven@svenhartge.de> Fri, 02 Oct 2020 22:04:54 +0200 + -- Sven Hartge <sven@svenhartge.de> Sun, 13 Dec 2020 10:09:17 +0100 + +bacula (9.6.7-1) unstable; urgency=high + + * New upstream version 9.6.7 + + Adds compatibility for MariaDB 10.5 (Closes: #975970) + + Fixes sporadic deadlock issues with MariaDB + + Fixes compile errors with GCC10 + + [ Sven Hartge ] + * Add rudimentary man-pages for b*json commands + * Remove patches added upstream + + fix-narrowing-magic-numbers + + fix_en_AR.po_errors + + [ Debian Janitor ] + * Fixing Lintian tags + + Fix day-of-week for changelog entries 1.36.3-2, 1.34.6-1, 1.32f-5-3.1. + + Use secure URI in Homepage field. + + -- Sven Hartge <sven@svenhartge.de> Fri, 11 Dec 2020 12:46:12 +0100 bacula (9.6.6-2) unstable; urgency=medium @@ -2247,7 +2267,7 @@ bacula (1.36.3-2) unstable; urgency=low * PostgreSQL transition completed: build-depend on libpq-dev instead - -- Jose Luis Tallon <jltallon@adv-solutions.net> Wed, 9 Jun 2005 02:33:13 +0200 + -- Jose Luis Tallon <jltallon@adv-solutions.net> Thu, 09 Jun 2005 02:33:13 +0200 bacula (1.36.3-1) unstable; urgency=low @@ -2471,7 +2491,7 @@ bacula (1.34.6-1) unstable; urgency=high * Package sponsored by Roberto Lumbreras <rover@debian.org> - -- Jose Luis Tallon <jltallon@adv-solutions.net> Wed, 2 Sep 2004 12:36:51 +0200 + -- Jose Luis Tallon <jltallon@adv-solutions.net> Thu, 02 Sep 2004 12:36:51 +0200 bacula (1.34.5-1) unstable; urgency=high @@ -2549,7 +2569,7 @@ bacula (1.32f-5-3.1) unstable; urgency=high - Add Brazilian Portuguese debconf template translation. (Closes: #254110) - Depend on exim4 instead of exim. (Closes: #255340) - -- Filip Van Raemdonck <mechanix@debian.org> Mon, 11 Aug 2004 18:42:34 +0200 + -- Filip Van Raemdonck <mechanix@debian.org> Wed, 11 Aug 2004 18:42:34 +0200 bacula (1.32f-5-3) unstable; urgency=low diff --git a/debian/control b/debian/control index e59bf2ca..34c44af2 100644 --- a/debian/control +++ b/debian/control @@ -29,7 +29,7 @@ Standards-Version: 4.5.0 Rules-Requires-Root: no Vcs-Browser: https://salsa.debian.org/bacula-team/bacula Vcs-Git: https://salsa.debian.org/bacula-team/bacula.git -Homepage: http://www.bacula.org/ +Homepage: https://www.bacula.org/ Package: bacula Architecture: all diff --git a/debian/manpages/bbconsjson.8 b/debian/manpages/bbconsjson.8 new file mode 100644 index 00000000..7674f3de --- /dev/null +++ b/debian/manpages/bbconsjson.8 @@ -0,0 +1,43 @@ +.TH BBCONSJSON "8" "November 2020" "bbconsjson" "bbconsjson" +.SH NAME +bbconsjson \- JSON API for Bacula console +.SH SYNOPSIS +.B bconsjson +[\fI\,options\/\fR] [\fI\,config_file\/\fR] +.SH DESCRIPTION +This manual page documents briefly the +.B bbconsjon +command. +.br +It is mainly used by the Baculum Webinterface. +.SH OPTIONS +.TP +\fB\-r\fR <res> +get resource type <res> +.TP +\fB\-n\fR <name> +get resource <name> +.TP +\fB\-l\fR <dirs> +get only directives matching dirs (use with \fB\-r\fR) +.TP +\fB\-D\fR +get only data +.TP +\fB\-c\fR <file> +set configuration file to file +.TP +\fB\-d\fR <nn> +set debug level to <nn> +.TP +\fB\-dt\fR +print timestamp in debug output +.TP +\fB\-t\fR +test \- read configuration and exit +.TP +\fB\-v\fR +verbose +.TP +\-? +print this message. diff --git a/debian/manpages/bdirjson.8 b/debian/manpages/bdirjson.8 new file mode 100644 index 00000000..19dcb819 --- /dev/null +++ b/debian/manpages/bdirjson.8 @@ -0,0 +1,49 @@ +.TH BDIRJSON "8" "November 2020" "bdirjson" "bdirjson" +.SH NAME +bdirjson \- JSON API for Bacula director +.SH SYNOPSIS +.B bdirjson +[\fI\,<options>\/\fR] [\fI\,config_file\/\fR] +.SH DESCRIPTION +This manual page documents briefly the +.B bdirjson +command. +.br +It is mainly used by the Baculum Webinterface. +.SH OPTIONS +.TP +\fB\-r\fR <res> +get resource type <res> +.TP +\fB\-n\fR <name> +get resource <name> +.TP +\fB\-l\fR <dirs> +get only directives matching dirs (use with \fB\-r\fR) +.TP +\fB\-D\fR +get only data +.TP +\fB\-R\fR +do not apply JobDefs to Job +.TP +\fB\-c\fR <file> +set configuration file to file +.TP +\fB\-d\fR <nn> +set debug level to <nn> +.TP +\fB\-dt\fR +print timestamp in debug output +.TP +\fB\-t\fR +test \- read configuration and exit +.TP +\fB\-s\fR +output in show text format +.TP +\fB\-v\fR +verbose user messages +.TP +\-? +print this message. diff --git a/debian/manpages/bfdjson.8 b/debian/manpages/bfdjson.8 new file mode 100644 index 00000000..b79e7bdd --- /dev/null +++ b/debian/manpages/bfdjson.8 @@ -0,0 +1,43 @@ +.TH BFDJSON "8" "November 2020" "bfdjson" "bfdjson" +.SH NAME +bfdjson \- JSON API for Bacula file daemon +.SH SYNOPSIS +.B bfdjson +[\fI\,options\/\fR] [\fI\,config_file\/\fR] +.SH DESCRIPTION +This manual page documents briefly the +.B bbfdjon +command. +.br +It is mainly used by the Baculum Webinterface. +.SH OPTIONS +.TP +\fB\-r\fR <res> +get resource type <res> +.TP +\fB\-n\fR <name> +get resource <name> +.TP +\fB\-l\fR <dirs> +get only directives matching dirs (use with \fB\-r\fR) +.TP +\fB\-D\fR +get only data +.TP +\fB\-c\fR <file> +use <file> as configuration file +.TP +\fB\-d\fR <nn> +set debug level to <nn> +.TP +\fB\-dt\fR +print a timestamp in debug output +.TP +\fB\-t\fR +test configuration file and exit +.TP +\fB\-v\fR +verbose user messages +.TP +\-? +print this message. diff --git a/debian/manpages/bsdjson.8 b/debian/manpages/bsdjson.8 new file mode 100644 index 00000000..9ddf140f --- /dev/null +++ b/debian/manpages/bsdjson.8 @@ -0,0 +1,43 @@ +.TH BSDJSON "8" "November 2020" "bsdjson" "bsdjson" +.SH NAME +bsdjson \- JSON API for Bacula storage daemon +.SH SYNOPSIS +.B bsdjson +[\fI\,options\/\fR] [\fI\,config_file\/\fR] +.SH DESCRIPTION +This manual page documents briefly the +.B bsdjson +command. +.br +It is mainly used by the Baculum Webinterface. +.SH OPTIONS +.TP +\fB\-r\fR <res> +get resource type <res> +.TP +\fB\-n\fR <name> +get resource <name> +.TP +\fB\-l\fR <dirs> +get only directives matching dirs (use with \fB\-r\fR) +.TP +\fB\-D\fR +get only data +.TP +\fB\-c\fR <file> +use <file> as configuration file +.TP +\fB\-d\fR <nn> +set debug level to <nn> +.TP +\fB\-dt\fR +print timestamp in debug output +.TP +\fB\-t\fR +test \- read config and exit +.TP +\fB\-v\fR +verbose user messages +.TP +\-? +print this message. diff --git a/debian/patches/debian/fix-default-config b/debian/patches/debian/fix-default-config index abaa985d..ef1dd0c1 100644 --- a/debian/patches/debian/fix-default-config +++ b/debian/patches/debian/fix-default-config @@ -1,5 +1,6 @@ Description: Change default configs for correct processing by postinst script -Last-Update: 2012-06-01 +Author: Debian Bacula Team <pkg-bacula-devel@lists.alioth.debian.org> +Last-Update: 2018-11-20 Forwarded: not-needed --- a/src/dird/bacula-dir.conf.in diff --git a/debian/patches/series b/debian/patches/series index 1b79e857..68cde620 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,9 +1,7 @@ upstream/fix-update_sqlite3_tables upstream/relative-dirs-for-reproduceability upstream/fix-pkg-config-autoconf-macro -upstream/fix-narrowing-magic-numbers upstream/fix-8bit-encoding -upstream/fix_en_AR.po_errors upstream/fix-make_db-scripts_easier_to_use debian/fix-default-config debian/fix-default-dbtype diff --git a/debian/patches/upstream/fix-8bit-encoding b/debian/patches/upstream/fix-8bit-encoding index 6b3d8183..379f0190 100644 --- a/debian/patches/upstream/fix-8bit-encoding +++ b/debian/patches/upstream/fix-8bit-encoding @@ -3569,9 +3569,9 @@ Last-Update: 2020-09-08 # Copyright (C) 2000-2016 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # -@@ -12,7 +12,7 @@ - "Last-Translator: <kern@sibbald.com>\n" +@@ -13,7 +13,7 @@ "Language-Team: Spanish\n" + "Language: Spanish\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" diff --git a/debian/patches/upstream/fix-narrowing-magic-numbers b/debian/patches/upstream/fix-narrowing-magic-numbers deleted file mode 100644 index 44748f48..00000000 --- a/debian/patches/upstream/fix-narrowing-magic-numbers +++ /dev/null @@ -1,16 +0,0 @@ -Description: Fix narrowing error by casting to proper type for comparison -Author: Sven Hartge <sven@svenhartge.de> -Bug: https://bugs.bacula.org/view.php?id=2568 -Last-Update: 2020-09-24 - ---- a/src/findlib/fstype.c -+++ b/src/findlib/fstype.c -@@ -188,7 +188,7 @@ - * - * $ grep -r SUPER_MAGIC /usr/include/linux - */ -- switch (st.f_type) { -+ switch ((unsigned int)st.f_type) { - /* Known good values */ - /* ext2, ext3, and ext4 have the same code */ - case 0xef53: fstype = "ext2"; break; /* EXT2_SUPER_MAGIC */ diff --git a/debian/patches/upstream/fix_en_AR.po_errors b/debian/patches/upstream/fix_en_AR.po_errors deleted file mode 100644 index 0713c86e..00000000 --- a/debian/patches/upstream/fix_en_AR.po_errors +++ /dev/null @@ -1,126 +0,0 @@ -Description: Fix errors in po/en_AR.po -Bug: https://bugs.bacula.org/view.php?id=2571 -Last-Update: 2020-10-01 -Author: Carsten Leonhardt <leo@debian.org> - - Although the file is unused, the Debian QA tools point out the - issues. This is to give us peace of mind. - ---- a/po/es_AR.po -+++ b/po/es_AR.po -@@ -11,6 +11,7 @@ - "PO-Revision-Date: 2006-04-13 08:15+0200\n" - "Last-Translator: <kern@sibbald.com>\n" - "Language-Team: Spanish\n" -+"Language: Spanish\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -@@ -597,7 +598,7 @@ - #: src/console/console.c:102 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: " - msgstr "" -@@ -1204,7 +1205,7 @@ - #: src/dird/dird.c:71 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -5443,7 +5444,7 @@ - #: src/filed/filed.c:62 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -6279,7 +6280,7 @@ - #: src/gnome2-console/console.c:88 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s) %s %s %s\n" - "\n" -@@ -8852,7 +8853,7 @@ - #: src/stored/bcopy.c:58 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -8923,7 +8924,7 @@ - #: src/stored/bextract.c:70 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -9170,7 +9171,7 @@ - #: src/stored/bls.c:68 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -9266,7 +9267,7 @@ - #: src/stored/bscan.c:109 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -10883,7 +10884,7 @@ - #: src/stored/btape.c:2596 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -12489,7 +12490,7 @@ - #: src/stored/stored.c:65 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "\n" - "Version: %s (%s)\n" - "\n" -@@ -13220,7 +13221,7 @@ - #: src/tray-monitor/tray-monitor.c:102 - #, c-format - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "Written by Nicolas Boichat (2004)\n" - "\n" - "Version: %s (%s) %s %s %s\n" -@@ -13321,7 +13322,7 @@ - - #: src/tray-monitor/tray-monitor.c:503 src/tray-monitor/tray-monitor.c:513 - msgid "" --"Copyright (C) 2000-2016 Kern Sibbald -+"Copyright (C) 2000-2016 Kern Sibbald" - "Written by Nicolas Boichat\n" - msgstr "" - diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides index c7c8c549..b91ea8ed 100644 --- a/debian/source/lintian-overrides +++ b/debian/source/lintian-overrides @@ -3,3 +3,10 @@ bacula source: license-problem-non-free-RFC src/lib/sha1.h # False positive bacula source: maintainer-manual-page debian/additions/pgsql/database/7.4.1 +# +# Don't override: +# +# Having this tag as a reminder to remove -Wl,--as-needed for Bullseye+1 is +# useful, so let us keep it visible for now. +# debian-rules-uses-as-needed-linker-flag +# diff --git a/examples/sample-query.sql b/examples/sample-query.sql index 40e8b444..1eac8c5f 100644 --- a/examples/sample-query.sql +++ b/examples/sample-query.sql @@ -20,7 +20,8 @@ SELECT DISTINCT Job.JobId as JobId, Client.Name as Client, FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId AND JobStatus IN ('T','W') AND Job.JobId=File.JobId AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId - AND Filename.Name='%1' + AND Filename.Name='%1' + AND File.FileIndex > 0 ORDER BY Job.StartTime LIMIT 20; # 2 :List where the most recent copies of a file are saved @@ -30,6 +31,7 @@ SELECT DISTINCT Job.JobId as JobId, Client.Name as Client, SELECT DISTINCT Job.JobId,StartTime AS JobStartTime,VolumeName,Client.Name AS ClientName FROM Job,File,Path,Filename,Media,JobMedia,Client WHERE File.JobId=Job.JobId + AND File.FileIndex > 0 AND Path.Path='%1' AND Filename.Name='%2' AND Client.Name='%3' @@ -160,6 +162,7 @@ SELECT count(*) AS Jobs,sum(JobFiles) AS Files,sum(JobBytes) AS Bytes,VolumeName :List Files for a selected JobId *Enter JobId: SELECT Path.Path,Filename.Name FROM File,Filename,Path WHERE File.JobId=%1 + AND File.FileIndex > 0 AND Filename.FilenameId=File.FilenameId AND Path.PathId=File.PathId ORDER BY Path.Path,Filename.Name; diff --git a/po/es_AR.po b/po/es_AR.po index 64fae79a..0dd41aa4 100644 --- a/po/es_AR.po +++ b/po/es_AR.po @@ -11,6 +11,7 @@ msgstr "" "PO-Revision-Date: 2006-04-13 08:15+0200\n" "Last-Translator: <kern@sibbald.com>\n" "Language-Team: Spanish\n" +"Language: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" @@ -597,7 +598,7 @@ msgstr "" #: src/console/console.c:102 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: " msgstr "" @@ -1204,7 +1205,7 @@ msgstr "" #: src/dird/dird.c:71 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -5443,7 +5444,7 @@ msgstr "" #: src/filed/filed.c:62 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -6279,7 +6280,7 @@ msgstr "" #: src/gnome2-console/console.c:88 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s) %s %s %s\n" "\n" @@ -8852,7 +8853,7 @@ msgstr "" #: src/stored/bcopy.c:58 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -8923,7 +8924,7 @@ msgstr "" #: src/stored/bextract.c:70 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -9170,7 +9171,7 @@ msgstr "" #: src/stored/bls.c:68 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -9266,7 +9267,7 @@ msgstr "" #: src/stored/bscan.c:109 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -10883,7 +10884,7 @@ msgstr "" #: src/stored/btape.c:2596 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -12489,7 +12490,7 @@ msgstr "" #: src/stored/stored.c:65 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "\n" "Version: %s (%s)\n" "\n" @@ -13220,7 +13221,7 @@ msgstr "" #: src/tray-monitor/tray-monitor.c:102 #, c-format msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "Written by Nicolas Boichat (2004)\n" "\n" "Version: %s (%s) %s %s %s\n" @@ -13321,7 +13322,7 @@ msgstr "" #: src/tray-monitor/tray-monitor.c:503 src/tray-monitor/tray-monitor.c:513 msgid "" -"Copyright (C) 2000-2016 Kern Sibbald +"Copyright (C) 2000-2016 Kern Sibbald" "Written by Nicolas Boichat\n" msgstr "" diff --git a/src/cats/grant_mysql_privileges.in b/src/cats/grant_mysql_privileges.in index d1ac8073..76ac3f43 100644 --- a/src/cats/grant_mysql_privileges.in +++ b/src/cats/grant_mysql_privileges.in @@ -27,8 +27,8 @@ fi if $bindir/mysql $* -u root -f <<END-OF-DATA use mysql -grant all privileges on ${db_name}.* to ${db_user}@localhost ${pass} ${ssl_options}; -grant all privileges on ${db_name}.* to ${db_user}@"%" ${pass} ${ssl_options}; +grant all privileges on ${db_name}.* to ${db_user}@localhost ${ssl_options}; +grant all privileges on ${db_name}.* to ${db_user}@"%" ${ssl_options}; select * from user; flush privileges; END-OF-DATA diff --git a/src/cats/make_mysql_tables.in b/src/cats/make_mysql_tables.in index dce3a66b..27dfc627 100644 --- a/src/cats/make_mysql_tables.in +++ b/src/cats/make_mysql_tables.in @@ -61,9 +61,9 @@ CREATE TABLE Path ( CREATE TABLE File ( FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, FileIndex INTEGER DEFAULT 0, - JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, - PathId INTEGER UNSIGNED NOT NULL REFERENCES Path, - FilenameId INTEGER UNSIGNED NOT NULL REFERENCES Filename, + JobId INTEGER UNSIGNED NOT NULL, + PathId INTEGER UNSIGNED NOT NULL, + FilenameId INTEGER UNSIGNED NOT NULL, DeltaSeq SMALLINT UNSIGNED DEFAULT 0, MarkId INTEGER UNSIGNED DEFAULT 0, LStat TINYBLOB NOT NULL, @@ -83,7 +83,7 @@ CREATE TABLE RestoreObject ( ObjectIndex INTEGER DEFAULT 0, ObjectType INTEGER DEFAULT 0, FileIndex INTEGER DEFAULT 0, - JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, + JobId INTEGER UNSIGNED NOT NULL, ObjectCompression INTEGER DEFAULT 0, PRIMARY KEY(RestoreObjectId), INDEX (JobId) @@ -116,8 +116,8 @@ CREATE TABLE Storage ( CREATE TABLE Device ( DeviceId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Name TINYBLOB NOT NULL, - MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType, - StorageId INTEGER UNSIGNED DEFAULT 0 REFERENCES Storage, + MediaTypeId INTEGER UNSIGNED DEFAULT 0, + StorageId INTEGER UNSIGNED DEFAULT 0, DevMounts INTEGER UNSIGNED DEFAULT 0, DevReadBytes BIGINT UNSIGNED DEFAULT 0, DevWriteBytes BIGINT UNSIGNED DEFAULT 0, @@ -139,7 +139,7 @@ CREATE TABLE Job ( Name TINYBLOB NOT NULL, Type BINARY(1) NOT NULL, Level BINARY(1) NOT NULL, - ClientId INTEGER DEFAULT 0 REFERENCES Client, + ClientId INTEGER UNSIGNED DEFAULT 0, JobStatus BINARY(1) NOT NULL, SchedTime DATETIME DEFAULT NULL, StartTime DATETIME DEFAULT NULL, @@ -153,9 +153,9 @@ CREATE TABLE Job ( ReadBytes BIGINT UNSIGNED DEFAULT 0, JobErrors INTEGER UNSIGNED DEFAULT 0, JobMissingFiles INTEGER UNSIGNED DEFAULT 0, - PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, - FileSetId INTEGER UNSIGNED DEFAULT 0 REFERENCES FileSet, - PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job, + PoolId INTEGER UNSIGNED DEFAULT 0, + FileSetId INTEGER UNSIGNED DEFAULT 0, + PriorJobId INTEGER UNSIGNED DEFAULT 0, PurgedFiles TINYINT DEFAULT 0, HasBase TINYINT DEFAULT 0, HasCache TINYINT DEFAULT 0, @@ -175,7 +175,7 @@ CREATE TABLE JobHisto ( Name TINYBLOB NOT NULL, Type BINARY(1) NOT NULL, Level BINARY(1) NOT NULL, - ClientId INTEGER DEFAULT 0, + ClientId INTEGER UNSIGNED DEFAULT 0, JobStatus BINARY(1) NOT NULL, SchedTime DATETIME DEFAULT NULL, StartTime DATETIME DEFAULT NULL, @@ -215,8 +215,8 @@ CREATE TABLE LocationLog ( LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Date DATETIME DEFAULT NULL, Comment BLOB NOT NULL, - MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media, - LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location, + MediaId INTEGER UNSIGNED DEFAULT 0, + LocationId INTEGER UNSIGNED DEFAULT 0, NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged', 'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL, NewEnabled TINYINT, @@ -235,8 +235,8 @@ CREATE TABLE FileSet ( CREATE TABLE JobMedia ( JobMediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, - JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, - MediaId INTEGER UNSIGNED NOT NULL REFERENCES Media, + JobId INTEGER UNSIGNED NOT NULL, + MediaId INTEGER UNSIGNED NOT NULL, FirstIndex INTEGER UNSIGNED DEFAULT 0, LastIndex INTEGER UNSIGNED DEFAULT 0, StartFile INTEGER UNSIGNED DEFAULT 0, @@ -253,9 +253,9 @@ CREATE TABLE Media ( MediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, VolumeName TINYBLOB NOT NULL, Slot INTEGER DEFAULT 0, - PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, + PoolId INTEGER UNSIGNED DEFAULT 0, MediaType TINYBLOB NOT NULL, - MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType, + MediaTypeId INTEGER UNSIGNED DEFAULT 0, LabelType TINYINT DEFAULT 0, FirstWritten DATETIME DEFAULT NULL, LastWritten DATETIME DEFAULT NULL, @@ -288,18 +288,18 @@ CREATE TABLE Media ( MaxVolFiles INTEGER UNSIGNED DEFAULT 0, MaxVolBytes BIGINT UNSIGNED DEFAULT 0, InChanger TINYINT DEFAULT 0, - StorageId INTEGER UNSIGNED DEFAULT 0 REFERENCES Storage, - DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device, + StorageId INTEGER UNSIGNED DEFAULT 0, + DeviceId INTEGER UNSIGNED DEFAULT 0, MediaAddressing TINYINT DEFAULT 0, VolReadTime BIGINT UNSIGNED DEFAULT 0, VolWriteTime BIGINT UNSIGNED DEFAULT 0, EndFile INTEGER UNSIGNED DEFAULT 0, EndBlock INTEGER UNSIGNED DEFAULT 0, - LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location, + LocationId INTEGER UNSIGNED DEFAULT 0, RecycleCount INTEGER UNSIGNED DEFAULT 0, InitialWrite DATETIME DEFAULT NULL, - ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, - RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, + ScratchPoolId INTEGER UNSIGNED DEFAULT 0, + RecyclePoolId INTEGER UNSIGNED DEFAULT 0, Comment BLOB, PRIMARY KEY(MediaId), UNIQUE (VolumeName(128)), @@ -328,9 +328,9 @@ CREATE TABLE Pool ( LabelType TINYINT DEFAULT 0, LabelFormat TINYBLOB, Enabled TINYINT DEFAULT 1, - ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, - RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, - NextPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool, + ScratchPoolId INTEGER UNSIGNED DEFAULT 0, + RecyclePoolId INTEGER UNSIGNED DEFAULT 0, + NextPoolId INTEGER UNSIGNED DEFAULT 0, MigrationHighBytes BIGINT UNSIGNED DEFAULT 0, MigrationLowBytes BIGINT UNSIGNED DEFAULT 0, MigrationTime BIGINT UNSIGNED DEFAULT 0, @@ -352,7 +352,7 @@ CREATE TABLE Client ( CREATE TABLE Log ( LogId INTEGER UNSIGNED AUTO_INCREMENT, - JobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job, + JobId INTEGER UNSIGNED DEFAULT 0, Time DATETIME DEFAULT NULL, LogText BLOB NOT NULL, PRIMARY KEY(LogId), @@ -362,9 +362,9 @@ CREATE TABLE Log ( CREATE TABLE BaseFiles ( BaseId BIGINT UNSIGNED AUTO_INCREMENT, - BaseJobId INTEGER UNSIGNED NOT NULL REFERENCES Job, - JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, - FileId BIGINT UNSIGNED NOT NULL REFERENCES File, + BaseJobId INTEGER UNSIGNED NOT NULL, + JobId INTEGER UNSIGNED NOT NULL, + FileId BIGINT UNSIGNED NOT NULL, FileIndex INTEGER DEFAULT 0, PRIMARY KEY(BaseId) ); @@ -373,9 +373,9 @@ CREATE INDEX basefiles_jobid_idx ON BaseFiles ( JobId ); CREATE TABLE UnsavedFiles ( UnsavedId INTEGER UNSIGNED AUTO_INCREMENT, - JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, - PathId INTEGER UNSIGNED NOT NULL REFERENCES Path, - FilenameId INTEGER UNSIGNED NOT NULL REFERENCES Filename, + JobId INTEGER UNSIGNED NOT NULL, + PathId INTEGER UNSIGNED NOT NULL, + FilenameId INTEGER UNSIGNED NOT NULL, PRIMARY KEY (UnsavedId) ); @@ -429,8 +429,8 @@ INSERT INTO Status (JobStatus,JobStatusLong,Severity) VALUES CREATE TABLE PathHierarchy ( - PathId integer NOT NULL, - PPathId integer NOT NULL, + PathId INTEGER UNSIGNED NOT NULL, + PPathId INTEGER UNSIGNED NOT NULL, CONSTRAINT pathhierarchy_pkey PRIMARY KEY (PathId) ); @@ -439,8 +439,8 @@ CREATE INDEX pathhierarchy_ppathid CREATE TABLE PathVisibility ( - PathId integer NOT NULL, - JobId integer UNSIGNED NOT NULL, + PathId INTEGER UNSIGNED NOT NULL, + JobId INTEGER UNSIGNED NOT NULL, Size int8 DEFAULT 0, Files int4 DEFAULT 0, CONSTRAINT pathvisibility_pkey PRIMARY KEY (JobId, PathId) diff --git a/src/cats/mysql.c b/src/cats/mysql.c index 075ccc85..1458db73 100644 --- a/src/cats/mysql.c +++ b/src/cats/mysql.c @@ -36,6 +36,7 @@ #include "cats.h" #include <mysql.h> +#include <mysqld_error.h> #define __BDB_MYSQL_H_ 1 #include "bdb_mysql.h" @@ -470,19 +471,41 @@ bool BDB_MYSQL::bdb_sql_query(const char *query, DB_RESULT_HANDLER *result_handl SQL_ROW row; bool send = true; bool retval = false; - BDB_MYSQL *mdb = this; + BDB_MYSQL *mdb = this; + int retry=5; Dmsg1(500, "db_sql_query starts with %s\n", query); bdb_lock(); - errmsg[0] = 0; - ret = mysql_query(m_db_handle, query); - if (ret != 0) { + errmsg[0] = 0; + + do { + ret = mysql_query(m_db_handle, query); + if (ret != 0) { + uint32_t merrno = mysql_errno(m_db_handle); + switch (merrno) { + case ER_LOCK_DEADLOCK: + if (retry > 0) { + Dmsg0(500, "db_sql_query failed because of a deadlock, retrying in few seconds...\n"); + bmicrosleep(2, 0); + /* TODO: When we will manage transactions, it's important to test if we are in or not */ + } + break; + + default: + Dmsg1(50, "db_sql_query failed errno=%d\n", merrno); + retry=0; /* Stop directly here, no retry */ + break; + } + } + } while (ret != 0 && retry-- > 0); + + if (ret != 0) { Mmsg(mdb->errmsg, _("Query failed: %s: ERR=%s\n"), query, sql_strerror()); Dmsg0(500, "db_sql_query failed\n"); goto get_out; - } - + } + Dmsg0(500, "db_sql_query succeeded. checking handler\n"); if (result_handler) { diff --git a/src/findlib/attribs.c b/src/findlib/attribs.c index 10242233..73ee73e3 100644 --- a/src/findlib/attribs.c +++ b/src/findlib/attribs.c @@ -640,6 +640,14 @@ bool set_attributes(JCR *jcr, ATTR *attr, BFILE *ofd) ok = false; } #endif +#ifdef HAVE_LCHMOD + if (lchmod(attr->ofname, attr->statp.st_mode) < 0 && print_error(jcr)) { + berrno be; + Jmsg2(jcr, M_ERROR, 0, _("Unable to set file modes %s: ERR=%s\n"), + attr->ofname, be.bstrerror()); + ok = false; + } +#endif #ifdef HAVE_LUTIMES struct timeval times[2]; times[0].tv_sec = attr->statp.st_atime; diff --git a/src/findlib/fstype.c b/src/findlib/fstype.c index 107f7a87..c82107ab 100644 --- a/src/findlib/fstype.c +++ b/src/findlib/fstype.c @@ -188,7 +188,7 @@ bool fstype(FF_PKT *ff_pkt, char *fs, int fslen) * * $ grep -r SUPER_MAGIC /usr/include/linux */ - switch (st.f_type) { + switch ((unsigned int)st.f_type) { /* Known good values */ /* ext2, ext3, and ext4 have the same code */ case 0xef53: fstype = "ext2"; break; /* EXT2_SUPER_MAGIC */ diff --git a/src/stored/bextract.c b/src/stored/bextract.c index ef607113..49edc3ee 100644 --- a/src/stored/bextract.c +++ b/src/stored/bextract.c @@ -477,7 +477,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec) uLong compress_len = compress_buf_size; int stat = Z_BUF_ERROR; - if (rec->maskedStream == STREAM_SPARSE_DATA) { + if (rec->maskedStream == STREAM_SPARSE_GZIP_DATA) { ser_declare; uint64_t faddr; char ec1[50]; @@ -542,7 +542,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec) int r, real_compress_len; #endif - if (rec->maskedStream == STREAM_SPARSE_DATA) { + if (rec->maskedStream == STREAM_SPARSE_COMPRESSED_DATA) { ser_declare; uint64_t faddr; char ec1[50]; diff --git a/src/stored/cloud_dev.c b/src/stored/cloud_dev.c index e9618df3..085b89c2 100644 --- a/src/stored/cloud_dev.c +++ b/src/stored/cloud_dev.c @@ -73,7 +73,7 @@ DEVICE *BaculaSDdriver(JCR *jcr, DEVRES *device) return NULL; } dev = New(cloud_dev(jcr, device)); - dev->capabilities |= CAP_LSEEK; + dev->capabilities |= CAP_LSEEK; /* ATTN overwritten in init_dev() later */ return dev; } @@ -652,7 +652,7 @@ cloud_dev::cloud_dev(JCR *jcr, DEVRES *device) { Enter(dbglvl); m_fd = -1; - capabilities |= CAP_LSEEK; + capabilities |= CAP_LSEEK; /* ATTN overwritten in init_dev() later */ /* Initialize Cloud driver */ if (!driver) { diff --git a/src/stored/init_dev.c b/src/stored/init_dev.c index 90a19847..4bc9d4b3 100644 --- a/src/stored/init_dev.c +++ b/src/stored/init_dev.c @@ -222,6 +222,10 @@ DEVICE *init_dev(JCR *jcr, DEVRES *device, bool adata, bstatcollect *statcollect /* Do device specific initialization */ dev->device_specific_init(jcr, device); + if (device->dev_type == B_FILE_DEV || device->dev_type == B_CLOUD_DEV) { + dev->capabilities |= CAP_LSEEK; + } + /* ***FIXME*** move to fifo driver */ if (dev->is_fifo()) { dev->capabilities |= CAP_STREAM; /* set stream device */ diff --git a/src/version.h b/src/version.h index ee05a5c3..72e92894 100644 --- a/src/version.h +++ b/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.6.6" -#define BDATE "20 September 2020" -#define LSMDATE "20Sep20" +#define VERSION "9.6.7" +#define BDATE "10 December 2020" +#define LSMDATE "10Dec20" #define RELEASE 1 /* Use ONLY in rpms */ |