[pkg-bacula-commits] [bacula] 01/01: Imported upstream version 7.4.2

Carsten Leonhardt leo at moszumanska.debian.org
Mon Jul 11 09:50:51 UTC 2016


This is an automated email from the git hooks/post-receive script.

leo pushed a commit to branch upstream
in repository bacula.

commit 1dadc2c656ea43c1bfc1da2ee573bf8b2de397ce
Author: Carsten Leonhardt <leo at debian.org>
Date:   Mon Jul 11 11:49:41 2016 +0200

    Imported upstream version 7.4.2
    
    Changes from upstream:
    src/lib/sha1.{h,c}: (#658326) remove, DFSG-nonfree, RFC 3174
---
 ChangeLog                                 |  30 +++-
 ReleaseNotes                              |  24 ++-
 autoconf/bacula-macros/db.m4              | 256 ++++++++++++++++--------------
 autoconf/configure.in                     |   2 +-
 configure                                 | 242 +++++++++++++++-------------
 src/cats/create_sqlite3_database.in.patch |  11 --
 src/cats/grant_mysql_privileges.patch     |  13 --
 src/cats/make_catalog_backup.in.patch     |  13 --
 src/cats/sql.c                            |   6 +-
 src/cats/update_sqlite3_tables.in.patch   |  12 --
 src/dird/job.c                            |   6 +-
 src/dird/ua_cmds.c                        |   4 +-
 src/dird/ua_select.c                      |   6 +-
 src/dird/ua_status.c                      |   2 +-
 src/jcr.h                                 |   1 +
 src/stored/dircmd.c                       |   2 +-
 src/version.h                             |   6 +-
 17 files changed, 343 insertions(+), 293 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 723cd2d..1585647 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,34 @@
-              Changelog on version 7.4.1
+              Changelog on version 7.4.2
 
 
+Release version 7.4.2
+
+06Jul16
+ - Fix #1926 about wrong duplicate job detection with Copy/Migration and Backup 
+  jobs
+
+03Jul16
+ - Recompile configure after db.m4 change
+ - Fix batch insert for MySQL 5.7
+
+02Jul16
+ - Fix zero level debug output -- now at 100
+
+29Jun16
+ - Fix #766 about Job logs displayed with unneeded linefeed
+
+27Jun16
+ - Fix #1902 about a segfault with the "cancel inactive" command
+
+14Jun16
+ - Fix bug where MySQL 5.7 is improperly linked on Ubuntu 16.04
+
+Bugs fixed/closed since last release:
+1902 1926 766
+
+
+==============================================
+
 Release version 7.4.1
 
 31May16
diff --git a/ReleaseNotes b/ReleaseNotes
index a868ca0..6923339 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -1,5 +1,27 @@
 
-               Release Notes for Bacula 7.4.1
+               Release Notes for Bacula 7.4.2
+
+Release version 7.4.2
+
+This is an important bug fix release to version 7.4.1 mainly
+fixes detection of MySQL 5.7 (as found in Ubuntu 16.04).  Certain bug
+fixes contributed by Bacula Systems.
+
+06Jul16
+ - Fix #1926 about wrong duplicate job detection with Copy/Migration and
+   Backup jobs
+ - Recompile configure after db.m4 change
+ - Fix batch insert for MySQL 5.7
+ - Fix zero level debug output -- now at 100
+ - Fix #766 about Job logs displayed with unneeded linefeed
+ - Fix #1902 about a segfault with the "cancel inactive" command
+ - Fix bug where MySQL 5.7 is improperly linked on Ubuntu 16.04
+
+Bugs fixed/closed since last release:
+1902 1926 766
+
+
+=================================================
 
 Release version 7.4.1
 
diff --git a/autoconf/bacula-macros/db.m4 b/autoconf/bacula-macros/db.m4
index a9a3291..4e9007d 100644
--- a/autoconf/bacula-macros/db.m4
+++ b/autoconf/bacula-macros/db.m4
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2000-2015 Kern Sibbald
+# Copyright (C) 2000-2016 Kern Sibbald
 # License: BSD 2-Clause; see file LICENSE-FOSS
 #
 AC_DEFUN([BA_CHECK_DBI_DB],
@@ -339,24 +339,27 @@ AC_MSG_CHECKING(for MySQL support)
 AC_ARG_WITH(mysql,
 AC_HELP_STRING([--with-mysql@<:@=DIR@:>@], [Include MySQL support. DIR is the MySQL base install directory, default is to search through a number of common places for the MySQL files.]),
 [
+  HAVE_LIBSR="no"
   if test "$withval" != "no"; then
-        if test "$withval" = "yes"; then
-#
-# This code is very broken on older systems
-#
-#           MYSQL_CONFIG=`which mysql_config 2>/dev/null`
-#           if test "x${MYSQL_CONFIG}" != x; then
-#              MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
-#              ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
-#              if test $? = 0 ; then
-#                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
-#                 MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
-#              else
-#                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs_r | sed -e 's/.*-L//' -e 's/ .*//'`
-#                 MYSQL_INCDIR=`${MYSQL_CONFIG} --include | sed -e 's/-I//'`
-#              fi
-#           fi
-#           if [ "x${MYSQL_LIB}" = x -o "x${MYSQL_INCDIR}" = x ]; then
+     if test "$withval" = "yes"; then
+        MYSQL_CONFIG=`which mysql_config 2>/dev/null`
+        if test "x${MYSQL_CONFIG}" != x; then
+           MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
+           ${MYSQL_CONFIG} --libs_r >/dev/null 2>&1
+           if test $? = 0; then
+              MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs_r`
+              MYSQL_INCDIR=`${MYSQL_CONFIG} --include`
+              HAVE_LIBSR="yes"
+           else
+              ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
+              if test $? = 0 ; then
+                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
+                 MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
+              fi
+           fi
+        fi
+        # if something wrong fall back to old method
+        if test "x${MYSQL_LIBDIR}" = x -o "x${MYSQL_INCDIR}" = x ; then
            if test -f /usr/local/mysql/include/mysql/mysql.h; then
               MYSQL_INCDIR=/usr/local/mysql/include/mysql
               if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
@@ -415,117 +418,134 @@ AC_HELP_STRING([--with-mysql@<:@=DIR@:>@], [Include MySQL support. DIR is the My
               AC_MSG_RESULT(no)
               AC_MSG_ERROR(Unable to find mysql.h in standard locations)
            fi
-        else
-           if test -f $withval/include/mysql/mysql.h; then
-              MYSQL_INCDIR=$withval/include/mysql
-              if test -f $withval/lib64/mysql/libmysqlclient_r.a \
-                   -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64/mysql
-              elif test -f $withval/lib64/libmysqlclient_r.a \
-                   -o -f $withval/lib64/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64
-              elif test -f $withval/lib/libmysqlclient_r.a \
-                   -o -f $withval/lib/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib
-              else
-                 MYSQL_LIBDIR=$withval/lib/mysql
-              fi
-              MYSQL_BINDIR=$withval/bin
-           elif test -f $withval/include/mysql.h; then
-              MYSQL_INCDIR=$withval/include
-              if test -f $withval/lib64/libmysqlclient_r.a \
-                   -o -f $withval/lib64/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64
-              else
-                 MYSQL_LIBDIR=$withval/lib
-              fi
-              MYSQL_BINDIR=$withval/bin
-           elif test -f $withval/mysql.h; then
-              dnl MacPorts on OSX has a special MySQL Layout. See #2079
-              MYSQL_INCDIR=$withval
-              AC_MSG_NOTICE(Got with-mysql variable $MYSQL_INCDIR checking MySQL version)
-              case $MYSQL_INCDIR in
-                 *mysql55*)
-                     AC_MSG_NOTICE(Assuming MacPorts MySQL 5.5 variant installed)
-                     dnl with-mysql given contains mysql55 - assuming OSX MacPorts MySQL55 variant
-                     if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
-                          -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
-                        AC_MSG_NOTICE(Found MySQL 5.5 library in $prefix/lib/mysql55/mysql)
-                        MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
-                     fi
-                     MYSQL_BINDIR=$prefix/lib/mysql55/bin
-                 ;;
-                 *mysql51*)
-                     AC_MSG_NOTICE(Assuming MacPorts MySQL 5.1 variant installed)
-                     dnl with-mysql contains mysql51 - assuming OSX MacPorts MySQL51 variant
-                     if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
-                          -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
-                        AC_MSG_NOTICE(Found MySQL 5.1 library in $prefix/lib/mysql55/mysql)
-                        MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
-                     fi
-                     MYSQL_BINDIR=$prefix/lib/mysql51/bin
-                 ;;
-              esac
-              if test -z "${MYSQL_LIBDIR}" ; then
-                 AC_MSG_RESULT(no)
-                 AC_MSG_ERROR(MySQL $withval - unable to find MySQL libraries)
-              fi
+        fi
+     else
+        if test -f $withval/include/mysql/mysql.h; then
+           MYSQL_INCDIR=$withval/include/mysql
+           if test -f $withval/lib64/mysql/libmysqlclient_r.a \
+                -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64/mysql
+           elif test -f $withval/lib64/libmysqlclient_r.a \
+                -o -f $withval/lib64/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64
+           elif test -f $withval/lib/libmysqlclient_r.a \
+                -o -f $withval/lib/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib
            else
+              MYSQL_LIBDIR=$withval/lib/mysql
+           fi
+           MYSQL_BINDIR=$withval/bin
+        elif test -f $withval/include/mysql.h; then
+           MYSQL_INCDIR=$withval/include
+           if test -f $withval/lib64/libmysqlclient_r.a \
+                -o -f $withval/lib64/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64
+           else
+              MYSQL_LIBDIR=$withval/lib
+           fi
+           MYSQL_BINDIR=$withval/bin
+        elif test -f $withval/mysql.h; then
+           dnl MacPorts on OSX has a special MySQL Layout. See #2079
+           MYSQL_INCDIR=$withval
+           AC_MSG_NOTICE(Got with-mysql variable $MYSQL_INCDIR checking MySQL version)
+           case $MYSQL_INCDIR in
+              *mysql55*)
+                  AC_MSG_NOTICE(Assuming MacPorts MySQL 5.5 variant installed)
+                  dnl with-mysql given contains mysql55 - assuming OSX MacPorts MySQL55 variant
+                  if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
+                       -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
+                     AC_MSG_NOTICE(Found MySQL 5.5 library in $prefix/lib/mysql55/mysql)
+                     MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
+                  fi
+                  MYSQL_BINDIR=$prefix/lib/mysql55/bin
+              ;;
+              *mysql51*)
+                  AC_MSG_NOTICE(Assuming MacPorts MySQL 5.1 variant installed)
+                  dnl with-mysql contains mysql51 - assuming OSX MacPorts MySQL51 variant
+                  if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
+                       -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
+                     AC_MSG_NOTICE(Found MySQL 5.1 library in $prefix/lib/mysql55/mysql)
+                     MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
+                  fi
+                  MYSQL_BINDIR=$prefix/lib/mysql51/bin
+              ;;
+           esac
+           if test -z "${MYSQL_LIBDIR}" ; then
               AC_MSG_RESULT(no)
-              AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
+              AC_MSG_ERROR(MySQL $withval - unable to find MySQL libraries)
            fi
-        fi
-     MYSQL_INCLUDE=-I$MYSQL_INCDIR
-     if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
-          -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
-        if test x$use_libtool != xno; then
-           MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
         else
-           MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
         fi
-        DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
      fi
-     MYSQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
+     if test "x${MYSQL_LIBDIR}" != x; then
+        MYSQL_INCLUDE=-I$MYSQL_INCDIR
+        if test "x$HAVE_LIBSR" = "xyes"; then
+           DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
+           MYSQL_LIBS="$MYSQL_LIBDIR"
+           MYSQL_INCLUDE="$MYSQL_INCDIR"
+           AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe])
+           if test -z "${batch_insert_db_backends}"; then
+              batch_insert_db_backends="MySQL"
+           else
+              batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+           fi
+        elif test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
+               -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
+           if test x$use_libtool != xno; then
+              MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           else
+              MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           fi
+           DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
+        fi
+        if test "x${MYSQL_LIBS}" = x; then
+           MYSQL_LIBS=$MYSQL_LIBDIR/libmysqlclient_r.a
+        fi
 
-     AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
-     AC_MSG_RESULT(yes)
+        AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
+        AC_MSG_RESULT(yes)
 
-     if test -z "${db_backends}" ; then
-         db_backends="MySQL"
-     else
-         db_backends="${db_backends} MySQL"
-     fi
-     if test -z "${DB_BACKENDS}" ; then
-         DB_BACKENDS="mysql"
-     else
-         DB_BACKENDS="${DB_BACKENDS} mysql"
-     fi
-
-     dnl -------------------------------------------
-     dnl Check if mysql supports batch mode
-     dnl -------------------------------------------
-     if test "x$support_batch_insert" = "xyes"; then
-         dnl For mysql checking
-         saved_LDFLAGS="${LDFLAGS}"
-         LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
-         saved_LIBS="${LIBS}"
-         LIBS="${saved_LIBS} -lz"
+        if test -z "${db_backends}" ; then
+            db_backends="MySQL"
+        else
+            db_backends="${db_backends} MySQL"
+        fi
+        if test -z "${DB_BACKENDS}" ; then
+            DB_BACKENDS="mysql"
+        else
+            DB_BACKENDS="${DB_BACKENDS} mysql"
+        fi
 
-         AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
-         if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
-             if test -z "${batch_insert_db_backends}"; then
-                 batch_insert_db_backends="MySQL"
-             else
-                 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
-             fi
-         fi
+        dnl -------------------------------------------
+        dnl Check if mysql supports batch mode
+        dnl -------------------------------------------
+        if test "x$HAVE_LIBSR" = "xno"; then
+          if test "x$support_batch_insert" = "xyes"; then
+            dnl For mysql checking
+            saved_LDFLAGS="${LDFLAGS}"
+            LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
+            saved_LIBS="${LIBS}"
+            LIBS="${saved_LIBS} -lz"
+
+            AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
+            if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
+                if test -z "${batch_insert_db_backends}"; then
+                    batch_insert_db_backends="MySQL"
+                else
+                    batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+                fi
+            fi
 
-         dnl Revert after mysql checks
-         LDFLAGS="${saved_LDFLAGS}"
-         LIBS="${saved_LIBS}"
+            dnl Revert after mysql checks
+            LDFLAGS="${saved_LDFLAGS}"
+            LIBS="${saved_LIBS}"
+          fi
+        fi
+     else
+        AC_MSG_RESULT(no)
      fi
-  else
-     AC_MSG_RESULT(no)
   fi
 ],[
   AC_MSG_RESULT(no)
diff --git a/autoconf/configure.in b/autoconf/configure.in
index 8ba3dfb..44e8a86 100644
--- a/autoconf/configure.in
+++ b/autoconf/configure.in
@@ -2,7 +2,7 @@ dnl
 dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl Copyright (C) 2000-2015 Kern Sibbald
+dnl Copyright (C) 2000-2016 Kern Sibbald
 dnl License: BSD 2-Clause; see file LICENSE-FOSS
 dnl
 dnl require a recent autoconf
diff --git a/configure b/configure
index 177dd29..78b3fef 100755
--- a/configure
+++ b/configure
@@ -24107,24 +24107,27 @@ $as_echo_n "checking for MySQL support... " >&6; }
 # Check whether --with-mysql was given.
 if test "${with_mysql+set}" = set; then :
   withval=$with_mysql;
+  HAVE_LIBSR="no"
   if test "$withval" != "no"; then
-        if test "$withval" = "yes"; then
-#
-# This code is very broken on older systems
-#
-#           MYSQL_CONFIG=`which mysql_config 2>/dev/null`
-#           if test "x${MYSQL_CONFIG}" != x; then
-#              MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
-#              ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
-#              if test $? = 0 ; then
-#                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
-#                 MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
-#              else
-#                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs_r | sed -e 's/.*-L//' -e 's/ .*//'`
-#                 MYSQL_INCDIR=`${MYSQL_CONFIG} --include | sed -e 's/-I//'`
-#              fi
-#           fi
-#           if [ "x${MYSQL_LIB}" = x -o "x${MYSQL_INCDIR}" = x ]; then
+     if test "$withval" = "yes"; then
+        MYSQL_CONFIG=`which mysql_config 2>/dev/null`
+        if test "x${MYSQL_CONFIG}" != x; then
+           MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
+           ${MYSQL_CONFIG} --libs_r >/dev/null 2>&1
+           if test $? = 0; then
+              MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs_r`
+              MYSQL_INCDIR=`${MYSQL_CONFIG} --include`
+              HAVE_LIBSR="yes"
+           else
+              ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
+              if test $? = 0 ; then
+                 MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
+                 MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
+              fi
+           fi
+        fi
+        # if something wrong fall back to old method
+        if test "x${MYSQL_LIBDIR}" = x -o "x${MYSQL_INCDIR}" = x ; then
            if test -f /usr/local/mysql/include/mysql/mysql.h; then
               MYSQL_INCDIR=/usr/local/mysql/include/mysql
               if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
@@ -24184,106 +24187,123 @@ if test "${with_mysql+set}" = set; then :
 $as_echo "no" >&6; }
               as_fn_error $? "Unable to find mysql.h in standard locations" "$LINENO" 5
            fi
-        else
-           if test -f $withval/include/mysql/mysql.h; then
-              MYSQL_INCDIR=$withval/include/mysql
-              if test -f $withval/lib64/mysql/libmysqlclient_r.a \
-                   -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64/mysql
-              elif test -f $withval/lib64/libmysqlclient_r.a \
-                   -o -f $withval/lib64/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64
-              elif test -f $withval/lib/libmysqlclient_r.a \
-                   -o -f $withval/lib/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib
-              else
-                 MYSQL_LIBDIR=$withval/lib/mysql
-              fi
-              MYSQL_BINDIR=$withval/bin
-           elif test -f $withval/include/mysql.h; then
-              MYSQL_INCDIR=$withval/include
-              if test -f $withval/lib64/libmysqlclient_r.a \
-                   -o -f $withval/lib64/libmysqlclient_r.so; then
-                 MYSQL_LIBDIR=$withval/lib64
-              else
-                 MYSQL_LIBDIR=$withval/lib
-              fi
-              MYSQL_BINDIR=$withval/bin
-           elif test -f $withval/mysql.h; then
-                            MYSQL_INCDIR=$withval
-              { $as_echo "$as_me:${as_lineno-$LINENO}: Got with-mysql variable $MYSQL_INCDIR checking MySQL version" >&5
+        fi
+     else
+        if test -f $withval/include/mysql/mysql.h; then
+           MYSQL_INCDIR=$withval/include/mysql
+           if test -f $withval/lib64/mysql/libmysqlclient_r.a \
+                -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64/mysql
+           elif test -f $withval/lib64/libmysqlclient_r.a \
+                -o -f $withval/lib64/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64
+           elif test -f $withval/lib/libmysqlclient_r.a \
+                -o -f $withval/lib/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib
+           else
+              MYSQL_LIBDIR=$withval/lib/mysql
+           fi
+           MYSQL_BINDIR=$withval/bin
+        elif test -f $withval/include/mysql.h; then
+           MYSQL_INCDIR=$withval/include
+           if test -f $withval/lib64/libmysqlclient_r.a \
+                -o -f $withval/lib64/libmysqlclient_r.so; then
+              MYSQL_LIBDIR=$withval/lib64
+           else
+              MYSQL_LIBDIR=$withval/lib
+           fi
+           MYSQL_BINDIR=$withval/bin
+        elif test -f $withval/mysql.h; then
+                      MYSQL_INCDIR=$withval
+           { $as_echo "$as_me:${as_lineno-$LINENO}: Got with-mysql variable $MYSQL_INCDIR checking MySQL version" >&5
 $as_echo "$as_me: Got with-mysql variable $MYSQL_INCDIR checking MySQL version" >&6;}
-              case $MYSQL_INCDIR in
-                 *mysql55*)
-                     { $as_echo "$as_me:${as_lineno-$LINENO}: Assuming MacPorts MySQL 5.5 variant installed" >&5
+           case $MYSQL_INCDIR in
+              *mysql55*)
+                  { $as_echo "$as_me:${as_lineno-$LINENO}: Assuming MacPorts MySQL 5.5 variant installed" >&5
 $as_echo "$as_me: Assuming MacPorts MySQL 5.5 variant installed" >&6;}
-                                          if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
-                          -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: Found MySQL 5.5 library in $prefix/lib/mysql55/mysql" >&5
+                                    if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
+                       -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
+                     { $as_echo "$as_me:${as_lineno-$LINENO}: Found MySQL 5.5 library in $prefix/lib/mysql55/mysql" >&5
 $as_echo "$as_me: Found MySQL 5.5 library in $prefix/lib/mysql55/mysql" >&6;}
-                        MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
-                     fi
-                     MYSQL_BINDIR=$prefix/lib/mysql55/bin
-                 ;;
-                 *mysql51*)
-                     { $as_echo "$as_me:${as_lineno-$LINENO}: Assuming MacPorts MySQL 5.1 variant installed" >&5
+                     MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
+                  fi
+                  MYSQL_BINDIR=$prefix/lib/mysql55/bin
+              ;;
+              *mysql51*)
+                  { $as_echo "$as_me:${as_lineno-$LINENO}: Assuming MacPorts MySQL 5.1 variant installed" >&5
 $as_echo "$as_me: Assuming MacPorts MySQL 5.1 variant installed" >&6;}
-                                          if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
-                          -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: Found MySQL 5.1 library in $prefix/lib/mysql55/mysql" >&5
+                                    if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
+                       -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
+                     { $as_echo "$as_me:${as_lineno-$LINENO}: Found MySQL 5.1 library in $prefix/lib/mysql55/mysql" >&5
 $as_echo "$as_me: Found MySQL 5.1 library in $prefix/lib/mysql55/mysql" >&6;}
-                        MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
-                     fi
-                     MYSQL_BINDIR=$prefix/lib/mysql51/bin
-                 ;;
-              esac
-              if test -z "${MYSQL_LIBDIR}" ; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                 as_fn_error $? "MySQL $withval - unable to find MySQL libraries" "$LINENO" 5
-              fi
-           else
+                     MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
+                  fi
+                  MYSQL_BINDIR=$prefix/lib/mysql51/bin
+              ;;
+           esac
+           if test -z "${MYSQL_LIBDIR}" ; then
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-              as_fn_error $? "Invalid MySQL directory $withval - unable to find mysql.h under $withval" "$LINENO" 5
+              as_fn_error $? "MySQL $withval - unable to find MySQL libraries" "$LINENO" 5
            fi
-        fi
-     MYSQL_INCLUDE=-I$MYSQL_INCDIR
-     if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
-          -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
-        if test x$use_libtool != xno; then
-           MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
         else
-           MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+           as_fn_error $? "Invalid MySQL directory $withval - unable to find mysql.h under $withval" "$LINENO" 5
         fi
-        DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
      fi
-     MYSQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
+     if test "x${MYSQL_LIBDIR}" != x; then
+        MYSQL_INCLUDE=-I$MYSQL_INCDIR
+        if test "x$HAVE_LIBSR" = "xyes"; then
+           DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
+           MYSQL_LIBS="$MYSQL_LIBDIR"
+           MYSQL_INCLUDE="$MYSQL_INCDIR"
+
+$as_echo "#define HAVE_MYSQL_THREAD_SAFE 1" >>confdefs.h
+
+           if test -z "${batch_insert_db_backends}"; then
+              batch_insert_db_backends="MySQL"
+           else
+              batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+           fi
+        elif test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
+               -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
+           if test x$use_libtool != xno; then
+              MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           else
+              MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+           fi
+           DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
+        fi
+        if test "x${MYSQL_LIBS}" = x; then
+           MYSQL_LIBS=$MYSQL_LIBDIR/libmysqlclient_r.a
+        fi
 
 
 $as_echo "#define HAVE_MYSQL 1" >>confdefs.h
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
-     if test -z "${db_backends}" ; then
-         db_backends="MySQL"
-     else
-         db_backends="${db_backends} MySQL"
-     fi
-     if test -z "${DB_BACKENDS}" ; then
-         DB_BACKENDS="mysql"
-     else
-         DB_BACKENDS="${DB_BACKENDS} mysql"
-     fi
+        if test -z "${db_backends}" ; then
+            db_backends="MySQL"
+        else
+            db_backends="${db_backends} MySQL"
+        fi
+        if test -z "${DB_BACKENDS}" ; then
+            DB_BACKENDS="mysql"
+        else
+            DB_BACKENDS="${DB_BACKENDS} mysql"
+        fi
 
-                    if test "x$support_batch_insert" = "xyes"; then
-                  saved_LDFLAGS="${LDFLAGS}"
-         LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
-         saved_LIBS="${LIBS}"
-         LIBS="${saved_LIBS} -lz"
+                                if test "x$HAVE_LIBSR" = "xno"; then
+          if test "x$support_batch_insert" = "xyes"; then
+                        saved_LDFLAGS="${LDFLAGS}"
+            LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
+            saved_LIBS="${LIBS}"
+            LIBS="${saved_LIBS} -lz"
 
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysql_thread_safe in -lmysqlclient_r" >&5
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysql_thread_safe in -lmysqlclient_r" >&5
 $as_echo_n "checking for mysql_thread_safe in -lmysqlclient_r... " >&6; }
 if ${ac_cv_lib_mysqlclient_r_mysql_thread_safe+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -24325,20 +24345,22 @@ $as_echo "#define HAVE_MYSQL_THREAD_SAFE 1" >>confdefs.h
 
 fi
 
-         if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
-             if test -z "${batch_insert_db_backends}"; then
-                 batch_insert_db_backends="MySQL"
-             else
-                 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
-             fi
-         fi
+            if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
+                if test -z "${batch_insert_db_backends}"; then
+                    batch_insert_db_backends="MySQL"
+                else
+                    batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+                fi
+            fi
 
-                  LDFLAGS="${saved_LDFLAGS}"
-         LIBS="${saved_LIBS}"
-     fi
-  else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+                        LDFLAGS="${saved_LDFLAGS}"
+            LIBS="${saved_LIBS}"
+          fi
+        fi
+     else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+     fi
   fi
 
 else
diff --git a/src/cats/create_sqlite3_database.in.patch b/src/cats/create_sqlite3_database.in.patch
deleted file mode 100644
index e9a38f4..0000000
--- a/src/cats/create_sqlite3_database.in.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- create_sqlite3_database.in	2007-11-17 08:32:46.000000000 -0500
-+++ create_sqlite3_database.in.fixed	2007-11-17 08:35:00.000000000 -0500
-@@ -2,7 +2,7 @@
- #
- # shell script to create Bacula SQLite tables
- 
--bindir=@SQLITE_BINDIR@
-+bindir=/opt/bacula/sqlite
- cd @working_dir@
- db_name=@db_name@
-
diff --git a/src/cats/grant_mysql_privileges.patch b/src/cats/grant_mysql_privileges.patch
deleted file mode 100644
index c529818..0000000
--- a/src/cats/grant_mysql_privileges.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-10,13d9
-< grant all privileges on *.* to kern at localhost with grant option;
-< grant all privileges on *.* to kern@"%" with grant option;
-< grant all privileges on *.* to kelvin at localhost with grant option;
-< grant all privileges on *.* to kelvin@"%" with grant option;
-20c16
-<    echo "Privileges for kern, kelvin, and bacula granted."
----
->    echo "MySQL privileges for bacula granted."
-23c19
-<    echo "Error creating privileges."
----
->    echo "Error creating MySQL privileges."
diff --git a/src/cats/make_catalog_backup.in.patch b/src/cats/make_catalog_backup.in.patch
deleted file mode 100644
index 46d1834..0000000
--- a/src/cats/make_catalog_backup.in.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- make_catalog_backup.in      2006-12-09 10:17:05.000000000 -0500
-+++ make_catalog_backup.in.fixed        2006-12-09 10:24:40.000000000 -0500
-@@ -56,8 +56,7 @@ rm -f $1.sql
- 
- case ${db_type} in
-   sqlite3)
--    BINDIR=@SQLITE_BINDIR@
--    echo ".dump" | ${BINDIR}/sqlite3 $1.db >$1.sql
-+    echo ".dump" | /opt/bacula/sqlite/sqlite3 $1.db >$1.sql
-     ;;
-   mysql)
-     BINDIR=@MYSQL_BINDIR@
-
diff --git a/src/cats/sql.c b/src/cats/sql.c
index e241d09..b20911c 100644
--- a/src/cats/sql.c
+++ b/src/cats/sql.c
@@ -686,7 +686,8 @@ list_result(JCR *jcr, BDB *mdb, DB_LIST_HANDLER *send, void *ctx, e_list_type ty
          } else if (mdb->sql_field_is_numeric(field->type) && !jcr->gui && is_an_integer(row[i])) { 
             bsnprintf(buf, sizeof(buf), " %*s |", max_len, 
                       add_commas(row[i], ewc)); 
-         } else { 
+         } else {
+            strip_trailing_junk(row[i]);
             bsnprintf(buf, sizeof(buf), " %-*s |", max_len, row[i]); 
          } 
          send(ctx, buf); 
@@ -711,7 +712,8 @@ vertical_list:
          } else if (mdb->sql_field_is_numeric(field->type) && !jcr->gui && is_an_integer(row[i])) { 
             bsnprintf(buf, sizeof(buf), " %*s: %s\n", max_len, field->name, 
                 add_commas(row[i], ewc)); 
-         } else { 
+         } else {
+            strip_trailing_junk(row[i]);
             bsnprintf(buf, sizeof(buf), " %*s: %s\n", max_len, field->name, row[i]); 
          } 
          send(ctx, buf); 
diff --git a/src/cats/update_sqlite3_tables.in.patch b/src/cats/update_sqlite3_tables.in.patch
deleted file mode 100644
index 1a01855..0000000
--- a/src/cats/update_sqlite3_tables.in.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./update_sqlite3_tables.in	2010-01-25 02:56:28.000000000 -0500
-+++ ../../../bacula-5.0.0-fixed/src/cats/update_sqlite3_tables.in	2010-01-31 10:22:52.000000000 -0500
-@@ -9,7 +9,7 @@ echo "  which is needed to convert from Bacula Enterprise version 2.6.x to 4.0.x"
- echo " or Bacula Community version 5.0.x to 5.2.x"
- echo " "
- 
--bindir=@SQLITE_BINDIR@
-+bindir=/opt/bacula/sqlite
- PATH="$bindir:$PATH"
- cd @working_dir@
- db_name=@db_name@
-
diff --git a/src/dird/job.c b/src/dird/job.c
index 9ed9c27..7558d36 100644
--- a/src/dird/job.c
+++ b/src/dird/job.c
@@ -648,6 +648,8 @@ static int cancel_inactive_job(UAContext *ua, JCR *jcr)
    cancel_sd_job(ua, "cancel", jcr);
 
 bail_out:
+   jcr->JobId = 0;
+   free_jcr(jcr);
    return 1;
 }
 
@@ -1009,7 +1011,9 @@ bool allow_duplicate_job(JCR *jcr)
       if (djcr->IgnoreDuplicateJobChecking) {
          continue; 
       } 
-      if (strcmp(job->name(), djcr->job->name()) == 0) {
+      if ((strcmp(job->name(), djcr->job->name()) == 0) &&
+          djcr->getJobType() == jcr->getJobType()) /* A duplicate is about the same name and the same type */
+      {
          bool cancel_dup = false;
          bool cancel_me = false;
          if (job->DuplicateJobProximity > 0) {
diff --git a/src/dird/ua_cmds.c b/src/dird/ua_cmds.c
index e9cc929..5ba1a68 100644
--- a/src/dird/ua_cmds.c
+++ b/src/dird/ua_cmds.c
@@ -1840,7 +1840,7 @@ int wait_cmd(UAContext *ua, const char *cmd)
       for (bool running=true; running; ) {
          running = false;
          foreach_jcr(jcr) {
-            if (jcr->JobId != 0) {
+            if (!jcr->is_internal_job()) {
                running = true;
                break;
             }
@@ -1900,7 +1900,7 @@ int wait_cmd(UAContext *ua, const char *cmd)
       } else if (strcasecmp(ua->argk[i], "mount") == 0) {
          for (bool waiting=false; !waiting; ) {
             foreach_jcr(jcr) {
-               if (jcr->JobId != 0 &&
+               if (!jcr->is_internal_job() &&
                    (jcr->JobStatus == JS_WaitMedia || jcr->JobStatus == JS_WaitMount)) {
                   waiting = true;
                   break;
diff --git a/src/dird/ua_select.c b/src/dird/ua_select.c
index d7efcf9..3e39ba9 100644
--- a/src/dird/ua_select.c
+++ b/src/dird/ua_select.c
@@ -1293,7 +1293,7 @@ static int count_running_jobs(UAContext *ua)
    JCR *jcr;
    /* Count Jobs running */
    foreach_jcr(jcr) {
-      if (jcr->JobId == 0) {      /* this is us */
+      if (jcr->is_internal_job()) {      /* this is us */
          continue;
       }
       tjobs++;                    /* count of all jobs */
@@ -1363,7 +1363,7 @@ int select_running_jobs(UAContext *ua, alist *jcrs, const char *reason)
       /* TODO: might want to implement filters (client, status, etc...) */
       } else if (strcasecmp(ua->argk[i], NT_("all")) == 0) {
          foreach_jcr(jcr) {
-            if (jcr->JobId == 0) {      /* Do not cancel consoles */
+            if (jcr->is_internal_job()) { /* Do not cancel consoles */
                continue;
             }
             if (!acl_access_ok(ua, Job_ACL, jcr->job->name())) {
@@ -1454,7 +1454,7 @@ int select_running_jobs(UAContext *ua, alist *jcrs, const char *reason)
       start_prompt(ua, _("Select Job(s):\n"));
       foreach_jcr(jcr) {
          char ed1[50];
-         if (jcr->JobId == 0) {      /* this is us */
+         if (jcr->is_internal_job()) {      /* this is us */
             continue;
          }
          bsnprintf(buf, sizeof(buf), _("JobId=%s Job=%s"), edit_int64(jcr->JobId, ed1), jcr->Job);
diff --git a/src/dird/ua_status.c b/src/dird/ua_status.c
index 291de2b..3959660 100644
--- a/src/dird/ua_status.c
+++ b/src/dird/ua_status.c
@@ -68,7 +68,7 @@ bool dot_status_cmd(UAContext *ua, const char *cmd)
       if (strcasecmp(ua->argk[2], "current") == 0) {
          ua->send_msg(OKqstatus, ua->argk[2]);
          foreach_jcr(njcr) {
-            if (njcr->JobId != 0 && acl_access_ok(ua, Job_ACL, njcr->job->name())) {
+            if (!njcr->is_internal_job() && acl_access_ok(ua, Job_ACL, njcr->job->name())) {
                ua->send_msg(DotStatusJob, edit_int64(njcr->JobId, ed1),
                         njcr->JobStatus, njcr->JobErrors);
             }
diff --git a/src/jcr.h b/src/jcr.h
index 8ac46c2..d37a31f 100644
--- a/src/jcr.h
+++ b/src/jcr.h
@@ -192,6 +192,7 @@ public:
       pthread_mutex_destroy(&mutex_auth);
       pthread_mutex_destroy(&mutex);
    };
+   bool is_internal_job() {return (JobId == 0 || m_JobType == JT_SYSTEM || m_JobType == JT_CONSOLE); };
    bool is_job_canceled() {return job_canceled(this); };
    bool is_canceled() {return job_canceled(this); };
    bool is_incomplete() { return JobStatus == JS_Incomplete; };
diff --git a/src/stored/dircmd.c b/src/stored/dircmd.c
index c7b0314..4714834 100644
--- a/src/stored/dircmd.c
+++ b/src/stored/dircmd.c
@@ -582,7 +582,7 @@ static bool do_label(JCR *jcr, int relabel)
             if (reserve_volume(dcr, newname) == NULL) {
                ok = false;
             }
-            Dmsg1(000, "Reserved volume \"%s\"\n", newname);
+            Dmsg1(400, "Reserved volume \"%s\"\n", newname);
          } else {
             ok = false;
          }
diff --git a/src/version.h b/src/version.h
index 2cc1f64..0945a23 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 "7.4.1"
-#define BDATE   "02 May 2016"
-#define LSMDATE "02May16"
+#define VERSION "7.4.2"
+#define BDATE   "06 June 2016"
+#define LSMDATE "06Jun16"
 
 #define RELEASE 1   /* Use ONLY in rpms */
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bacula/bacula.git



More information about the pkg-bacula-commits mailing list