From ecce8c33e48d9b52549e55cfaa7e7897ffb52c83 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@91ce42f0-d328-0410-95d8-f526ca767f89> Date: Mon, 21 Jun 2004 14:39:03 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'Release-1.34.5'. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/tags/Release-1.34.5@1438 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/ChangeLog | 36 +- bacula/Makefile.in | 8 +- bacula/ReleaseNotes | 43 ++- bacula/autoconf/Make.common.in | 4 +- bacula/autoconf/configure.in | 33 +- bacula/configure | 78 +++-- bacula/platforms/freebsd/Makefile.in | 5 +- bacula/platforms/redhat/bacula.spec.in | 7 +- .../platforms/slackware/functions.bacula.in | 113 ++++--- bacula/platforms/suse/bacula.in | 120 +++---- bacula/platforms/suse/bacula.spec.in | 7 +- bacula/scripts/bacula.in | 4 +- bacula/src/bacula.h | 5 + bacula/src/cats/sql.c | 2 +- bacula/src/console/Makefile.in | 4 +- bacula/src/console/authenticate.c | 4 +- bacula/src/console/console.c | 36 +- bacula/src/console2.glade | 2 +- bacula/src/dird/Makefile.in | 4 +- bacula/src/dird/query.sql | 35 +- bacula/src/dird/ua.h | 46 +-- bacula/src/gnome2-console/Makefile.in | 14 +- bacula/src/gnome2-console/callbacks.c | 24 +- bacula/src/gnome2-console/console.c | 31 +- bacula/src/gnome2-console/console.h | 15 +- bacula/src/gnome2-console/console_conf.h | 2 +- bacula/src/gnome2-console/interface.c | 2 +- bacula/src/gnome2-console/restore.c | 13 +- bacula/src/lib/bnet.c | 20 +- bacula/src/lib/bpipe.c | 1 + bacula/src/lib/message.c | 18 +- bacula/src/stored/Makefile.in | 14 +- bacula/src/stored/askdir.c | 4 - bacula/src/stored/autochanger.c | 6 +- bacula/src/stored/block.c | 2 +- bacula/src/stored/btape.c | 1 + bacula/src/stored/dircmd.c | 10 + bacula/src/stored/job.c | 7 - bacula/src/stored/label.c | 2 +- bacula/src/stored/mount.c | 144 ++++---- bacula/src/stored/stored.c | 6 + bacula/src/tools/Makefile.in | 8 +- bacula/src/version.h | 6 +- bacula/src/win32/compat/compat.cpp | 27 +- regress/.cvsignore | 9 - regress/Makefile.in | 69 ---- regress/README | 101 ------ regress/all-non-root-2tape-tests | 12 - regress/all-non-root-tape-tests | 19 -- regress/all-non-root-tests | 35 -- regress/all-root-tests | 11 - regress/all-tape-and-file-tests | 6 - regress/all-tests | 8 - regress/config | 9 - regress/do_all | 3 - regress/do_all_tapes | 3 - regress/file | 2 - regress/kern.conf | 15 - regress/prototype.conf | 37 --- regress/scripts/.cvsignore | 17 - regress/scripts/bacula-dir-tape.conf.in | 134 -------- regress/scripts/bacula-sd-2tape.conf.in | 55 --- regress/scripts/bacula-sd-tape.conf.in | 54 --- regress/scripts/bacula-sd.conf.in | 74 ----- regress/scripts/check_for_zombie_jobs | 52 --- regress/scripts/cleanup | 18 - regress/scripts/cleanup-2tape.in | 30 -- regress/scripts/cleanup-tape.in | 8 - regress/scripts/copy-2tape-confs | 5 - regress/scripts/copy-confs | 5 - regress/scripts/copy-tape-confs | 5 - regress/scripts/copy-test-confs | 5 - regress/scripts/copy-testa-confs | 5 - regress/scripts/do_sed | 59 ---- regress/scripts/exclude-dev-test | 5 - regress/scripts/exclude-etc-test | 1 - regress/scripts/exclude-lib-test | 5 - regress/scripts/flist | 16 - regress/scripts/freebsd_tape_options | 8 - regress/scripts/linux_osst_tape_options | 7 - regress/scripts/linux_tape_options | 1 - regress/scripts/new-test-bacula-dir.conf.in | 312 ------------------ regress/scripts/prepare-two-tapes.in | 13 - regress/scripts/regress-config | 21 -- regress/scripts/setup | 44 --- regress/scripts/test-bacula-dir.conf.in | 299 ----------------- regress/scripts/test-bacula-fd.conf.in | 33 -- regress/scripts/test-bacula-sd.conf.in | 107 ------ regress/scripts/test-console.conf.in | 10 - regress/scripts/testa-bacula-dir.conf.in | 149 --------- regress/tape | 2 - regress/tests/.cvsignore | 1 - regress/tests/auto-label-test | 64 ---- regress/tests/backup-bacula-tape | 80 ----- regress/tests/backup-bacula-test | 53 --- regress/tests/bextract-test | 57 ---- regress/tests/bscan-tape | 138 -------- regress/tests/bscan-test | 82 ----- regress/tests/bsr-opt-test | 71 ---- regress/tests/btape-fill-full-tape | 34 -- regress/tests/btape-fill-tape | 39 --- regress/tests/compressed-test | 59 ---- regress/tests/concurrent-jobs-test | 76 ----- regress/tests/decremental-test | 90 ----- regress/tests/dev-test-root | 81 ----- regress/tests/etc-test-root | 75 ----- regress/tests/fixed-block-size-tape | 72 ---- regress/tests/four-concurrent-jobs-tape | 66 ---- regress/tests/four-concurrent-jobs-test | 76 ----- regress/tests/four-jobs-tape | 131 -------- regress/tests/four-jobs-test | 126 ------- regress/tests/incremental-2tape | 91 ----- regress/tests/incremental-tape | 82 ----- regress/tests/incremental-test | 79 ----- regress/tests/lib-tape-root | 67 ---- regress/tests/lib-test-root | 80 ----- regress/tests/query-test | 123 ------- regress/tests/recycle-test | 90 ----- regress/tests/restore-by-file-tape | 120 ------- regress/tests/restore-by-file-test | 65 ---- regress/tests/restore-disk-seek-test | 87 ----- regress/tests/restore2-by-file-test | 65 ---- regress/tests/six-vol-test | 65 ---- regress/tests/small-file-size-tape | 60 ---- regress/tests/span-vol-test | 66 ---- regress/tests/sparse-compressed-test | 55 --- regress/tests/sparse-test | 57 ---- regress/tests/test0 | 3 - regress/tests/two-jobs-test | 86 ----- regress/tests/two-vol-test | 56 ---- regress/tests/two-volume-tape | 66 ---- regress/tests/usr-tape-root | 67 ---- regress/tests/verify-vol-test | 53 --- regress/tests/weird-files-test | 74 ----- regress/tests/weird-files2-test | 85 ----- regress/weird-files.tar.gz | Bin 1586 -> 0 bytes 136 files changed, 585 insertions(+), 5499 deletions(-) delete mode 100644 regress/.cvsignore delete mode 100644 regress/Makefile.in delete mode 100644 regress/README delete mode 100755 regress/all-non-root-2tape-tests delete mode 100755 regress/all-non-root-tape-tests delete mode 100755 regress/all-non-root-tests delete mode 100755 regress/all-root-tests delete mode 100755 regress/all-tape-and-file-tests delete mode 100755 regress/all-tests delete mode 100755 regress/config delete mode 100755 regress/do_all delete mode 100755 regress/do_all_tapes delete mode 100755 regress/file delete mode 100644 regress/kern.conf delete mode 100644 regress/prototype.conf delete mode 100644 regress/scripts/.cvsignore delete mode 100644 regress/scripts/bacula-dir-tape.conf.in delete mode 100644 regress/scripts/bacula-sd-2tape.conf.in delete mode 100644 regress/scripts/bacula-sd-tape.conf.in delete mode 100644 regress/scripts/bacula-sd.conf.in delete mode 100755 regress/scripts/check_for_zombie_jobs delete mode 100755 regress/scripts/cleanup delete mode 100755 regress/scripts/cleanup-2tape.in delete mode 100755 regress/scripts/cleanup-tape.in delete mode 100755 regress/scripts/copy-2tape-confs delete mode 100755 regress/scripts/copy-confs delete mode 100755 regress/scripts/copy-tape-confs delete mode 100755 regress/scripts/copy-test-confs delete mode 100755 regress/scripts/copy-testa-confs delete mode 100755 regress/scripts/do_sed delete mode 100644 regress/scripts/exclude-dev-test delete mode 100644 regress/scripts/exclude-etc-test delete mode 100644 regress/scripts/exclude-lib-test delete mode 100644 regress/scripts/flist delete mode 100644 regress/scripts/freebsd_tape_options delete mode 100644 regress/scripts/linux_osst_tape_options delete mode 100644 regress/scripts/linux_tape_options delete mode 100644 regress/scripts/new-test-bacula-dir.conf.in delete mode 100755 regress/scripts/prepare-two-tapes.in delete mode 100755 regress/scripts/regress-config delete mode 100755 regress/scripts/setup delete mode 100644 regress/scripts/test-bacula-dir.conf.in delete mode 100644 regress/scripts/test-bacula-fd.conf.in delete mode 100644 regress/scripts/test-bacula-sd.conf.in delete mode 100644 regress/scripts/test-console.conf.in delete mode 100644 regress/scripts/testa-bacula-dir.conf.in delete mode 100755 regress/tape delete mode 100644 regress/tests/.cvsignore delete mode 100755 regress/tests/auto-label-test delete mode 100755 regress/tests/backup-bacula-tape delete mode 100755 regress/tests/backup-bacula-test delete mode 100755 regress/tests/bextract-test delete mode 100755 regress/tests/bscan-tape delete mode 100755 regress/tests/bscan-test delete mode 100755 regress/tests/bsr-opt-test delete mode 100755 regress/tests/btape-fill-full-tape delete mode 100755 regress/tests/btape-fill-tape delete mode 100755 regress/tests/compressed-test delete mode 100755 regress/tests/concurrent-jobs-test delete mode 100755 regress/tests/decremental-test delete mode 100755 regress/tests/dev-test-root delete mode 100755 regress/tests/etc-test-root delete mode 100755 regress/tests/fixed-block-size-tape delete mode 100755 regress/tests/four-concurrent-jobs-tape delete mode 100755 regress/tests/four-concurrent-jobs-test delete mode 100755 regress/tests/four-jobs-tape delete mode 100755 regress/tests/four-jobs-test delete mode 100755 regress/tests/incremental-2tape delete mode 100755 regress/tests/incremental-tape delete mode 100755 regress/tests/incremental-test delete mode 100755 regress/tests/lib-tape-root delete mode 100755 regress/tests/lib-test-root delete mode 100755 regress/tests/query-test delete mode 100755 regress/tests/recycle-test delete mode 100755 regress/tests/restore-by-file-tape delete mode 100755 regress/tests/restore-by-file-test delete mode 100755 regress/tests/restore-disk-seek-test delete mode 100755 regress/tests/restore2-by-file-test delete mode 100755 regress/tests/six-vol-test delete mode 100755 regress/tests/small-file-size-tape delete mode 100755 regress/tests/span-vol-test delete mode 100755 regress/tests/sparse-compressed-test delete mode 100755 regress/tests/sparse-test delete mode 100755 regress/tests/test0 delete mode 100755 regress/tests/two-jobs-test delete mode 100755 regress/tests/two-vol-test delete mode 100755 regress/tests/two-volume-tape delete mode 100755 regress/tests/usr-tape-root delete mode 100755 regress/tests/verify-vol-test delete mode 100755 regress/tests/weird-files-test delete mode 100755 regress/tests/weird-files2-test delete mode 100644 regress/weird-files.tar.gz diff --git a/bacula/ChangeLog b/bacula/ChangeLog index 5719de962e..865e7df63f 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,5 +1,39 @@ -2004-06-09 Version 1.34.3 09Jun04 Release +2004-06-22 Version 1.34.5 21Jun04 Release +21Jun04 +- Fixed Gnome crash on up/down arrow with no history. +- Fixed btape "fill" crash with multiple tape option. +19Jun04 +- Fix a number of places in query.sql where multiple JobIds are + printed (due to JobMedia records). +- Add new query: List jobs on Volume given Volume name. +- Correct socket close on Win32 in bnet.c (in addition to compat.cpp). + Caused fd leak in Win32 for each connection. +- Remove vol labeled test in askdir update_volume_info so that non-labeled + Volume in catalog can be marked in error. +- Close socket in SD when connection rejected. Caused fd leaks. +- Initialize job_start_wait cond variable after every new_jcr() otherwise + NetBSD gets error in library when trying to delete it without being inited. +- Fix typo (9 instead of 0) return status in write_new_volume_label. +- Fix mount.c to call routine that correctly marks a volume in error. +18Jun04 +- Eliminate printing INFO message in UpdateDB (cats) -- it generates + "false" error messages. +- Eliminate some GTK error messages when running the Gnome2 console. +16Jun04 +- Apply Peter Eriksson's lib file order changes in linking for IRIX. +- Abort configure if Internal is selected as the database. +- Add testimonials to the Web page +- Add the bugs list to the Web page "lists". +- Clarify the English in SuSE and Slackware when SD not running. +15Jun04 +- Applied the patches sent by Andreas Jellinghaus: build Gnome and + wx-console in client-only build if configured; add ./configure option + to permit setting of sbin modes -- default is 0745 as before; remove + cats library from Gnome console build; remove old version from Gnome + About box. Thanks Andreas. + +2004-06-14 Version 1.34.4 14Jun04 Release 12Jun04 - Enhance regression scripts. - Apply Tim Oberfoell's ACL patch. diff --git a/bacula/Makefile.in b/bacula/Makefile.in index 5bb0a1dc75..3d8ae498a8 100755 --- a/bacula/Makefile.in +++ b/bacula/Makefile.in @@ -15,11 +15,13 @@ thisdir = . first_rule: all dummy: +# --client-only directories fd_subdirs = src scripts doc src/lib src/findlib src/filed \ - @READLINE_SRC@ src/console rescue rescue/linux + @READLINE_SRC@ src/console rescue rescue/linux \ + @GNOME_DIR@ @WX_DIR@ - -subdirs = src/cats src/dird src/stored @GNOME_DIR@ @WX_DIR@ src/tools +# Non-client-only directores +subdirs = src/cats src/dird src/stored src/tools all_subdirs = ${fd_subdirs} ${@ALL_DIRS@} diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 3e897d0679..c5a9b9990b 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,8 +1,49 @@ - Release Notes for Bacula 1.34.4 + Release Notes for Bacula 1.34.5 Bacula code: Total files = 364 Total lines = 103,481 (*.h *.c *.in) +Changes for 1.34.5: +Major Changes: +- Correct socket close on Win32 in bnet.c (in addition to compat.cpp). + Caused fd leak in Win32 for each connection. +- Fix a number of places in query.sql where multiple JobIds are + printed (due to JobMedia records). +- Abort configure if Internal is selected as the database. +- Close socket in SD when connection rejected. Caused fd leaks. + +Items to note!!!! +- If you are upgrading from 1.32, please be sure to see the database + upgrade procedure under the 1.34.0 notes. + +Other Items: +- Fixed Gnome crash on up/down arrow with no history. +- Fixed btape "fill" crash with multiple tape option. +- Add new query: List jobs on Volume given Volume name. +- Remove vol labeled test in askdir update_volume_info so that non-labeled + Volume in catalog can be marked in error. +- Initialize job_start_wait cond variable after every new_jcr() otherwise + NetBSD gets error in library when trying to delete it without being inited. +- Fix typo (9 instead of 0) return status in write_new_volume_label. +- Fix mount.c to call routine that correctly marks a volume in error. +- Eliminate printing INFO message in UpdateDB (cats) -- it generates + "false" error messages. +- Eliminate some GTK error messages when running the Gnome2 console. +- Apply Peter Eriksson's lib file order changes in linking for IRIX. +- Add testimonials to the Web page +- Add the bugs list to the Web page "lists". +- Clarify the English in SuSE and Slackware when SD not running. +- Applied the patches sent by Andreas Jellinghaus: build Gnome and + wx-console in client-only build if configured; add ./configure option + to permit setting of sbin modes -- default is 0745 as before; remove + cats library from Gnome console build; remove old version from Gnome + About box. Thanks Andreas. +- Correct a typo in the FreeBSD SD autostart install. +- New bacula.spec.in from Scott. +- Use /usr/lib/sendmail instead of mail if no mail program is configured. + Submitted by Peter Eriksson. This *should* be more portable. + + Changes for 1.34.4: Major Changes/Features: - Implement | and < in FD for new FileSet files. diff --git a/bacula/autoconf/Make.common.in b/bacula/autoconf/Make.common.in index 659401dc42..c073cc3b47 100644 --- a/bacula/autoconf/Make.common.in +++ b/bacula/autoconf/Make.common.in @@ -43,9 +43,9 @@ AR = @AR@ RANLIB = @RANLIB@ INSTALL = @INSTALL@ # add the -s to the following in PRODUCTION mode -INSTALL_PROGRAM = @INSTALL@ -m 754 +INSTALL_PROGRAM = @INSTALL@ -m @SBINPERM@ INSTALL_DATA = @INSTALL@ -m 644 -INSTALL_SCRIPT = @INSTALL@ -m 754 +INSTALL_SCRIPT = @INSTALL@ -m @SBINPERM@ INSTALL_CONFIG = @INSTALL@ -m 640 # Flags & libs diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 3c7366e3a4..7818f6e74e 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -59,7 +59,7 @@ AC_PATH_PROG(ECHO, echo, echo) AC_PATH_PROG(CMP, cmp, cmp) AC_PATH_PROG(TBL, tbl, tbl) AC_PATH_PROG(AR, ar, ar) -AC_PATH_PROG(RANLIB, ranlib, ranlib) +dnl AC_PATH_PROG(RANLIB, ranlib, ranlib) AC_PATH_PROG(OPENSSL, openssl, none) AC_PATH_PROG(MTX, mtx, mtx) AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config) @@ -327,6 +327,8 @@ AC_ARG_ENABLE(client-only, [ --enable-client-only build client (File daemon) only [disabled]], [if test x$enableval = xyes; then build_client_only=yes + db_name=None + DB_NAME=none fi]) if test x$build_client_only = xno; then ALL_DIRS="subdirs" @@ -902,6 +904,21 @@ AC_SUBST(sd_group) AC_SUBST(fd_user) AC_SUBST(fd_group) +# +# allow setting default executable permissions +# +SBINPERM=0754 +AC_ARG_WITH(sbin-perm, + [ --with-sbin-perm=MODE specify permissions for sbin binaries (0754)], + [ + if test "x$withval" != "x" ; then + SBINPERM=$withval + fi + ] +) + +AC_SUBST(SBINPERM) + # ------------------------------------------------ # Bacula check for various SQL database engines # ------------------------------------------------ @@ -1730,12 +1747,26 @@ if test "x${subsysdir}" = "x${sbindir}" ; then echo "You have set --sbindir and --with-subsys-dir" echo " both equal to: ${subsysdir} " echo " This is not permitted. Please reconfigure." + echo " " echo "Aborting configuration ..." echo " " echo " " exit 1 fi +if test "x${db_name}" = "xInternal" ; then + echo " " + echo " " + echo "You have not specified either --enable-client-only or one of the" + echo " supported databases: MySQL, PostgreSQL, or SQLite". + echo " This is not permitted. Please reconfigure." + echo " " + echo "Aborting the configuration ..." + echo " " + echo " " + exit 1 +fi + echo " Configuration on `date`: diff --git a/bacula/configure b/bacula/configure index 284695f405..a445d54ecf 100755 --- a/bacula/configure +++ b/bacula/configure @@ -308,7 +308,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS BUILD_DIR TRUEPRG FALSEPRG VERSION DATE LSMDATE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB MV RM CP SED AWK ECHO CMP TBL AR OPENSSL MTX PKGCONFIG WXCONFIG ARFLAGS MAKE_SHELL LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS build build_cpu build_vendor build_os host host_cpu host_vendor host_os HAVE_SUN_OS_TRUE HAVE_SUN_OS_FALSE HAVE_OSF1_OS_TRUE HAVE_OSF1_OS_FALSE HAVE_AIX_OS_TRUE HAVE_AIX_OS_FALSE HAVE_HPUX_OS_TRUE HAVE_HPUX_OS_FALSE HAVE_LINUX_OS_TRUE HAVE_LINUX_OS_FALSE HAVE_FREEBSD_OS_TRUE HAVE_FREEBSD_OS_FALSE HAVE_NETBSD_OS_TRUE HAVE_NETBSD_OS_FALSE HAVE_OPENBSD_OS_TRUE HAVE_OPENBSD_OS_FALSE HAVE_BSDI_OS_TRUE HAVE_BSDI_OS_FALSE HAVE_SGI_OS_TRUE HAVE_SGI_OS_FALSE HAVE_IRIX_OS_TRUE HAVE_IRIX_OS_FALSE HAVE_DARWIN_OS_TRUE HAVE_DARWIN_OS_FALSE INSIDE_GNOME_COMMON_TRUE INSIDE_GNOME_COMMON_FALSE MSGFMT GNOME_INCLUDEDIR GNOMEUI_LIBS GNOME_LIBDIR GNOME_LIBS GNOMEGNORBA_LIBS GTKXMHTML_LIBS ZVT_LIBS GNOME_CONFIG ORBIT_CONFIG ORBIT_IDL HAVE_ORBIT_TRUE HAVE_ORBIT_FALSE ORBIT_CFLAGS ORBIT_LIBS HAVE_GNORBA_TRUE HAVE_GNORBA_FALSE GNORBA_CFLAGS GNORBA_LIBS GNOME_APPLETS_LIBS GNOME_DOCKLETS_LIBS GNOME_CAPPLET_LIBS GNOME_DIR WXCONS_CPPFLAGS WXCONS_LDFLAGS WX_DIR TTOOL_LDFLAGS STATIC_FD STATIC_SD STATIC_DIR STATIC_CONS STATIC_GNOME_CONS STATIC_WX_CONS ALL_DIRS CONS_INC CONS_OBJ CONS_SRC CONS_LIBS CONS_LDFLAGS READLINE_SRC working_dir scriptdir dump_email job_email smtp_host piddir subsysdir baseport dir_port fd_port sd_port dir_password fd_password sd_password dir_user dir_group sd_user sd_group fd_user fd_group SQL_LFLAGS SQL_INCLUDE SQL_BINDIR cats DB_NAME GETCONF ac_ct_GETCONF X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LIBOBJS ALLOCA FDLIBS DEBUG DINCLUDE DLIB DB_LIBS WCFLAGS WLDFLAGS OBJLIST hostname TAPEDRIVE PSCMD WIN32 MACOSX DISTNAME DISTVER LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS BUILD_DIR TRUEPRG FALSEPRG VERSION DATE LSMDATE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA RANLIB ac_ct_RANLIB MV RM CP SED AWK ECHO CMP TBL AR OPENSSL MTX PKGCONFIG WXCONFIG ARFLAGS MAKE_SHELL LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS build build_cpu build_vendor build_os host host_cpu host_vendor host_os HAVE_SUN_OS_TRUE HAVE_SUN_OS_FALSE HAVE_OSF1_OS_TRUE HAVE_OSF1_OS_FALSE HAVE_AIX_OS_TRUE HAVE_AIX_OS_FALSE HAVE_HPUX_OS_TRUE HAVE_HPUX_OS_FALSE HAVE_LINUX_OS_TRUE HAVE_LINUX_OS_FALSE HAVE_FREEBSD_OS_TRUE HAVE_FREEBSD_OS_FALSE HAVE_NETBSD_OS_TRUE HAVE_NETBSD_OS_FALSE HAVE_OPENBSD_OS_TRUE HAVE_OPENBSD_OS_FALSE HAVE_BSDI_OS_TRUE HAVE_BSDI_OS_FALSE HAVE_SGI_OS_TRUE HAVE_SGI_OS_FALSE HAVE_IRIX_OS_TRUE HAVE_IRIX_OS_FALSE HAVE_DARWIN_OS_TRUE HAVE_DARWIN_OS_FALSE INSIDE_GNOME_COMMON_TRUE INSIDE_GNOME_COMMON_FALSE MSGFMT GNOME_INCLUDEDIR GNOMEUI_LIBS GNOME_LIBDIR GNOME_LIBS GNOMEGNORBA_LIBS GTKXMHTML_LIBS ZVT_LIBS GNOME_CONFIG ORBIT_CONFIG ORBIT_IDL HAVE_ORBIT_TRUE HAVE_ORBIT_FALSE ORBIT_CFLAGS ORBIT_LIBS HAVE_GNORBA_TRUE HAVE_GNORBA_FALSE GNORBA_CFLAGS GNORBA_LIBS GNOME_APPLETS_LIBS GNOME_DOCKLETS_LIBS GNOME_CAPPLET_LIBS GNOME_DIR WXCONS_CPPFLAGS WXCONS_LDFLAGS WX_DIR TTOOL_LDFLAGS STATIC_FD STATIC_SD STATIC_DIR STATIC_CONS STATIC_GNOME_CONS STATIC_WX_CONS ALL_DIRS CONS_INC CONS_OBJ CONS_SRC CONS_LIBS CONS_LDFLAGS READLINE_SRC working_dir scriptdir dump_email job_email smtp_host piddir subsysdir baseport dir_port fd_port sd_port dir_password fd_password sd_password dir_user dir_group sd_user sd_group fd_user fd_group SBINPERM SQL_LFLAGS SQL_INCLUDE SQL_BINDIR cats DB_NAME GETCONF ac_ct_GETCONF X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LIBOBJS ALLOCA FDLIBS DEBUG DINCLUDE DLIB DB_LIBS WCFLAGS WLDFLAGS OBJLIST hostname TAPEDRIVE PSCMD WIN32 MACOSX DISTNAME DISTVER LTLIBOBJS' ac_subst_files='MCOMMON' # Initialize some variables set by options. @@ -895,6 +895,7 @@ Optional Packages: --with-sd-group=GROUP specify group for Storage daemon --with-fd-user=USER specify user for File daemon --with-fd-group=GROUP specify group for File daemon + --with-sbin-perm=MODE specify permissions for sbin binaries (0754) --with-postgresql=DIR Include PostgreSQL support. DIR is the PostgreSQL base install directory, defaults to /usr/local/pgsql @@ -3570,46 +3571,6 @@ else echo "${ECHO_T}no" >&6 fi -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $RANLIB in - [\\/]* | ?:[\\/]*) - ac_cv_path_RANLIB="$RANLIB" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RANLIB="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_path_RANLIB" && ac_cv_path_RANLIB="ranlib" - ;; -esac -fi -RANLIB=$ac_cv_path_RANLIB - -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - # Extract the first word of "openssl", so it can be a program name with args. set dummy openssl; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -4898,6 +4859,8 @@ if test "${enable_client_only+set}" = set; then enableval="$enable_client_only" if test x$enableval = xyes; then build_client_only=yes + db_name=None + DB_NAME=none fi fi; if test x$build_client_only = xno; then @@ -7155,6 +7118,24 @@ fi; +# +# allow setting default executable permissions +# +SBINPERM=0754 + +# Check whether --with-sbin-perm or --without-sbin-perm was given. +if test "${with_sbin_perm+set}" = set; then + withval="$with_sbin_perm" + + if test "x$withval" != "x" ; then + SBINPERM=$withval + fi + + +fi; + + + # ------------------------------------------------ # Bacula check for various SQL database engines # ------------------------------------------------ @@ -19232,6 +19213,7 @@ s,@sd_user@,$sd_user,;t t s,@sd_group@,$sd_group,;t t s,@fd_user@,$fd_user,;t t s,@fd_group@,$fd_group,;t t +s,@SBINPERM@,$SBINPERM,;t t s,@SQL_LFLAGS@,$SQL_LFLAGS,;t t s,@SQL_INCLUDE@,$SQL_INCLUDE,;t t s,@SQL_BINDIR@,$SQL_BINDIR,;t t @@ -19831,12 +19813,26 @@ if test "x${subsysdir}" = "x${sbindir}" ; then echo "You have set --sbindir and --with-subsys-dir" echo " both equal to: ${subsysdir} " echo " This is not permitted. Please reconfigure." + echo " " echo "Aborting configuration ..." echo " " echo " " exit 1 fi +if test "x${db_name}" = "xInternal" ; then + echo " " + echo " " + echo "You have not specified either --enable-client-only or one of the" + echo " supported databases: MySQL, PostgreSQL, or SQLite". + echo " This is not permitted. Please reconfigure." + echo " " + echo "Aborting the configuration ..." + echo " " + echo " " + exit 1 +fi + echo " Configuration on `date`: diff --git a/bacula/platforms/freebsd/Makefile.in b/bacula/platforms/freebsd/Makefile.in index c070eed6c2..960a8676d8 100644 --- a/bacula/platforms/freebsd/Makefile.in +++ b/bacula/platforms/freebsd/Makefile.in @@ -49,8 +49,8 @@ install-autostart-sd: rm -f /etc/rc.local.$$today; \ cp -p /etc/rc.local /etc/rc.local.$$today; \ ( echo "Start the Bacula Storage daemon. Do not remove the 'TAG_BACULA_SD' text"; \ - echo "if [ -x /etc/rc.bacula-fd ]; then # TAG_BACULA_SD"; \ - echo " /etc/rc.bacula-fd start # TAG_BACULA_SD"; \ + echo "if [ -x /etc/rc.bacula-sd ]; then # TAG_BACULA_SD"; \ + echo " /etc/rc.bacula-sd start # TAG_BACULA_SD"; \ echo "fi # TAG_BACULA_SD"; \ ) >> /etc/rc.local; \ echo ""; \ @@ -137,4 +137,3 @@ distclean: clean devclean: clean @rm -f Makefile bacula-*.spec - diff --git a/bacula/platforms/redhat/bacula.spec.in b/bacula/platforms/redhat/bacula.spec.in index f15c706e1e..2e4b2a17fb 100644 --- a/bacula/platforms/redhat/bacula.spec.in +++ b/bacula/platforms/redhat/bacula.spec.in @@ -958,9 +958,8 @@ echo "The database update scripts were installed to /etc/bacula/updatedb" %post gconsole # add gnome-console consolehelper link -if [ ! -f /usr/bin/gnome-console ]; then -ln -s /usr/bin/consolehelper /usr/bin/gnome-console -fi +ln -sf /usr/bin/consolehelper /usr/bin/gnome-console + %postun gconsole # remove gnome-console consolehelper link @@ -968,6 +967,8 @@ rm -f /usr/bin/gnome-console %endif %changelog +* Thu Jun 17 2004 D. Scott Barninger +- fix symlink creation in gconsole post install * Sat Jun 12 2004 D. Scott Barninger - fixed error in gconsole post script * Fri Apr 30 2004 D. Scott Barninger diff --git a/bacula/platforms/slackware/functions.bacula.in b/bacula/platforms/slackware/functions.bacula.in index b2054fbd16..11fe45f9f1 100644 --- a/bacula/platforms/slackware/functions.bacula.in +++ b/bacula/platforms/slackware/functions.bacula.in @@ -1,7 +1,7 @@ #! /bin/sh # # bacula This shell script takes care of starting and stopping -# the bacula daemons. +# the bacula daemons. # # This is pretty much watered down version of the RedHat script # that works on Solaris as well as Linux, but it won't work everywhere. @@ -40,17 +40,17 @@ killproc() { RC=0 # Test syntax. if [ $# = 0 ]; then - echo "Usage: killproc {program} [signal]" - return 1 + echo "Usage: killproc {program} [signal]" + return 1 fi notset=0 # check for third arg to be kill level if [ "$3" != "" ] ; then - killlevel=$3 + killlevel=$3 else - notset=1 - killlevel="-9" + notset=1 + killlevel="-9" fi # Get base program name @@ -61,39 +61,39 @@ killproc() { # Kill it. if [ "$pid" != "" ] ; then - if [ "$notset" = "1" ] ; then - if ps -p $pid>/dev/null 2>&1; then - # TERM first, then KILL if not dead - kill -TERM $pid 2>/dev/null - sleep 1 - if ps -p $pid >/dev/null 2>&1 ; then - sleep 1 - if ps -p $pid >/dev/null 2>&1 ; then - sleep 3 - if ps -p $pid >/dev/null 2>&1 ; then - kill -KILL $pid 2>/dev/null - fi - fi - fi - fi - ps -p $pid >/dev/null 2>&1 - RC=$? - [ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown" - # RC=$((! $RC)) - # use specified level only - else - if ps -p $pid >/dev/null 2>&1; then - kill $killlevel $pid 2>/dev/null - RC=$? - [ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel" - fi - fi + if [ "$notset" = "1" ] ; then + if ps -p $pid>/dev/null 2>&1; then + # TERM first, then KILL if not dead + kill -TERM $pid 2>/dev/null + sleep 1 + if ps -p $pid >/dev/null 2>&1 ; then + sleep 1 + if ps -p $pid >/dev/null 2>&1 ; then + sleep 3 + if ps -p $pid >/dev/null 2>&1 ; then + kill -KILL $pid 2>/dev/null + fi + fi + fi + fi + ps -p $pid >/dev/null 2>&1 + RC=$? + [ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown" + # RC=$((! $RC)) + # use specified level only + else + if ps -p $pid >/dev/null 2>&1; then + kill $killlevel $pid 2>/dev/null + RC=$? + [ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel" + fi + fi else - failure "$base shutdown" + failure "$base shutdown" fi # Remove pid file if any. if [ "$notset" = "1" ]; then - rm -f ${PIDDIR}/$base.$2.pid + rm -f ${PIDDIR}/$base.$2.pid fi return $RC } @@ -103,8 +103,8 @@ pidofproc() { pid="" # Test syntax. if [ $# = 0 ] ; then - echo "Usage: pidofproc {program}" - return 1 + echo "Usage: pidofproc {program}" + return 1 fi # Get base program name @@ -112,11 +112,11 @@ pidofproc() { # First try PID file if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` - if [ "$pid" != "" ] ; then - echo $pid - return 0 - fi + pid=`head -1 ${PIDDIR}/$base.$2.pid` + if [ "$pid" != "" ] ; then + echo $pid + return 0 + fi fi # Next try "pidof" @@ -136,8 +136,8 @@ pidofproc() { status() { # Test syntax. if [ $# = 0 ] ; then - echo "Usage: status {program}" - return 1 + echo "Usage: status {program}" + return 1 fi # Get base program name @@ -152,27 +152,27 @@ status() { return 0 else pid=`${PSCMD} | awk 'BEGIN { prog=ARGV[1]; ARGC=1 } - { if ((prog == $2) || (("(" prog ")") == $2) || - (("[" prog "]") == $2) || - ((prog ":") == $2)) { print $1 ; exit 0 } }' $1` + { if ((prog == $2) || (("(" prog ")") == $2) || + (("[" prog "]") == $2) || + ((prog ":") == $2)) { print $1 ; exit 0 } }' $1` if [ "$pid" != "" ] ; then - echo "$base (pid $pid) is running..." - return 0 + echo "$base (pid $pid) is running..." + return 0 fi fi # Next try the PID files if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` - if [ "$pid" != "" ] ; then - echo "$base dead but pid file exists" - return 1 - fi + pid=`head -1 ${PIDDIR}/$base.$2.pid` + if [ "$pid" != "" ] ; then + echo "$base not running, but pid file exists" + return 1 + fi fi # See if the subsys lock exists if [ -f ${SUBSYSDIR}/$base ] ; then - echo "$base dead but subsys locked" - return 2 + echo "$base not running, but subsys locked" + return 2 fi echo "$base is stopped" return 3 @@ -187,4 +187,3 @@ failure() { return $rc } - diff --git a/bacula/platforms/suse/bacula.in b/bacula/platforms/suse/bacula.in index 832ec050f3..1c7545d33f 100644 --- a/bacula/platforms/suse/bacula.in +++ b/bacula/platforms/suse/bacula.in @@ -1,7 +1,7 @@ #! /bin/sh # # bacula This shell script takes care of starting and stopping -# the bacula daemons. +# the bacula daemons. # # This is pretty much watered down version of the RedHat script # that works on Solaris as well as Linux, but it won't work everywhere. @@ -12,12 +12,12 @@ # description: It comes by night and sucks the vital essence from your computers. # ### BEGIN INIT INFO -# Provides: bacula -# Required-Start: network mysql +# Provides: bacula +# Required-Start: network mysql # Required-Stop: -# Default-Start: 2 3 5 +# Default-Start: 2 3 5 # Default-Stop: -# Description: run bacula daemon(s) +# Description: run bacula daemon(s) ### END INIT INFO PSCMD="@PSCMD@" @@ -29,17 +29,17 @@ killproc() { RC=0 # Test syntax. if [ $# = 0 ]; then - echo "Usage: killproc {program} [signal]" - return 1 + echo "Usage: killproc {program} [signal]" + return 1 fi notset=0 # check for third arg to be kill level if [ "$3" != "" ] ; then - killlevel=$3 + killlevel=$3 else - notset=1 - killlevel="-9" + notset=1 + killlevel="-9" fi # Get base program name @@ -50,39 +50,39 @@ killproc() { # Kill it. if [ "$pid" != "" ] ; then - if [ "$notset" = "1" ] ; then - if ps -p $pid>/dev/null 2>&1; then - # TERM first, then KILL if not dead - kill -TERM $pid 2>/dev/null - sleep 1 - if ps -p $pid >/dev/null 2>&1 ; then - sleep 1 - if ps -p $pid >/dev/null 2>&1 ; then - sleep 3 - if ps -p $pid >/dev/null 2>&1 ; then - kill -KILL $pid 2>/dev/null - fi - fi - fi - fi - ps -p $pid >/dev/null 2>&1 - RC=$? - [ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown" - # RC=$((! $RC)) - # use specified level only - else - if ps -p $pid >/dev/null 2>&1; then - kill $killlevel $pid 2>/dev/null - RC=$? - [ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel" - fi - fi + if [ "$notset" = "1" ] ; then + if ps -p $pid>/dev/null 2>&1; then + # TERM first, then KILL if not dead + kill -TERM $pid 2>/dev/null + sleep 1 + if ps -p $pid >/dev/null 2>&1 ; then + sleep 1 + if ps -p $pid >/dev/null 2>&1 ; then + sleep 3 + if ps -p $pid >/dev/null 2>&1 ; then + kill -KILL $pid 2>/dev/null + fi + fi + fi + fi + ps -p $pid >/dev/null 2>&1 + RC=$? + [ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown" + # RC=$((! $RC)) + # use specified level only + else + if ps -p $pid >/dev/null 2>&1; then + kill $killlevel $pid 2>/dev/null + RC=$? + [ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel" + fi + fi else - failure "$base shutdown" + failure "$base shutdown" fi # Remove pid file if any. if [ "$notset" = "1" ]; then - rm -f ${PIDDIR}/$base.$2.pid + rm -f ${PIDDIR}/$base.$2.pid fi return $RC } @@ -92,8 +92,8 @@ pidofproc() { pid="" # Test syntax. if [ $# = 0 ] ; then - echo "Usage: pidofproc {program}" - return 1 + echo "Usage: pidofproc {program}" + return 1 fi # Get base program name @@ -101,11 +101,11 @@ pidofproc() { # First try PID file if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` - if [ "$pid" != "" ] ; then - echo $pid - return 0 - fi + pid=`head -1 ${PIDDIR}/$base.$2.pid` + if [ "$pid" != "" ] ; then + echo $pid + return 0 + fi fi # Next try "pidof" @@ -125,8 +125,8 @@ pidofproc() { status() { # Test syntax. if [ $# = 0 ] ; then - echo "Usage: status {program}" - return 1 + echo "Usage: status {program}" + return 1 fi # Get base program name @@ -141,27 +141,27 @@ status() { return 0 else pid=`${PSCMD} | awk 'BEGIN { prog=ARGV[1]; ARGC=1 } - { if ((prog == $2) || (("(" prog ")") == $2) || - (("[" prog "]") == $2) || - ((prog ":") == $2)) { print $1 ; exit 0 } }' $1` + { if ((prog == $2) || (("(" prog ")") == $2) || + (("[" prog "]") == $2) || + ((prog ":") == $2)) { print $1 ; exit 0 } }' $1` if [ "$pid" != "" ] ; then - echo "$base (pid $pid) is running..." - return 0 + echo "$base (pid $pid) is running..." + return 0 fi fi # Next try the PID files if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` - if [ "$pid" != "" ] ; then - echo "$base dead but pid file exists" - return 1 - fi + pid=`head -1 ${PIDDIR}/$base.$2.pid` + if [ "$pid" != "" ] ; then + echo "$base not running, but pid file exists" + return 1 + fi fi # See if the subsys lock exists if [ -f ${SUBSYSDIR}/$base ] ; then - echo "$base dead but subsys locked" - return 2 + echo "$base not running, but subsys locked" + return 2 fi echo "$base is stopped" return 3 diff --git a/bacula/platforms/suse/bacula.spec.in b/bacula/platforms/suse/bacula.spec.in index f15c706e1e..2e4b2a17fb 100644 --- a/bacula/platforms/suse/bacula.spec.in +++ b/bacula/platforms/suse/bacula.spec.in @@ -958,9 +958,8 @@ echo "The database update scripts were installed to /etc/bacula/updatedb" %post gconsole # add gnome-console consolehelper link -if [ ! -f /usr/bin/gnome-console ]; then -ln -s /usr/bin/consolehelper /usr/bin/gnome-console -fi +ln -sf /usr/bin/consolehelper /usr/bin/gnome-console + %postun gconsole # remove gnome-console consolehelper link @@ -968,6 +967,8 @@ rm -f /usr/bin/gnome-console %endif %changelog +* Thu Jun 17 2004 D. Scott Barninger +- fix symlink creation in gconsole post install * Sat Jun 12 2004 D. Scott Barninger - fixed error in gconsole post script * Fri Apr 30 2004 D. Scott Barninger diff --git a/bacula/scripts/bacula.in b/bacula/scripts/bacula.in index bfcafbbd9d..9f3b21070e 100755 --- a/bacula/scripts/bacula.in +++ b/bacula/scripts/bacula.in @@ -112,7 +112,7 @@ pidofproc() { # First try PID file if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` + pid=`head -n 1 ${PIDDIR}/$base.$2.pid` if [ "$pid" != "" ] ; then echo $pid return 0 @@ -163,7 +163,7 @@ status() { # Next try the PID files if [ -f ${PIDDIR}/$base.$2.pid ] ; then - pid=`head -1 ${PIDDIR}/$base.$2.pid` + pid=`head -n 1 ${PIDDIR}/$base.$2.pid` if [ "$pid" != "" ] ; then echo "$base dead but pid file exists" return 1 diff --git a/bacula/src/bacula.h b/bacula/src/bacula.h index 54c355f42e..726c7ac880 100644 --- a/bacula/src/bacula.h +++ b/bacula/src/bacula.h @@ -27,6 +27,11 @@ #ifndef _BACULA_H #define _BACULA_H 1 +#ifdef __cplusplus +/* Workaround for SGI IRIX 6.5 */ +#define _LANGUAGE_C_PLUS_PLUS 1 +#endif + #ifdef HAVE_WIN32 #include "winconfig.h" #include "winhost.h" diff --git a/bacula/src/cats/sql.c b/bacula/src/cats/sql.c index af3cdb11e2..05be2d1d47 100644 --- a/bacula/src/cats/sql.c +++ b/bacula/src/cats/sql.c @@ -162,7 +162,7 @@ UpdateDB(char *file, int line, JCR *jcr, B_DB *mdb, char *cmd) m_msg(file, line, &mdb->errmsg, _("Update problem: affected_rows=%s\n"), edit_uint64(mdb->num_rows, ed1)); if (verbose) { - j_msg(file, line, jcr, M_INFO, 0, "%s\n", cmd); +// j_msg(file, line, jcr, M_INFO, 0, "%s\n", cmd); } return 0; } diff --git a/bacula/src/console/Makefile.in b/bacula/src/console/Makefile.in index d832e5507b..e3b44e6f3c 100644 --- a/bacula/src/console/Makefile.in +++ b/bacula/src/console/Makefile.in @@ -45,11 +45,11 @@ all: Makefile bconsole @STATIC_CONS@ bconsole: $(CONSOBJS) ../lib/libbac.a $(CXX) $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -L../cats -o $@ $(CONSOBJS) \ - $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lm + $(DLIB) $(CONS_LIBS) -lbac -lm $(LIBS) static-bconsole: $(CONSOBJS) ../lib/libbac.a $(CXX) -static $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -L../cats -o $@ $(CONSOBJS) \ - $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lm + $(DLIB) $(CONS_LIBS) -lbac -lm $(LIBS) strip $@ diff --git a/bacula/src/console/authenticate.c b/bacula/src/console/authenticate.c index 0970447649..23fb727b67 100644 --- a/bacula/src/console/authenticate.c +++ b/bacula/src/console/authenticate.c @@ -34,8 +34,8 @@ #include "jcr.h" -void senditf(char *fmt, ...); -void sendit(char *buf); +void senditf(const char *fmt, ...); +void sendit(const char *buf); /* Commands sent to Director */ static char hello[] = "Hello %s calling\n"; diff --git a/bacula/src/console/console.c b/bacula/src/console/console.c index 555e9332cd..0c221bce15 100644 --- a/bacula/src/console/console.c +++ b/bacula/src/console/console.c @@ -63,10 +63,16 @@ int authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons); /* Forward referenced functions */ static void terminate_console(int sig); -int get_cmd(FILE *input, char *prompt, BSOCK *sock, int sec); +int get_cmd(FILE *input, const char *prompt, BSOCK *sock, int sec); static int do_outputcmd(FILE *input, BSOCK *UA_sock); -void senditf(char *fmt, ...); -void sendit(char *buf); +void senditf(const char *fmt, ...); +void sendit(const char *buf); + +extern "C" void got_sigstop(int sig); +extern "C" void got_sigcontinue(int sig); +extern "C" void got_sigtout(int sig); +extern "C" void got_sigtin(int sig); + /* Static variables */ static char *configfile = NULL; @@ -97,7 +103,7 @@ static void usage() { fprintf(stderr, _( "\nVersion: " VERSION " (" BDATE ") %s %s %s\n\n" -"Usage: bconsole [-s] [-c config_file] [-d debug_level] [config_file]\n" +"Usage: bconsole [-s] [-c config_file] [-d debug_level]\n" " -c set configuration file to file\n" " -dnn set debug level to nn\n" " -s no signals\n" @@ -106,26 +112,32 @@ static void usage() "\n"), HOST_OS, DISTNAME, DISTVER); } + +extern "C" void got_sigstop(int sig) { stop = true; } +extern "C" void got_sigcontinue(int sig) { stop = false; } +extern "C" void got_sigtout(int sig) { // printf("Got tout\n"); } +extern "C" void got_sigtin(int sig) { // printf("Got tin\n"); } + static int zed_keyscmd(FILE *input, BSOCK *UA_sock) { con_set_zed_keys(); @@ -135,7 +147,7 @@ static int zed_keyscmd(FILE *input, BSOCK *UA_sock) /* * These are the @command */ -struct cmdstruct { char *key; int (*func)(FILE *input, BSOCK *UA_sock); char *help; }; +struct cmdstruct { const char *key; int (*func)(FILE *input, BSOCK *UA_sock); const char *help; }; static struct cmdstruct commands[] = { { N_("input"), inputcmd, _("input from file")}, { N_("output"), outputcmd, _("output to file")}, @@ -188,7 +200,7 @@ static int do_a_command(FILE *input, BSOCK *UA_sock) static void read_and_process_input(FILE *input, BSOCK *UA_sock) { - char *prompt = "*"; + const char *prompt = "*"; bool at_prompt = false; int tty_input = isatty(fileno(input)); int stat; @@ -492,7 +504,7 @@ static void terminate_console(int sig) int -get_cmd(FILE *input, char *prompt, BSOCK *sock, int sec) +get_cmd(FILE *input, const char *prompt, BSOCK *sock, int sec) { char *line; @@ -531,7 +543,7 @@ wait_for_data(int fd, int sec) tv.tv_usec = 0; for ( ;; ) { FD_ZERO(&fdset); - FD_SET(fd, &fdset); + FD_SET((unsigned)fd, &fdset); switch(select(fd + 1, &fdset, NULL, NULL, &tv)) { case 0: /* timeout */ return 0; @@ -554,7 +566,7 @@ wait_for_data(int fd, int sec) * -1 if EOF or error */ int -get_cmd(FILE *input, char *prompt, BSOCK *sock, int sec) +get_cmd(FILE *input, const char *prompt, BSOCK *sock, int sec) { int len; if (!stop) { @@ -643,7 +655,7 @@ static int outputcmd(FILE *input, BSOCK *UA_sock) static int do_outputcmd(FILE *input, BSOCK *UA_sock) { FILE *fd; - char *mode = "a+"; + const char *mode = "a+"; if (argc > 3) { sendit(_("Too many arguments on output/tee command.\n")); @@ -698,7 +710,7 @@ static int timecmd(FILE *input, BSOCK *UA_sock) /* * Send a line to the output file and or the terminal */ -void senditf(char *fmt,...) +void senditf(const char *fmt,...) { char buf[3000]; va_list arg_ptr; @@ -709,7 +721,7 @@ void senditf(char *fmt,...) sendit(buf); } -void sendit(char *buf) +void sendit(const char *buf) { #ifdef xHAVE_CONIO if (output == stdout || tee) { diff --git a/bacula/src/console2.glade b/bacula/src/console2.glade index fad8622190..c915357c07 100644 --- a/bacula/src/console2.glade +++ b/bacula/src/console2.glade @@ -590,7 +590,7 @@ True - Bacula Console 1.34.0 (16 Mar 04) + Bacula Console False False diff --git a/bacula/src/dird/Makefile.in b/bacula/src/dird/Makefile.in index c2ecac92c3..b12a0a51cf 100644 --- a/bacula/src/dird/Makefile.in +++ b/bacula/src/dird/Makefile.in @@ -66,11 +66,11 @@ all: Makefile bacula-dir @STATIC_DIR@ bacula-dir: $(SVROBJS) ../lib/libbac.a ../cats/libsql.a ../findlib/libfind.a $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SVROBJS) \ - -lsql -lbac -lfind -lm $(LIBS) $(DLIB) $(DB_LIBS) + -lsql -lbac -lfind -lm $(DLIB) $(DB_LIBS) $(LIBS) static-bacula-dir: $(SVROBJS) ../lib/libbac.a ../cats/libsql.a ../findlib/libfind.a $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -L../cats -L../findlib -o $@ $(SVROBJS) \ - -lsql -lbac -lfind -lm $(LIBS) $(DLIB) $(DB_LIBS) + -lsql -lbac -lfind -lm $(DLIB) $(DB_LIBS) $(LIBS) strip $@ diff --git a/bacula/src/dird/query.sql b/bacula/src/dird/query.sql index a145cc6d2c..164ba9d1d3 100644 --- a/bacula/src/dird/query.sql +++ b/bacula/src/dird/query.sql @@ -12,7 +12,9 @@ SELECT Job.JobId as JobId, Client.Name as Client, FROM Client,Job,File,Filename,Path WHERE Client.ClientId=Job.ClientId AND JobStatus='T' AND Job.JobId=File.JobId AND Path.PathId=File.PathId AND Filename.FilenameId=File.FilenameId - AND Filename.Name='%1' ORDER BY Job.StartTime LIMIT 20; + AND Filename.Name='%1' + GROUP BY Job.JobId + ORDER BY Job.StartTime LIMIT 20; # 3 :List where the most recent copies of a file are saved: *Enter path with trailing slash: @@ -29,23 +31,25 @@ SELECT Job.JobId,StartTime AS JobStartTime,VolumeName,Client.Name AS ClientName AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId AND Client.ClientId=Job.ClientId + GROUP BY Job.JobId ORDER BY Job.StartTime DESC LIMIT 5; # 4 :List last 20 Full Backups for a Client: *Enter Client name: -Select Job.JobId,Client.Name as Client,StartTime,JobFiles,JobBytes, +SELECT Job.JobId,Client.Name AS Client,StartTime,JobFiles,JobBytes, JobMedia.StartFile as VolFile,VolumeName FROM Client,Job,JobMedia,Media WHERE Client.Name='%1' AND Client.ClientId=Job.ClientId AND Level='F' AND JobStatus='T' AND JobMedia.JobId=Job.JobId AND JobMedia.MediaId=Media.MediaId + GROUP BY Job.JobId ORDER BY Job.StartTime DESC LIMIT 20; # 5 :List all backups for a Client after a specified time *Enter Client Name: *Enter time in YYYY-MM-DD HH:MM:SS format: -Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName +SELECT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName FROM Client,Job,JobMedia,Media WHERE Client.Name='%1' AND Client.ClientId=Job.ClientId @@ -57,7 +61,7 @@ Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeN # 6 :List all backups for a Client *Enter Client Name: -Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName +SELECT Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeName FROM Client,Job,JobMedia,Media WHERE Client.Name='%1' AND Client.ClientId=Job.ClientId @@ -71,7 +75,7 @@ Select Job.JobId,Client.Name as Client,Level,StartTime,JobFiles,JobBytes,VolumeN SELECT Slot,MaxVolBytes,VolCapacityBytes,VolStatus,Recycle,VolRetention, VolUseDuration,MaxVolJobs,MaxVolFiles FROM Media - WHERE Volumename='%1'; + WHERE VolumeName='%1'; # 8 :List Volumes used by selected JobId: *Enter JobId: @@ -79,7 +83,8 @@ SELECT Job.JobId,VolumeName FROM Job,JobMedia,Media WHERE Job.JobId=%1 AND Job.JobId=JobMedia.JobId - AND JobMedia.MediaId=Media.MediaId; + AND JobMedia.MediaId=Media.MediaId + GROUP BY VolumeName; # 9 :List Volumes to Restore All Files: *Enter Client Name: @@ -164,8 +169,16 @@ SELECT Path.Path,Filename.Name FROM File, SELECT Job.JobId,Job.Name,Job.StartTime,Job.Type, Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus FROM JobMedia,Job - WHERE JobMedia.JobId = Job.JobId - AND JobMedia.MediaId = %1; -SELECT MediaId,VolumeName,VolStatus,VolBytes,VolFiles, - VolRetention,Recycle,Slot,MediaType,LastWritten - FROM Media WHERE MediaId = %1; + WHERE JobMedia.JobId=Job.JobId + AND JobMedia.MediaId=%1 + GROUP BY Job.JobId; +# 15 +:List Jobs stored for a given Volume name: +*Enter Volume name: +SELECT Job.JobId,Job.Name,Job.StartTime,Job.Type, + Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus + FROM Media,JobMedia,Job + WHERE Media.VolumeName='%1' + AND Media.MediaId=JobMedia.MediaId + AND JobMedia.JobId=Job.JobId + GROUP BY Job.JobId; diff --git a/bacula/src/dird/ua.h b/bacula/src/dird/ua.h index 92ce51e5c9..82818f9a47 100644 --- a/bacula/src/dird/ua.h +++ b/bacula/src/dird/ua.h @@ -34,32 +34,36 @@ struct UAContext { JCR *jcr; B_DB *db; CAT *catalog; - CONRES *cons; /* console resource */ - POOLMEM *cmd; /* return command/name buffer */ - POOLMEM *args; /* command line arguments */ - char *argk[MAX_CMD_ARGS]; /* argument keywords */ - char *argv[MAX_CMD_ARGS]; /* argument values */ - int argc; /* number of arguments */ - char **prompt; /* list of prompts */ - int max_prompts; /* max size of list */ - int num_prompts; /* current number in list */ - bool auto_display_messages; /* if set, display messages */ + CONRES *cons; /* console resource */ + POOLMEM *cmd; /* return command/name buffer */ + POOLMEM *args; /* command line arguments */ + char *argk[MAX_CMD_ARGS]; /* argument keywords */ + char *argv[MAX_CMD_ARGS]; /* argument values */ + int argc; /* number of arguments */ + char **prompt; /* list of prompts */ + int max_prompts; /* max size of list */ + int num_prompts; /* current number in list */ + bool auto_display_messages; /* if set, display messages */ bool user_notified_msg_pending; /* set when user notified */ - bool automount; /* if set, mount after label */ - bool quit; /* if set, quit */ - bool verbose; /* set for normal UA verbosity */ - uint32_t pint32_val; /* positive integer */ - int32_t int32_val; /* positive/negative */ -}; + bool automount; /* if set, mount after label */ + bool quit; /* if set, quit */ + bool verbose; /* set for normal UA verbosity */ + uint32_t pint32_val; /* positive integer */ + int32_t int32_val; /* positive/negative */ +}; /* Context for insert_tree_handler() */ struct TREE_CTX { - TREE_ROOT *root; /* root */ - TREE_NODE *node; /* current node */ - TREE_NODE *avail_node; /* unused node last insert */ - int cnt; /* count for user feedback */ - bool all; /* if set mark all as default */ + TREE_ROOT *root; /* root */ + TREE_NODE *node; /* current node */ + TREE_NODE *avail_node; /* unused node last insert */ + int cnt; /* count for user feedback */ + bool all; /* if set mark all as default */ UAContext *ua; + uint32_t FileEstimate; /* estimate of number of files */ + uint32_t FileCount; /* current count of files */ + uint32_t LastCount; /* last count of files */ + uint32_t DeltaCount; /* trigger for printing */ }; #endif diff --git a/bacula/src/gnome2-console/Makefile.in b/bacula/src/gnome2-console/Makefile.in index 0431bdd6e7..07dc409607 100644 --- a/bacula/src/gnome2-console/Makefile.in +++ b/bacula/src/gnome2-console/Makefile.in @@ -61,15 +61,15 @@ support.o: support.c sed "s%parent = g_object_get_data%parent = \(GtkWidget \*\)g_object_get_data%" support.c.orig >support.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(CONS_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< -gnome-console: $(CONSOBJS) ../lib/libbac.a ../cats/libsql.a - $(CXX) $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -L../cats -o $@ $(CONSOBJS) \ - $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lsql -lm +gnome-console: $(CONSOBJS) ../lib/libbac.a + $(CXX) $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -o $@ $(CONSOBJS) \ + $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lm static-console: static-gnome-console -static-gnome-console: $(CONSOBJS) ../lib/libbac.a ../cats/libsql.a - $(CXX) $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -L../cats -o $@ $(CONSOBJS) \ - $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lsql -lm +static-gnome-console: $(CONSOBJS) ../lib/libbac.a + $(CXX) $(LDFLAGS) $(CONS_LDFLAGS) -L../lib -o $@ $(CONSOBJS) \ + $(LIBS) $(DLIB) $(CONS_LIBS) -lbac -lm strip $@ Makefile: $(srcdir)/Makefile.in $(topdir)/config.status @@ -78,7 +78,7 @@ Makefile: $(srcdir)/Makefile.in $(topdir)/config.status clean: @$(RMF) gnome-console core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3 - @$(RMF) static-gnome-console gmon.out + @$(RMF) static-gnome-console gmon.out Makefile.am realclean: clean @$(RMF) tags diff --git a/bacula/src/gnome2-console/callbacks.c b/bacula/src/gnome2-console/callbacks.c index 0587ff8233..8d6c187839 100644 --- a/bacula/src/gnome2-console/callbacks.c +++ b/bacula/src/gnome2-console/callbacks.c @@ -21,11 +21,14 @@ void terminate_console(int sig); +extern "C" gint compare_func(const void *data1, const void *data2); + gboolean on_console_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { gtk_main_quit(); terminate_console(0); + return TRUE; } void @@ -150,21 +153,33 @@ on_entry1_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_d gtk_entry_set_text((GtkEntry *)entry1, ""); } else if (event->keyval == KEY_Up) { if (!hc) { + if (!hist) { + return FALSE; + } hc = g_list_last(hist); } else { hc = g_list_previous(hc); } if (!hc) { + if (!hist) { + return FALSE; + } hc = g_list_first(hist); } gtk_entry_set_text((GtkEntry *)entry1, (gchar *)hc->data); } else if (event->keyval == KEY_Down) { if (!hc) { + if (!hist) { + return FALSE; + } hc = g_list_first(hist); } else { hc = g_list_next(hc); } if (!hc) { + if (!hist) { + return FALSE; + } hc = g_list_last(hist); } gtk_entry_set_text((GtkEntry *)entry1, (gchar *)hc->data); @@ -224,7 +239,8 @@ on_select_director_cancel_clicked(GtkButton *button, gpointer user_data) /* * Compare list string items */ -static gint compare_func(const void *data1, const void *data2) +extern "C" +gint compare_func(const void *data1, const void *data2) { return strcmp((const char *)data1, (const char *)data2); } @@ -331,7 +347,7 @@ on_run_button_clicked(GtkButton *button, gpointer user_data) } -static char *get_combo_text(GtkWidget *dialog, char *combo_name) +static char *get_combo_text(GtkWidget *dialog, const char *combo_name) { GtkWidget *combo; combo = lookup_widget(dialog, combo_name); @@ -341,7 +357,7 @@ static char *get_combo_text(GtkWidget *dialog, char *combo_name) return (char *)gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry)); } -static char *get_entry_text(GtkWidget *dialog, char *entry_name) +static char *get_entry_text(GtkWidget *dialog, const char *entry_name) { GtkWidget *entry; entry = lookup_widget(dialog, entry_name); @@ -351,7 +367,7 @@ static char *get_entry_text(GtkWidget *dialog, char *entry_name) return (char *)gtk_entry_get_text(GTK_ENTRY(entry)); } -static char *get_spin_text(GtkWidget *dialog, char *spin_name) +static char *get_spin_text(GtkWidget *dialog, const char *spin_name) { GtkSpinButton *spin; spin = (GtkSpinButton *)lookup_widget(dialog, spin_name); diff --git a/bacula/src/gnome2-console/console.c b/bacula/src/gnome2-console/console.c index 8c6cea82cf..391fcbb51c 100644 --- a/bacula/src/gnome2-console/console.c +++ b/bacula/src/gnome2-console/console.c @@ -62,8 +62,12 @@ GList *type_list, *level_list; /* Forward referenced functions */ void terminate_console(int sig); -static gint message_handler(gpointer data); -static int initial_connect_to_director(gpointer data); + +extern "C" { + static gint message_handler(gpointer data); + static int initial_connect_to_director(gpointer data); +} + static void set_scroll_bar_to_end(void); /* Static variables */ @@ -105,7 +109,7 @@ int main(int argc, char *argv[]) int no_signals = TRUE; int test_config = FALSE; int gargc = 1; - char *gargv[2] = {"gnome-console", NULL}; + const char *gargv[2] = {"gnome-console", NULL}; CONFONTRES *con_font; init_stack_dump(); @@ -308,7 +312,7 @@ static GList *get_list(char *cmd) } -static GList *get_and_fill_combo(GtkWidget *dialog, char *combo_name, char *cmd) +static GList *get_and_fill_combo(GtkWidget *dialog, const char *combo_name, const char *cm) { GtkWidget *combo; GList *options; @@ -321,12 +325,12 @@ static GList *get_and_fill_combo(GtkWidget *dialog, char *combo_name, char *cmd) return options; } -static void fill_combo(GtkWidget *dialog, char *combo_name, GList *options) +static void fill_combo(GtkWidget *dialog, const char *combo_name, GList *options) { GtkWidget *combo; combo = lookup_widget(dialog, combo_name); - if (combo) { + if (combo && options) { gtk_combo_set_popdown_strings(GTK_COMBO(combo), options); } return; @@ -357,7 +361,9 @@ int connect_to_director(gpointer data) dir_dialog = create_SelectDirectorDialog(); combo = lookup_widget(dir_dialog, "combo1"); dir_select = lookup_widget(dir_dialog, "dirselect"); - gtk_combo_set_popdown_strings(GTK_COMBO(combo), dirs); + if (dirs) { + gtk_combo_set_popdown_strings(GTK_COMBO(combo), dirs); + } gtk_widget_show(dir_dialog); gtk_main(); @@ -448,7 +454,7 @@ int connect_to_director(gpointer data) return 1; } -void write_director(gchar *msg) +void write_director(const gchar *msg) { if (UA_sock) { at_prompt = false; @@ -463,6 +469,7 @@ void write_director(gchar *msg) } } +extern "C" void read_director(gpointer data, gint fd, GdkInputCondition condition) { int stat; @@ -562,7 +569,7 @@ static void truncate_text_chars() gtk_text_iter_set_offset(&iter, len); } -void set_textf(char *fmt, ...) +void set_textf(const char *fmt, ...) { va_list arg_ptr; char buf[1000]; @@ -573,7 +580,7 @@ void set_textf(char *fmt, ...) set_text(buf, len); } -void set_text(char *buf, int len) +void set_text(const char *buf, int len) { GtkTextBuffer *textbuf; GtkTextIter iter; @@ -590,7 +597,7 @@ void set_text(char *buf, int len) set_scroll_bar_to_end(); } -void set_statusf(char *fmt, ...) +void set_statusf(const char *fmt, ...) { va_list arg_ptr; char buf[1000]; @@ -610,7 +617,7 @@ void set_status_ready() // set_scroll_bar_to_end(); } -void set_status(char *buf) +void set_status(const char *buf) { gtk_label_set_text(GTK_LABEL(status1), buf); // set_scroll_bar_to_end(); diff --git a/bacula/src/gnome2-console/console.h b/bacula/src/gnome2-console/console.h index 783e6225f7..ce3a117732 100644 --- a/bacula/src/gnome2-console/console.h +++ b/bacula/src/gnome2-console/console.h @@ -24,7 +24,7 @@ extern GtkWidget *entry1; /* entry box */ extern GtkWidget *combo1; /* Directory combo */ extern GtkWidget *dir_dialog; extern GtkWidget *dir_select; -extern GtkWidget *run_dialog; /* run dialog */ +extern GtkWidget *run_dialog; /* run dialog */ extern GtkWidget *label_dialog; extern GtkWidget *restore_dialog; /* restore dialog */ extern GtkWidget *restore_file_selection; /* restore files dialog */ @@ -46,18 +46,19 @@ extern BSOCK *UA_sock; #define OK 1 #define CANCEL 0 -void set_textf(char *fmt, ...); -void set_text(char *buf, int len); -void set_status(char *buf); +void set_textf(const char *fmt, ...); +void set_text(const char *buf, int len); +void set_status(const char *buf); void set_status_ready(); -void set_statusf(char *fmt, ...); +void set_statusf(const char *fmt, ...); int connect_to_director(gpointer data); int disconnect_from_director(gpointer data); void start_director_reader(gpointer data); void stop_director_reader(gpointer data); -void write_director(gchar *msg); -void read_director(gpointer data, gint fd, GdkInputCondition condition); +void write_director(const gchar *msg); void set_restore_dialog_defaults(); void select_restore_files(); +extern "C" void read_director(gpointer data, gint fd, GdkInputCondition condition); + #endif diff --git a/bacula/src/gnome2-console/console_conf.h b/bacula/src/gnome2-console/console_conf.h index 9fba0fd7dd..001ecc5bde 100644 --- a/bacula/src/gnome2-console/console_conf.h +++ b/bacula/src/gnome2-console/console_conf.h @@ -16,7 +16,7 @@ enum { R_DIRECTOR = 1001, R_CONSOLE, - R_CONSOLE_FONT, + R_CONSOLE_FONT }; #define R_FIRST R_DIRECTOR diff --git a/bacula/src/gnome2-console/interface.c b/bacula/src/gnome2-console/interface.c index 13eccfc5f4..622fb81b99 100644 --- a/bacula/src/gnome2-console/interface.c +++ b/bacula/src/gnome2-console/interface.c @@ -433,7 +433,7 @@ create_about1 (void) gtk_widget_show (vbox9); gtk_box_pack_start (GTK_BOX (vbox8), vbox9, TRUE, TRUE, 0); - about_head = gtk_label_new (_("Bacula Console 1.34.0 (16 Mar 04)\n")); + about_head = gtk_label_new (_("Bacula Console\n")); gtk_widget_show (about_head); gtk_box_pack_start (GTK_BOX (vbox9), about_head, FALSE, FALSE, 0); diff --git a/bacula/src/gnome2-console/restore.c b/bacula/src/gnome2-console/restore.c index d3ba236bd4..65e849c240 100755 --- a/bacula/src/gnome2-console/restore.c +++ b/bacula/src/gnome2-console/restore.c @@ -11,13 +11,13 @@ #include "restore.h" extern BSOCK *UA_sock; -void write_director(gchar *msg); +void write_director(const gchar *msg); void start_director_reader(gpointer data); void stop_director_reader(gpointer data); /* Forward referenced subroutines */ -void FillDirectory(char *path, Window *window); +void FillDirectory(const char *path, Window *window); Window *new_window(); static void click_column_cb(GtkCList *item, gint column, Window *restore); static void select_row_cb(GtkCList *item, gint row, gint column, @@ -118,7 +118,7 @@ on_restore_remove_button_clicked(GtkButton *button, gpointer user_data) */ void select_restore_setup() { - gchar *title[NUM_COLUMNS] = {"Mark", "File", "Mode", "User", "Group", "Size", "Date"}; + const gchar *title[NUM_COLUMNS] = {"Mark", "File", "Mode", "User", "Group", "Size", "Date"}; restore_file_selection = create_restore_file_selection(); if (!restore_file_selection) { @@ -141,7 +141,10 @@ void select_restore_setup() "blank.xpm"); #endif - restore->list = (GtkCList *)gtk_clist_new_with_titles(NUM_COLUMNS, title); + /* XXX: Stupid gtk_clist_set_selection_mode() has incorrect declaration of the title argument */ + /* XXX: Workaround by typecast... peter@ifm.liu.se */ + + restore->list = (GtkCList *)gtk_clist_new_with_titles(NUM_COLUMNS, (gchar **) title); gtk_clist_set_selection_mode(restore->list, GTK_SELECTION_EXTENDED); gtk_clist_set_sort_column(restore->list, FILE_COLUMN); gtk_clist_set_auto_sort(restore->list, true); @@ -173,7 +176,7 @@ void select_restore_files() /* * Fill the CList box with files at path */ -void FillDirectory(char *path, Window *restore) +void FillDirectory(const char *path, Window *restore) { char pathbuf[MAXSTRING]; char modes[20], user[20], group[20], size[20], date[30]; diff --git a/bacula/src/lib/bnet.c b/bacula/src/lib/bnet.c index a1816eff7c..93ed32cf15 100644 --- a/bacula/src/lib/bnet.c +++ b/bacula/src/lib/bnet.c @@ -44,11 +44,13 @@ extern time_t watchdog_time; #endif #ifdef HAVE_WIN32 -#define socketRead(fd, buf, len) recv(fd, buf, len, 0) +#define socketRead(fd, buf, len) recv(fd, buf, len, 0) #define socketWrite(fd, buf, len) send(fd, buf, len, 0) +#define socketClose(fd) closesocket(fd) #else -#define socketRead(fd, buf, len) read(fd, buf, len) +#define socketRead(fd, buf, len) read(fd, buf, len) #define socketWrite(fd, buf, len) write(fd, buf, len) +#define socketClose(fd) close(fd) #endif @@ -117,7 +119,7 @@ static int32_t write_nbytes(BSOCK *bsock, char *ptr, int32_t nbytes) struct timeval tv; FD_ZERO(&fdset); - FD_SET(bsock->fd, &fdset); + FD_SET((unsigned)bsock->fd, &fdset); tv.tv_sec = 10; tv.tv_usec = 0; select(bsock->fd + 1, NULL, &fdset, NULL, &tv); @@ -439,7 +441,7 @@ bnet_wait_data(BSOCK *bsock, int sec) struct timeval tv; FD_ZERO(&fdset); - FD_SET(bsock->fd, &fdset); + FD_SET((unsigned)bsock->fd, &fdset); tv.tv_sec = sec; tv.tv_usec = 0; for ( ;; ) { @@ -470,7 +472,7 @@ bnet_wait_data_intr(BSOCK *bsock, int sec) struct timeval tv; FD_ZERO(&fdset); - FD_SET(bsock->fd, &fdset); + FD_SET((unsigned)bsock->fd, &fdset); tv.tv_sec = sec; tv.tv_usec = 0; for ( ;; ) { @@ -510,7 +512,7 @@ bnet_wait_data_intr(BSOCK *bsock, int sec) /* * Get human readable error for gethostbyname() */ -static const char *gethost_strerror() +static char *gethost_strerror() { switch (h_errno) { case NETDB_INTERNAL: @@ -634,7 +636,7 @@ bnet_open(JCR *jcr, const char *name, char *host, char *service, int port, int * free(addr_list); if (!connected) { - close(sockfd); + socketClose(sockfd); return NULL; } return init_bsock(jcr, sockfd, name, host, port, &tcp_serv_addr); @@ -866,7 +868,7 @@ dup_bsock(BSOCK *osock) if (osock->host) { bsock->host = bstrdup(osock->host); } - bsock->duped = TRUE; + bsock->duped = true; return bsock; } @@ -882,7 +884,7 @@ bnet_close(BSOCK *bsock) if (bsock->timed_out) { shutdown(bsock->fd, 2); /* discard any pending I/O */ } - close(bsock->fd); /* normal close */ + socketClose(bsock->fd); /* normal close */ } term_bsock(bsock); } diff --git a/bacula/src/lib/bpipe.c b/bacula/src/lib/bpipe.c index 21f628350c..6955aa650e 100644 --- a/bacula/src/lib/bpipe.c +++ b/bacula/src/lib/bpipe.c @@ -202,6 +202,7 @@ int close_bpipe(BPIPE *bpipe) if (WIFEXITED(chldstatus)) { /* process exit()ed */ stat = WEXITSTATUS(chldstatus); if (stat != 0) { + Dmsg1(100, "Non-zero status %s returned from child.\n", stat); stat = ECHILD; } Dmsg1(200, "child status=%d\n", stat); diff --git a/bacula/src/lib/message.c b/bacula/src/lib/message.c index 4aee244756..edc5e74d93 100755 --- a/bacula/src/lib/message.c +++ b/bacula/src/lib/message.c @@ -372,18 +372,30 @@ static void make_unique_mail_filename(JCR *jcr, POOLMEM **name, DEST *d) static BPIPE *open_mail_pipe(JCR *jcr, POOLMEM **cmd, DEST *d) { BPIPE *bpipe; - - if (d->mail_cmd && jcr) { + int use_bsmtp = (d->mail_cmd && jcr); + + if (use_bsmtp) { *cmd = edit_job_codes(jcr, *cmd, d->mail_cmd, d->where); } else { +#if 1 + Mmsg(cmd, "/usr/lib/sendmail -F Bacula %s", d->where); +#else Mmsg(cmd, "mail -s \"Bacula Message\" %s", d->where); +#endif } fflush(stdout); if (!(bpipe = open_bpipe(*cmd, 120, "rw"))) { Jmsg(jcr, M_ERROR, 0, "open mail pipe %s failed: ERR=%s\n", *cmd, strerror(errno)); - } + } + +#if 1 + if (!use_bsmtp) { + fprintf(bpipe->wfd, "Subject: Bacula Message\r\n\r\n"); + } +#endif + return bpipe; } diff --git a/bacula/src/stored/Makefile.in b/bacula/src/stored/Makefile.in index a3192c7f23..de69c1cdcc 100644 --- a/bacula/src/stored/Makefile.in +++ b/bacula/src/stored/Makefile.in @@ -83,41 +83,41 @@ all: Makefile bacula-sd @STATIC_SD@ bls bextract bscan btape bcopy @echo " " bacula-sd: $(SVROBJS) ../lib/libbac.a - $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -o $@ $(SVROBJS) $(FDLIBS) -lbac -lm $(LIBS) $(DLIB) + $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -o $@ $(SVROBJS) $(FDLIBS) -lbac -lm $(DLIB) $(LIBS) static-bacula-sd: $(SVROBJS) ../lib/libbac.a - $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -o $@ $(SVROBJS) $(FDLIBS) -lbac -lm $(LIBS) $(DLIB) + $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -o $@ $(SVROBJS) $(FDLIBS) -lbac -lm $(DLIB) $(LIBS) strip $@ btape.o: btape.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< btape: $(TAPEOBJS) ../lib/libbac.a ../cats/libsql.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -o $@ $(TAPEOBJS) -lsql $(LIBS) $(DLIB) -lbac -lm + $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -o $@ $(TAPEOBJS) -lsql $(DLIB) -lbac -lm $(LIBS) bls.o: bls.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< bls: ../findlib/libfind.a $(BLSOBJS) ../lib/libbac.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(LIBS) $(DLIB) -lfind -lbac -lm + $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) -lfind -lbac -lm $(LIBS) bextract.o: bextract.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< bextract: ../findlib/libfind.a $(BEXTOBJS) ../lib/libbac.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(LIBS) $(DLIB) $(FDLIBS) -lfind -lbac -lm + $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(FDLIBS) -lfind -lbac -lm $(LIBS) bscan.o: bscan.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< bscan: ../findlib/libfind.a $(SCNOBJS) ../cats/libsql.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) -lsql $(LIBS) $(DB_LIBS) $(FDLIBS) -lfind -lbac -lm + $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) -lsql $(DB_LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) bcopy.o: bcopy.c $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< bcopy: $(COPYOBJS) ../findlib/libfind.a ../lib/libbac.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(COPYOBJS) $(LIBS) $(DB_LIBS) $(FDLIBS) -lfind -lbac -lm + $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(COPYOBJS) $(DB_LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) Makefile: $(srcdir)/Makefile.in $(topdir)/config.status diff --git a/bacula/src/stored/askdir.c b/bacula/src/stored/askdir.c index 926e0db90c..cc68a0d117 100644 --- a/bacula/src/stored/askdir.c +++ b/bacula/src/stored/askdir.c @@ -216,10 +216,6 @@ int dir_update_volume_info(JCR *jcr, DEVICE *dev, int label) Jmsg0(jcr, M_ERROR, 0, _("Attempt to update_volume_info in read mode!!!\n")); return 0; } - if (!dev_state(dev, ST_LABEL)) { - Jmsg0(jcr, M_ERROR, 0, _("Attempt to update_volume_info on non-labeled Volume!!!\n")); - return 0; - } Dmsg1(100, "Update cat VolFiles=%d\n", dev->file); /* Just labeled or relabeled the tape */ diff --git a/bacula/src/stored/autochanger.c b/bacula/src/stored/autochanger.c index f8c35fecb5..094014252a 100644 --- a/bacula/src/stored/autochanger.c +++ b/bacula/src/stored/autochanger.c @@ -72,16 +72,13 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) if (slot > 0 && jcr->device->changer_name && jcr->device->changer_command) { uint32_t timeout = jcr->device->max_changer_wait; - POOLMEM *changer, *results; + POOLMEM *changer; int loaded, status; - results = get_pool_memory(PM_MESSAGE); changer = get_pool_memory(PM_FNAME); loaded = get_autochanger_loaded_slot(jcr); - Dmsg1(400, "loaded=%s\n", results); - /* If tape we want is not loaded, load it. */ if (loaded != slot) { offline_or_rewind_dev(dev); @@ -121,7 +118,6 @@ int autoload_device(JCR *jcr, DEVICE *dev, int writing, BSOCK *dir) status = 0; /* we got what we want */ } free_pool_memory(changer); - free_pool_memory(results); Dmsg1(400, "After changer, status=%d\n", status); if (status == 0) { /* did we succeed? */ rtn_stat = 1; /* tape loaded by changer */ diff --git a/bacula/src/stored/block.c b/bacula/src/stored/block.c index cd33bf46b6..daf3f63be7 100644 --- a/bacula/src/stored/block.c +++ b/bacula/src/stored/block.c @@ -545,7 +545,7 @@ int write_block_to_dev(DCR *dcr, DEV_BLOCK *block) if (dev->dev_errno == 0) { dev->dev_errno = ENOSPC; /* out of space */ } - Jmsg(jcr, M_ERROR, 0, _("Write error at %u:%u on device %s. ERR=%s.\n"), + Jmsg4(jcr, M_ERROR, 0, _("Write error at %u:%u on device %s. ERR=%s.\n"), dev->file, dev->block_num, dev->dev_name, strerror(dev->dev_errno)); } else { dev->dev_errno = ENOSPC; /* out of space */ diff --git a/bacula/src/stored/btape.c b/bacula/src/stored/btape.c index 6521425ecf..0822f2a488 100644 --- a/bacula/src/stored/btape.c +++ b/bacula/src/stored/btape.c @@ -1986,6 +1986,7 @@ static void do_unfill() } free_vol_list(jcr); + jcr->dcr = new_dcr(jcr, dev); set_volume_name("TestVolume1", 1); jcr->bsr = NULL; create_vol_list(jcr); diff --git a/bacula/src/stored/dircmd.c b/bacula/src/stored/dircmd.c index 241855ef55..9c72c775b0 100644 --- a/bacula/src/stored/dircmd.c +++ b/bacula/src/stored/dircmd.c @@ -129,6 +129,7 @@ void *connection_request(void *arg) if (bnet_recv(bs) <= 0) { Emsg0(M_ERROR, 0, _("Connection request failed.\n")); + bnet_close(bs); return NULL; } @@ -137,6 +138,8 @@ void *connection_request(void *arg) */ if (bs->msglen < 25 || bs->msglen > (int)sizeof(name)-25) { Emsg1(M_ERROR, 0, _("Invalid Dir connection. Len=%d\n"), bs->msglen); + bnet_close(bs); + return NULL; } /* * See if this is a File daemon connection. If so @@ -152,6 +155,13 @@ void *connection_request(void *arg) jcr = new_jcr(sizeof(JCR), stored_free_jcr); /* create Job Control Record */ jcr->dir_bsock = bs; /* save Director bsock */ jcr->dir_bsock->jcr = jcr; + /* Initialize FD start condition variable */ + int errstat = pthread_cond_init(&jcr->job_start_wait, NULL); + if (errstat != 0) { + Jmsg1(jcr, M_FATAL, 0, _("Unable to init job cond variable: ERR=%s\n"), strerror(errstat)); + free_jcr(jcr); + return NULL; + } Dmsg0(1000, "stored in start_job\n"); diff --git a/bacula/src/stored/job.c b/bacula/src/stored/job.c index 9451ea3735..e8f3a7582f 100644 --- a/bacula/src/stored/job.c +++ b/bacula/src/stored/job.c @@ -132,13 +132,6 @@ int job_cmd(JCR *jcr) free_memory(client_name); free_memory(fileset_name); free_memory(fileset_md5); - - /* Initialize FD start condition variable */ - if ((errstat = pthread_cond_init(&jcr->job_start_wait, NULL)) != 0) { - Jmsg1(jcr, M_FATAL, 0, _("Unable to init job cond variable: ERR=%s\n"), strerror(errstat)); - set_jcr_job_status(jcr, JS_ErrorTerminated); - return 0; - } jcr->authenticated = false; /* diff --git a/bacula/src/stored/label.c b/bacula/src/stored/label.c index 5e0a9b9109..9261b6a869 100644 --- a/bacula/src/stored/label.c +++ b/bacula/src/stored/label.c @@ -414,7 +414,7 @@ int write_volume_label_to_dev(JCR *jcr, DEVRES *device, char *VolName, char *Poo if (!write_block_to_dev(jcr->dcr, block)) { memset(&dev->VolHdr, 0, sizeof(dev->VolHdr)); Dmsg2(30, "Bad Label write on %s. ERR=%s\n", dev_name(dev), strerror_dev(dev)); - stat = 9; + stat = 0; } Dmsg0(99, " Wrote block to device\n"); diff --git a/bacula/src/stored/mount.c b/bacula/src/stored/mount.c index de9d151826..f3e3ff1ba4 100644 --- a/bacula/src/stored/mount.c +++ b/bacula/src/stored/mount.c @@ -30,6 +30,9 @@ #include "bacula.h" /* pull in global headers */ #include "stored.h" /* pull in Storage Deamon headers */ +static bool rewrite_volume_label(JCR *jcr, DEVICE *dev, DEV_BLOCK *bloc, bool recycle); + + /* * If release is set, we rewind the current volume, * which we no longer want, and ask the user (console) @@ -187,12 +190,9 @@ read_volume: /* If not removable, Volume is broken */ if (!dev_cap(dev, CAP_REM)) { - bstrncpy(jcr->VolCatInfo.VolCatStatus, "Error", - sizeof(jcr->VolCatInfo.VolCatStatus)); - memcpy(&dev->VolCatInfo, &jcr->VolCatInfo, sizeof(dev->VolCatInfo)); - dir_update_volume_info(jcr, dev, 1); /* indicate tape labeled */ - Jmsg(jcr, M_WARNING, 0, _("Volume \"%s\" not on device %s. Volume marked in error.\n"), + Jmsg(jcr, M_WARNING, 0, _("Volume \"%s\" not on device %s.\n"), jcr->VolumeName, dev_name(dev)); + mark_volume_in_error(jcr, dev); goto mount_next_vol; } @@ -264,12 +264,9 @@ read_volume: } /* If not removable, Volume is broken */ if (!dev_cap(dev, CAP_REM)) { - bstrncpy(jcr->VolCatInfo.VolCatStatus, "Error", - sizeof(jcr->VolCatInfo.VolCatStatus)); - memcpy(&dev->VolCatInfo, &jcr->VolCatInfo, sizeof(dev->VolCatInfo)); - dir_update_volume_info(jcr, dev, 1); /* indicate tape labeled */ - Jmsg(jcr, M_WARNING, 0, _("Volume \"%s\" not on device %s. Volume marked in error.\n"), + Jmsg(jcr, M_WARNING, 0, _("Volume \"%s\" not on device %s.\n"), jcr->VolumeName, dev_name(dev)); + mark_volume_in_error(jcr, dev); goto mount_next_vol; } /* NOTE! Fall-through wanted. */ @@ -299,63 +296,9 @@ read_volume: * If the tape is marked as Recycle, we rewrite the label. */ if (dev->VolHdr.LabelType == PRE_LABEL || recycle) { - Dmsg1(190, "ready_for_append found freshly labeled volume. dev=%x\n", dev); - dev->VolHdr.LabelType = VOL_LABEL; /* set Volume label */ - write_volume_label_to_block(jcr, dev, block); - /* - * If we are not dealing with a streaming device, - * write the block now to ensure we have write permission. - * It is better to find out now rather than later. - */ - if (!dev_cap(dev, CAP_STREAM)) { - if (!rewind_dev(dev)) { - Jmsg2(jcr, M_WARNING, 0, _("Rewind error on device \"%s\". ERR=%s\n"), - dev_name(dev), strerror_dev(dev)); - } - if (recycle) { - if (!truncate_dev(dev)) { - Jmsg2(jcr, M_WARNING, 0, _("Truncate error on device \"%s\". ERR=%s\n"), - dev_name(dev), strerror_dev(dev)); - } - } - /* Attempt write to check write permission */ - if (!write_block_to_dev(jcr->dcr, block)) { - Jmsg2(jcr, M_ERROR, 0, _("Unable to write device \"%s\". ERR=%s\n"), - dev_name(dev), strerror_dev(dev)); - goto mount_next_vol; - } - } - /* Set or reset Volume statistics */ - dev->VolCatInfo.VolCatJobs = 0; - dev->VolCatInfo.VolCatFiles = 0; - dev->VolCatInfo.VolCatBytes = 1; - dev->VolCatInfo.VolCatErrors = 0; - dev->VolCatInfo.VolCatBlocks = 0; - dev->VolCatInfo.VolCatRBytes = 0; - if (recycle) { - dev->VolCatInfo.VolCatMounts++; - dev->VolCatInfo.VolCatRecycles++; - } else { - dev->VolCatInfo.VolCatMounts = 1; - dev->VolCatInfo.VolCatRecycles = 0; - dev->VolCatInfo.VolCatWrites = 1; - dev->VolCatInfo.VolCatReads = 1; - } - Dmsg0(100, "dir_update_vol_info. Set Append\n"); - bstrncpy(dev->VolCatInfo.VolCatStatus, "Append", sizeof(dev->VolCatInfo.VolCatStatus)); - dir_update_volume_info(jcr, dev, 1); /* indicate doing relabel */ - if (recycle) { - Jmsg(jcr, M_INFO, 0, _("Recycled volume \"%s\" on device \"%s\", all previous data lost.\n"), - jcr->VolumeName, dev_name(dev)); - } else { - Jmsg(jcr, M_INFO, 0, _("Wrote label to prelabeled Volume \"%s\" on device \"%s\"\n"), - jcr->VolumeName, dev_name(dev)); + if (!rewrite_volume_label(jcr, dev, block, recycle)) { + goto mount_next_vol; } - /* - * End writing real Volume label (from pre-labeled tape), or recycling - * the volume. - */ - } else { /* * OK, at this point, we have a valid Bacula label, but @@ -399,6 +342,75 @@ The number of files mismatch! Volume=%u Catalog=%u\n"), return 1; } +/* + * Write a volume label. + * Returns: true if OK + * false if unable to write it + */ +static bool rewrite_volume_label(JCR *jcr, DEVICE *dev, DEV_BLOCK *block, bool recycle) +{ + Dmsg1(190, "ready_for_append found freshly labeled volume. dev=%x\n", dev); + dev->VolHdr.LabelType = VOL_LABEL; /* set Volume label */ + if (!write_volume_label_to_block(jcr, dev, block)) { + return false; + } + /* + * If we are not dealing with a streaming device, + * write the block now to ensure we have write permission. + * It is better to find out now rather than later. + */ + if (!dev_cap(dev, CAP_STREAM)) { + if (!rewind_dev(dev)) { + Jmsg2(jcr, M_WARNING, 0, _("Rewind error on device \"%s\". ERR=%s\n"), + dev_name(dev), strerror_dev(dev)); + } + if (recycle) { + if (!truncate_dev(dev)) { + Jmsg2(jcr, M_WARNING, 0, _("Truncate error on device \"%s\". ERR=%s\n"), + dev_name(dev), strerror_dev(dev)); + } + } + /* Attempt write to check write permission */ + if (!write_block_to_dev(jcr->dcr, block)) { + Jmsg2(jcr, M_ERROR, 0, _("Unable to write device \"%s\". ERR=%s\n"), + dev_name(dev), strerror_dev(dev)); + return false; + } + } + /* Set or reset Volume statistics */ + dev->VolCatInfo.VolCatJobs = 0; + dev->VolCatInfo.VolCatFiles = 0; + dev->VolCatInfo.VolCatBytes = 1; + dev->VolCatInfo.VolCatErrors = 0; + dev->VolCatInfo.VolCatBlocks = 0; + dev->VolCatInfo.VolCatRBytes = 0; + if (recycle) { + dev->VolCatInfo.VolCatMounts++; + dev->VolCatInfo.VolCatRecycles++; + } else { + dev->VolCatInfo.VolCatMounts = 1; + dev->VolCatInfo.VolCatRecycles = 0; + dev->VolCatInfo.VolCatWrites = 1; + dev->VolCatInfo.VolCatReads = 1; + } + Dmsg0(100, "dir_update_vol_info. Set Append\n"); + bstrncpy(dev->VolCatInfo.VolCatStatus, "Append", sizeof(dev->VolCatInfo.VolCatStatus)); + dir_update_volume_info(jcr, dev, 1); /* indicate doing relabel */ + if (recycle) { + Jmsg(jcr, M_INFO, 0, _("Recycled volume \"%s\" on device \"%s\", all previous data lost.\n"), + jcr->VolumeName, dev_name(dev)); + } else { + Jmsg(jcr, M_INFO, 0, _("Wrote label to prelabeled Volume \"%s\" on device \"%s\"\n"), + jcr->VolumeName, dev_name(dev)); + } + /* + * End writing real Volume label (from pre-labeled tape), or recycling + * the volume. + */ + return true; +} + + /* * Mark volume in error in catalog */ diff --git a/bacula/src/stored/stored.c b/bacula/src/stored/stored.c index f910f85e2f..11d1de0111 100644 --- a/bacula/src/stored/stored.c +++ b/bacula/src/stored/stored.c @@ -322,6 +322,12 @@ static void *device_allocation(void *arg) JCR *jcr; DCR *dcr; jcr = new_jcr(sizeof(JCR), stored_free_jcr); + jcr->JobType = JT_SYSTEM; + /* Initialize FD start condition variable */ + int errstat = pthread_cond_init(&jcr->job_start_wait, NULL); + if (errstat != 0) { + Jmsg1(jcr, M_ABORT, 0, _("Unable to init job cond variable: ERR=%s\n"), strerror(errstat)); + } jcr->device = device; dcr = new_dcr(jcr, device->dev); switch (read_dev_volume_label(jcr, device->dev, dcr->block)) { diff --git a/bacula/src/tools/Makefile.in b/bacula/src/tools/Makefile.in index 739c71f43c..41bebb8eca 100644 --- a/bacula/src/tools/Makefile.in +++ b/bacula/src/tools/Makefile.in @@ -43,18 +43,18 @@ all: Makefile bsmtp dbcheck testfind testls @echo " " bsmtp: bsmtp.o ../lib/libbac.a - $(CXX) $(LDFLAGS) -L../lib -o $@ bsmtp.o -lbac -lm $(LIBS) $(DLIB) + $(CXX) $(LDFLAGS) -L../lib -o $@ bsmtp.o -lbac -lm $(DLIB) $(LIBS) dbcheck: dbcheck.o ../lib/libbac.a ../cats/libsql.a $(DIRCONFOBJS) - $(CXX) $(LDFLAGS) -L../lib -L../cats -o $@ dbcheck.o $(DIRCONFOBJS) -lsql -lbac -lm $(LIBS) $(DB_LIBS) + $(CXX) $(LDFLAGS) -L../lib -L../cats -o $@ dbcheck.o $(DIRCONFOBJS) -lsql -lbac -lm $(DB_LIBS) $(LIBS) testfind: ../findlib/libfind.a ../lib/libbac.a $(FINDOBJS) $(CXX) -g $(LDFLAGS) -L. -L../lib -L../findlib -o $@ $(FINDOBJS) \ - $(LIBS) $(DLIB) -lfind -lbac -lm + $(DLIB) -lfind -lbac -lm $(LIBS) testls: ../findlib/libfind.a ../lib/libbac.a testls.o $(CXX) -g $(LDFLAGS) -L. -L../lib -L../findlib -o $@ testls.o \ - $(LIBS) $(DLIB) -lfind -lbac -lm + $(DLIB) -lfind -lbac -lm $(LIBS) Makefile: $(srcdir)/Makefile.in $(topdir)/config.status cd $(topdir) \ diff --git a/bacula/src/version.h b/bacula/src/version.h index 43844756f3..1d9a7ade94 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -1,9 +1,9 @@ /* */ #undef VERSION -#define VERSION "1.34.4" +#define VERSION "1.34.5" #define VSTRING "1" -#define BDATE "12 June 2004" -#define LSMDATE "12Jun04" +#define BDATE "21 June 2004" +#define LSMDATE "21Jun04" /* Debug flags */ #undef DEBUG diff --git a/bacula/src/win32/compat/compat.cpp b/bacula/src/win32/compat/compat.cpp index 4a954ab50d..80a77f578d 100644 --- a/bacula/src/win32/compat/compat.cpp +++ b/bacula/src/win32/compat/compat.cpp @@ -36,7 +36,7 @@ extern void d_msg(const char *file, int line, int level, const char *fmt,...); extern DWORD g_platform_id; -// from CYGWIN (should be diff between Jan 1 1601 and Jan 1 1970 +// from MicroSoft SDK (KES) is the diff between Jan 1 1601 and Jan 1 1970 #ifdef HAVE_MINGW #define WIN32_FILETIME_ADJUST 0x19DB1DED53E8000UL //Not sure it works #else @@ -452,7 +452,7 @@ strncasecmp(const char *s1, const char *s2, int len) ch2 = *s2; s1++; s2++; - if (ch1 == 0 || tolower(ch1) != tolower(ch2)) break; + if (ch1 == 0 || tolower(ch1) != tolower(ch2)) break; } return(ch1 - ch2); @@ -794,14 +794,14 @@ getArgv0(const char *cmdline) int inquote = 0; for (const char *cp = cmdline; *cp; cp++) { - if (*cp == '"') { - inquote = !inquote; - } - if (!inquote && isspace(*cp)) - break; + if (*cp == '"') { + inquote = !inquote; + } + if (!inquote && isspace(*cp)) + break; } - + int len = cp - cmdline; char *rval = (char *)malloc(len+1); @@ -862,7 +862,7 @@ CreateChildProcess(const char *cmdline, HANDLE in, HANDLE out, HANDLE err) const char *comspec = getenv("COMSPEC"); if (comspec == NULL) // should never happen - return INVALID_HANDLE_VALUE; + return INVALID_HANDLE_VALUE; char *cmdLine = (char *)alloca(strlen(cmdline) + strlen(comspec) + 16); @@ -973,7 +973,7 @@ open_bpipe(char *prog, int wait, const char *mode) } CloseHandle(hChildStdoutRd); - hChildStdoutRd = INVALID_HANDLE_VALUE; + hChildStdoutRd = INVALID_HANDLE_VALUE; } if (mode_write) { @@ -997,7 +997,7 @@ open_bpipe(char *prog, int wait, const char *mode) } CloseHandle(hChildStdinWr); - hChildStdinWr = INVALID_HANDLE_VALUE; + hChildStdinWr = INVALID_HANDLE_VALUE; } // spawn program with redirected handles as appropriate bpipe->worker_pid = (pid_t) @@ -1162,7 +1162,10 @@ open(const char *file, int flags, int mode) int close(int fd) { - return _close(fd); + int rval = _close(fd); + if (rval == -1) + rval = closesocket(fd); + return rval; } #ifndef HAVE_WXCONSOLE diff --git a/regress/.cvsignore b/regress/.cvsignore deleted file mode 100644 index f29c785374..0000000000 --- a/regress/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -build -bin -test.out -weird-files -weird-files2 -diff -tmp -working -Makefile diff --git a/regress/Makefile.in b/regress/Makefile.in deleted file mode 100644 index a095af158f..0000000000 --- a/regress/Makefile.in +++ /dev/null @@ -1,69 +0,0 @@ -# -# Makefile for Bacula regression testing -# -# Note, Makefile is built from Makefile.in, which you should not really -# need to change, by envoking: -# -# ./config -# e.g. -# -# ./config kern.conf -# -# - -# suck in user's configuration -@CONFIG@ - -WHICHDB?="--with-sqlite=${SQLITE_DIR}" - -first_rule: all - -all: - -setup: bacula - -# -# Some machines cannot handle the sticky bit and other garbage that -# is in weird-files, so we load and run it only on Linux machines. -# -bacula: all - @rm -rf bin build weird-files tmp - (if test x`uname` = xLinux -o x`uname` = xFreeBSD ; then \ - tar xfz weird-files.tar.gz ;\ - fi) - rm -rf tmp working - mkdir tmp working - scripts/setup ${BACULA_SOURCE} ${EMAIL} ${WHICHDB} - scripts/do_sed ${EMAIL} ${TAPE_DRIVE} ${AUTOCHANGER} ${AUTOCHANGER_PATH} - -# Run all non-root userid tests -test: - ./all-non-root-tests - -# run all file and tape tests -full_test: - ./all-tape-and-file-tests - -# These tests require you to run as root -root_test: - ./all-root-tests - -clean: - scripts/cleanup - rm -f /tmp/file-list - rm -f tmp/* working/* - rm -f test.out - rm -f diff - rm -f 1 2 3 scripts/1 scripts/2 scripts/3 tests/1 tests/2 tests/3 - -# Reset our userid after running as root -reset: - chown -R ${USER}:${USER} . tmp working - scripts/cleanup - rm -f /tmp/file-list tmp/file-list - rm -f tmp/* working/* - -distclean: clean - rm -rf bin build weird-files weird-files weird-files2 tmp working - rm -f scripts/*.conf - diff --git a/regress/README b/regress/README deleted file mode 100644 index c63b737ed7..0000000000 --- a/regress/README +++ /dev/null @@ -1,101 +0,0 @@ - Bacula Regression - Kern Sibbald - December 2003 - -This is Bacula's regression script directory. At this time -(December 2003), it is still in development, so all the tests are -not complete. - -To set it up, create your personal configuration file, by -copying prototype.conf to xxx.conf or simply editing prototype.conf -directly. - -Then edit your conf file and define appropriate values -for the variables that are in that file. If you want to see -a real example, look at kern.conf, but please don't use my -email address! - -Make sure that depkgs is pre-built if it isn't -already: (cd your-depkgs; make sqlite). - -Then do: - - ./config xxx.conf - make setup - -You run the above one time. This will build a Makefile from -Makefile.in and your xxx.conf file, copy the Bacula source, -configure, build it, and configure all the Bacula scripts -and conf files. If you change your source, you will need to -redo this command. - -Then you can run any of the tests in the tests subdirectory. -Each test whose name ends in -root requires you to be root for -a resonable run. Each test is totally independent of any other -test. Aside from the required "make setup", each test is totally -self-initalizing and should clean up after itself. - -Not all the tests yet report OK. This is simply because there are -some spurious differences that I haven't yet taken the time to -eliminate. The working scrips as of 24 Apr 03 are: - -backup-bacula-test -sparse-test -compressed-test -sparse-compressed-test -two-jobs-test -wierd-files-test -verify-vol-test - -The tests expect you to execute them from the main regress -directory! - -You can run them individually as: - - tests/two-jobs-test - -or all non-root tests (my normal testing under my account) - - ./all-non-root-tests - -or all tests (I only run these before a production release): - - su - ./all-tests - - -after running the root tests, while still root, it is a good idea -to do: - - make reset - -this cleans up any files that may be created with root permissions. - -If you want to add more tests, do so by putting the shell script -in the tests subdirectory. Be careful when adding (or better not) -new clients, pools, and such to the test-bacula-dir.conf.in file -as it may invalidate a good number of tests, which respond to -questions by answering with a number (i.e. the order of the selection -list is known). It might be better to add your own testb-bacula... -configuration file. - -To avoid re-doing a make setup if you have made a change to the -conf files, and you do not need a new copy of the source, you can simply do: - - scripts/do-sed - -Debugging failed tests: -The simplest thing to do is to edit tests/xxxx where xxxx is the name of -a or the test that is failing and change all: - - @output - -to - - @tee - -re-run the test. The output will display on your terminal. In rare cases, -for example to get bacula debug output, you might want to remove the -"2>&1 >/dev/null" from the end of the bin/bacula call or from the end -of the diff call, assuming you want to "see" the diff output. - diff --git a/regress/all-non-root-2tape-tests b/regress/all-non-root-2tape-tests deleted file mode 100755 index 5201731263..0000000000 --- a/regress/all-non-root-2tape-tests +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# -# Run all tape tests -# -tests/test0 -tests/two-volume-tape -tests/incremental-2tape -echo " " -echo " " -echo "2 Tape Test results" -cat test.out -scripts/cleanup diff --git a/regress/all-non-root-tape-tests b/regress/all-non-root-tape-tests deleted file mode 100755 index 7af5fbf961..0000000000 --- a/regress/all-non-root-tape-tests +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# -# Run all tape tests -# -tests/test0 -tests/backup-bacula-tape -tests/small-file-size-tape -tests/restore-by-file-tape -tests/incremental-tape -tests/four-concurrent-jobs-tape -tests/four-jobs-tape -tests/fixed-block-size-tape -tests/bscan-tape -tests/btape-fill-tape -echo " " -echo " " -echo "Test results" -cat test.out -scripts/cleanup diff --git a/regress/all-non-root-tests b/regress/all-non-root-tests deleted file mode 100755 index c36f440458..0000000000 --- a/regress/all-non-root-tests +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# -# Run all tests -# -tests/test0 -tests/backup-bacula-test -tests/verify-vol-test -tests/sparse-test -tests/compressed-test -tests/sparse-compressed-test -tests/weird-files-test -tests/two-jobs-test -tests/two-vol-test -tests/six-vol-test -tests/bscan-test -tests/weird-files2-test -tests/concurrent-jobs-test -tests/four-concurrent-jobs-test -tests/bsr-opt-test -tests/bextract-test -tests/recycle-test -tests/span-vol-test -tests/restore-by-file-test -tests/restore2-by-file-test -tests/four-jobs-test -tests/incremental-test -tests/decremental-test -tests/restore-disk-seek-test -tests/query-test -tests/auto-label-test -echo " " -echo " " -echo "Test results" -cat test.out -scripts/cleanup diff --git a/regress/all-root-tests b/regress/all-root-tests deleted file mode 100755 index 3f077bba4c..0000000000 --- a/regress/all-root-tests +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# -# Run all root tests -# -rm -f test.out -tests/dev-test-root -tests/etc-test-root -tests/lib-test-root -tests/usr-tape-root -cat test.out -scripts/cleanup diff --git a/regress/all-tape-and-file-tests b/regress/all-tape-and-file-tests deleted file mode 100755 index 9bc3e7676c..0000000000 --- a/regress/all-tape-and-file-tests +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# -# Run all tests -# -./all-non-root-tests -./all-non-root-tape-tests diff --git a/regress/all-tests b/regress/all-tests deleted file mode 100755 index b1b2b35e86..0000000000 --- a/regress/all-tests +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# Run all tests -# -./all-non-root-tests -./all-root-tests -cat test.out -scripts/cleanup diff --git a/regress/config b/regress/config deleted file mode 100755 index 4bc4f52703..0000000000 --- a/regress/config +++ /dev/null @@ -1,9 +0,0 @@ -#/bin/sh -# -# First argument is expected to be a user's configuration file -# -if ! test -e $1 ; then - echo "Arg1 must specify a config file (e.g. prototype.conf)" - exit 1 -fi -sed -e "/@CONFIG@/r $1" -e "s/@CONFIG@//" Makefile.in >Makefile diff --git a/regress/do_all b/regress/do_all deleted file mode 100755 index ce86177ef9..0000000000 --- a/regress/do_all +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -make setup -./all-tape-and-file-tests diff --git a/regress/do_all_tapes b/regress/do_all_tapes deleted file mode 100755 index dd07d2ec99..0000000000 --- a/regress/do_all_tapes +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -make setup -./all-non-root-tape-tests diff --git a/regress/file b/regress/file deleted file mode 100755 index 8f2089051b..0000000000 --- a/regress/file +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -./all-non-root-tests diff --git a/regress/kern.conf b/regress/kern.conf deleted file mode 100644 index dbe0c96ca4..0000000000 --- a/regress/kern.conf +++ /dev/null @@ -1,15 +0,0 @@ -# Where to get the source to be tested -BACULA_SOURCE="${HOME}/bacula/k" - -# Where to send email !!!!! Change me !!!!!!! -EMAIL=kern@sibbald.com - -# Full "default" path where to find sqlite (no quotes!) -SQLITE_DIR=${HOME}/bacula/depkgs/sqlite - -TAPE_DRIVE="/dev/nst0" -# if you don't have an autochanger set AUTOCHANGER to /dev/null -AUTOCHANGER="/dev/sg0" - -# This must be the path to the autochanger including its name -AUTOCHANGER_PATH="/usr/local/bin/mtx" diff --git a/regress/prototype.conf b/regress/prototype.conf deleted file mode 100644 index 14592a3f94..0000000000 --- a/regress/prototype.conf +++ /dev/null @@ -1,37 +0,0 @@ -# -# Prototype personal configuration file for the regression -# scripts. Either edit this file directly, or better copy -# it elsewhere so it won't get overwritten. -# - -# -# Where to get the source to be tested -# -BACULA_SOURCE= - -# Where to send email messages -# -EMAIL= - -# Full "default" path where to find sqlite. -# This is only used if you do not specify a database override on the -# make command. -# -# N.B. DON'T PUT QOUTES AROUND THE PATH. -# -SQLITE_DIR=${HOME}/bacula/depkgs/sqlite - -# -# The device name of your tape drive if you have one -# -TAPE_DRIVE=/dev/nst0 - -# -# if you don't have an autochanger set AUTOCHANGER to /dev/null -# -AUTOCHANGER=/dev/sg0 - -# -# This must be the path to the autochanger including its name -# -AUTOCHANGER_PATH=/bin/mtx diff --git a/regress/scripts/.cvsignore b/regress/scripts/.cvsignore deleted file mode 100644 index 002e974d47..0000000000 --- a/regress/scripts/.cvsignore +++ /dev/null @@ -1,17 +0,0 @@ -new-test-bacula-dir.conf -bacula-dir.conf -bacula-fd.conf -bacula-sd.conf -console.conf -bconsole.conf -test-bacula-dir.conf -test-bacula-fd.conf -test-bacula-sd.conf -test-console.conf -testa-bacula-dir.conf -bacula-dir-tape.conf -bacula-sd-tape.conf -bacula-sd-2tape.conf -cleanup-tape -cleanup-2tape -prepare-two-tapes diff --git a/regress/scripts/bacula-dir-tape.conf.in b/regress/scripts/bacula-dir-tape.conf.in deleted file mode 100644 index 48d89b6eb3..0000000000 --- a/regress/scripts/bacula-dir-tape.conf.in +++ /dev/null @@ -1,134 +0,0 @@ -# -# Default Bacula Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bacula release 1.33 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - Messages = Standard -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in /tmp -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -} - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Where = /tmp/bacula-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include = signature=MD5 { - &1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " !!!! Zombie Jobs in Director !!!!" - echo " !!!! Zombie Jobs in Director !!!!" >>test.out - echo " " -fi -grep "No Jobs running." tmp/fd.out 2>&1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " !!!! Zombie Jobs in File daemon !!!!" - echo " !!!! Zombie Jobs in File daemon !!!!" >>test.out - echo " " -fi -grep "No Jobs running." tmp/sd.out 2>&1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " !!!! Zombie Jobs in Storage daemon !!!!" - echo " !!!! Zombie Jobs in Storage daemon !!!!" >>test.out - echo " " -fi -grep "ERROR" tmp/log*.out 2>&1 >/dev/null -if [ $? = 0 ] ; then - echo " " - echo " !!!! ERROR in log output !!!!" - echo " !!!! ERROR in log output !!!!" >>test.out - echo " " -fi -grep "Fatal Error" tmp/log*.out 2>&1 >/dev/null -if [ $? = 0 ] ; then - echo " " - echo " !!!! Fatal Error in log output !!!!" - echo " !!!! Fatal Error in log output !!!!" >>test.out - echo " " -fi - - diff --git a/regress/scripts/cleanup b/regress/scripts/cleanup deleted file mode 100755 index 3651759bc3..0000000000 --- a/regress/scripts/cleanup +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# -# Cleanup left over files -- both before and after test run -# -rm -rf /tmp/TestVolume001 /tmp/bacula-restores /tmp/Small* -rm -rf tmp/original tmp/bacula-restores tmp/Small* tmp/TestVolume* -rm -rf tmp/restored tmp/largefile tmp/bscan.bsr tmp/log*.out -rm -rf /tmp/sed_tmp /tmp/file-list -rm -rf tmp/build tmp/restore-list tmp/restore2-list -rm -rf tmp/fd.out tmp/dir.out tmp/sd.out -rm -rf working/log tmp/TEST-* - -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges >/dev/null 2>&1 -cd .. diff --git a/regress/scripts/cleanup-2tape.in b/regress/scripts/cleanup-2tape.in deleted file mode 100755 index 70e6b7b0f0..0000000000 --- a/regress/scripts/cleanup-2tape.in +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# -# Cleanup left over files -- both before and after test run -# -scripts/cleanup - -if ! test x@autochanger@ = x/dev/null; then - drive=`bin/mtx-changer @autochanger@ loaded` - if ! test x$drive = x2; then - bin/mtx-changer @autochanger@ unload - bin/mtx-changer @autochanger@ load 2 - fi - mt -f @tape_drive@ rewind - mt -f @tape_drive@ weof -fi - - -# -# If we have an autochanger always load tape in slot 1 -# -if ! test x@autochanger@ = x/dev/null; then - drive=`bin/mtx-changer @autochanger@ loaded` - if ! test x$drive = x1; then - bin/mtx-changer @autochanger@ unload - bin/mtx-changer @autochanger@ load 1 - fi -fi - -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof diff --git a/regress/scripts/cleanup-tape.in b/regress/scripts/cleanup-tape.in deleted file mode 100755 index 98ed537766..0000000000 --- a/regress/scripts/cleanup-tape.in +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# Cleanup left over files -- both before and after test run -# -scripts/cleanup - -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof diff --git a/regress/scripts/copy-2tape-confs b/regress/scripts/copy-2tape-confs deleted file mode 100755 index dbf9466330..0000000000 --- a/regress/scripts/copy-2tape-confs +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf -/bin/cp -f scripts/bacula-sd-2tape.conf bin/bacula-sd.conf -/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf diff --git a/regress/scripts/copy-confs b/regress/scripts/copy-confs deleted file mode 100755 index d1e6cc1c36..0000000000 --- a/regress/scripts/copy-confs +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -/bin/cp -f scripts/bacula-dir.conf bin/bacula-dir.conf -/bin/cp -f scripts/bacula-sd.conf bin/bacula-sd.conf -/bin/cp -f scripts/bacula-fd.conf bin/bacula-fd.conf -/bin/cp -f scripts/bconsole.conf bin/bconsole.conf diff --git a/regress/scripts/copy-tape-confs b/regress/scripts/copy-tape-confs deleted file mode 100755 index 588dddc35b..0000000000 --- a/regress/scripts/copy-tape-confs +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf -/bin/cp -f scripts/bacula-sd-tape.conf bin/bacula-sd.conf -/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf diff --git a/regress/scripts/copy-test-confs b/regress/scripts/copy-test-confs deleted file mode 100755 index 61b120f610..0000000000 --- a/regress/scripts/copy-test-confs +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -/bin/cp -f scripts/new-test-bacula-dir.conf bin/bacula-dir.conf -/bin/cp -f scripts/test-bacula-sd.conf bin/bacula-sd.conf -/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf diff --git a/regress/scripts/copy-testa-confs b/regress/scripts/copy-testa-confs deleted file mode 100755 index 6b5f30c3ef..0000000000 --- a/regress/scripts/copy-testa-confs +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -/bin/cp -f scripts/testa-bacula-dir.conf bin/bacula-dir.conf -/bin/cp -f scripts/test-bacula-sd.conf bin/bacula-sd.conf -/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf diff --git a/regress/scripts/do_sed b/regress/scripts/do_sed deleted file mode 100755 index e999a521fc..0000000000 --- a/regress/scripts/do_sed +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -# -if test $# != 4 ; then - echo "First arg must be email name" - echo " and the second must be a tape drive" - echo " and the third must be a tape control name or /dev/null" - echo " and the fourth must be the full path to the mtx program" - exit 1 -fi -out="/tmp/sed_tmp" -cwd=`pwd` -host=`hostname | tr '.' ' ' | cut -f 1 -d ' '` -if test x$host = x ; then - host=localhost -fi -# Create sed command script -echo "s%@sbindir@%${cwd}/bin%g" >${out} -echo "s%@scriptdir@%${cwd}/bin%g" >>${out} -echo "s%@working_dir@%${cwd}/working%g" >>${out} -echo "s%@piddir@%${cwd}/working%g" >>${out} -echo "s%@subsysdir@%${cwd}/working%g" >>${out} -echo "s%@job_email@%${1}%g" >>${out} -echo "s%@tape_drive@%${2}%g" >>${out} -echo "s%@autochanger@%${3}%g" >>${out} -echo "s%@tmpdir@%${cwd}/tmp%g" >>${out} -echo "s%@hostname@%${host}%g" >>${out} -echo "s%@changer_path@%${4}%g" >>${out} - -# process .in files with sed script -sed -f ${out} ${cwd}/scripts/test-bacula-dir.conf.in >${cwd}/scripts/test-bacula-dir.conf -sed -f ${out} ${cwd}/scripts/new-test-bacula-dir.conf.in >${cwd}/scripts/new-test-bacula-dir.conf -sed -f ${out} ${cwd}/scripts/testa-bacula-dir.conf.in >${cwd}/scripts/testa-bacula-dir.conf -sed -f ${out} ${cwd}/scripts/test-bacula-fd.conf.in >${cwd}/scripts/test-bacula-fd.conf -sed -f ${out} ${cwd}/scripts/test-bacula-sd.conf.in >${cwd}/scripts/test-bacula-sd.conf -sed -f ${out} ${cwd}/scripts/test-console.conf.in >${cwd}/scripts/test-console.conf -sed -f ${out} ${cwd}/scripts/bacula-dir-tape.conf.in >${cwd}/scripts/bacula-dir-tape.conf -sed -f ${out} ${cwd}/scripts/bacula-sd-tape.conf.in >${cwd}/scripts/bacula-sd-tape.conf -sed -f ${out} ${cwd}/scripts/bacula-sd-2tape.conf.in >${cwd}/scripts/bacula-sd-2tape.conf -sed -f ${out} ${cwd}/scripts/cleanup-tape.in >${cwd}/scripts/cleanup-tape -sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape -sed -f ${out} ${cwd}/scripts/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes -cp ${cwd}/bin/bacula-sd.conf /tmp/bac$$ -sed s%/tmp%${cwd}/tmp%g /tmp/bac$$ >${cwd}/bin/bacula-sd.conf -chmod 777 ${cwd}/scripts/cleanup-*tape ${cwd}/scripts/prepare-two-tapes -rm -f /tmp/bac$$ -cp ${cwd}/bin/mtx-changer /tmp/bac$$ -sed "s%^MTX.*$%MTX=${4}%g" /tmp/bac$$ >${cwd}/bin/mtx-changer -chmod 777 ${cwd}/bin/mtx-changer - -# get proper SD tape definitions -if test x`uname` = xLinux ; then \ - cp -f scripts/linux_tape_options bin/tape_options ; \ -fi -if test x`uname` = xFreeBSD ; then \ - cp -f scripts/freebsd_tape_options bin/tape_options ; \ -fi - -rm -f ${out} -rm -f /tmp/bac$$ diff --git a/regress/scripts/exclude-dev-test b/regress/scripts/exclude-dev-test deleted file mode 100644 index 4165ea1ae7..0000000000 --- a/regress/scripts/exclude-dev-test +++ /dev/null @@ -1,5 +0,0 @@ -dev/ptmx -dev/pts -dev/rd/c5d2 -dev/rd -dev/shm diff --git a/regress/scripts/exclude-etc-test b/regress/scripts/exclude-etc-test deleted file mode 100644 index f59ca8df2a..0000000000 --- a/regress/scripts/exclude-etc-test +++ /dev/null @@ -1 +0,0 @@ -etc/mail/statistics diff --git a/regress/scripts/exclude-lib-test b/regress/scripts/exclude-lib-test deleted file mode 100644 index 5be32f443b..0000000000 --- a/regress/scripts/exclude-lib-test +++ /dev/null @@ -1,5 +0,0 @@ -lib/ld-2.2.5.so -lib/libtermcap.so.2.0.8 -lib/libc-2.2.5.so -lib/libnsl-2.2.5.so -lib/libnss_files-2.2.5.so diff --git a/regress/scripts/flist b/regress/scripts/flist deleted file mode 100644 index 7e7e1f0bf8..0000000000 --- a/regress/scripts/flist +++ /dev/null @@ -1,16 +0,0 @@ -/build/doc/bacula.pdf -/build/configure -/build/src/stored/bextract -/build/src/tools/testfind -/build/Makefile.in -/build/src/dird/bacula-dir -/build/src/console/bconsole -/build/src/filed/bacula-fd -/build/src/findlib/find_one.c -/build/src/jcr.h -/build/platforms/Makefile.in -/build/platforms/redhat/Makefile.in -/build/scripts/Makefile.in -/build/src/filed/win32/bin/cygwin1.dll -/build/src/filed/win32/winservice.cpp -/build/src/filed/restore.c diff --git a/regress/scripts/freebsd_tape_options b/regress/scripts/freebsd_tape_options deleted file mode 100644 index 05be3449c4..0000000000 --- a/regress/scripts/freebsd_tape_options +++ /dev/null @@ -1,8 +0,0 @@ -# -# FreeBSD tape drive options -# -Hardware End of Medium = no -Fast Forward Space File = no -BSF at EOM = yes -Backward Space Record = no -TWO EOF = yes diff --git a/regress/scripts/linux_osst_tape_options b/regress/scripts/linux_osst_tape_options deleted file mode 100644 index 5def0c08cb..0000000000 --- a/regress/scripts/linux_osst_tape_options +++ /dev/null @@ -1,7 +0,0 @@ - Minimum Block Size = 32768 - Maximum Block Size = 32768 - Hardware End of Medium = yes - BSF at EOM = yes - Fast Forward Space File = yes - Two EOF = no - diff --git a/regress/scripts/linux_tape_options b/regress/scripts/linux_tape_options deleted file mode 100644 index 601eb82aa5..0000000000 --- a/regress/scripts/linux_tape_options +++ /dev/null @@ -1 +0,0 @@ -# nothing needed for Linux diff --git a/regress/scripts/new-test-bacula-dir.conf.in b/regress/scripts/new-test-bacula-dir.conf.in deleted file mode 100644 index d1c849f6d1..0000000000 --- a/regress/scripts/new-test-bacula-dir.conf.in +++ /dev/null @@ -1,312 +0,0 @@ -# -# Default Bacula Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bacula release 1.33 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - SubSysDirectory = "@subsysdir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password - Messages = Standard -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in /tmp -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData=yes -} - -Job { - Name = "MonsterSave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File1 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "VerifyVolume" - Type = Verify - Level = VolumeToCatalog - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "SparseTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - -Job { - Name = "CompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="CompressedSet" - Storage = File - Messages = Standard - Pool = Default - Maximum Concurrent Jobs = 4 - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - -Job { - Name = "SparseCompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseCompressedSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -# Backup the catalog database (after the nightly save) -Job { - Name = "BackupCatalog" - Type = Backup - Client=@hostname@-fd - FileSet="Catalog" -# Schedule = "WeeklyCycleAfterBackup" - Storage = File - Messages = Standard - Pool = Default - # This creates an ASCII copy of the catalog - RunBeforeJob = "@sbindir@/make_catalog_backup -u bacula" - # This deletes the copy of the catalog - RunAfterJob = "@sbindir@/delete_catalog_backup" - Write Bootstrap = "@working_dir@/BackupCatalog.bsr" -} - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Where = /tmp/bacula-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include = signature=MD5 { - /tmp/file-list - -cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1 -sed "s%# Label Format% Label Format%" ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf - -echo " " -echo " " -echo " === Starting auto-label-test ===" -echo " === Starting auto-label-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! auto-label-test failed!!! !!!!! " - echo " !!!!! auto-label-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== auto-label-test OK ===== " - echo " ===== auto-label-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/backup-bacula-tape b/regress/tests/backup-bacula-tape deleted file mode 100755 index bcfb042745..0000000000 --- a/regress/tests/backup-bacula-tape +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting Bacula tape test ===" -echo " === Starting Bacula tape test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -# -# Now do a second backup after making a few changes -# -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Bacula tape test Bacula source failed!!! !!!!! " - echo " !!!!! Bacula tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Bacula tape test Bacula source OK ===== " - echo " ===== Bacula tape test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/backup-bacula-test b/regress/tests/backup-bacula-test deleted file mode 100755 index 6c52b3240c..0000000000 --- a/regress/tests/backup-bacula-test +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -cwd=`pwd` -scripts/copy-confs -scripts/cleanup - -echo " " -echo " " -echo " === Starting Backup Bacula Test ===" -echo " === Starting Backup Bacula Test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Backup Bacula Test failed!!! !!!!! " - echo " !!!!! Backup Bacula Test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Backup Bacula Test OK ===== " - echo " ===== Backup Bacula Test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/bextract-test b/regress/tests/bextract-test deleted file mode 100755 index e3b0f740c9..0000000000 --- a/regress/tests/bextract-test +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# split the archive into two volumes, then build a BSR with -# the restore command and use bextract to restore the files. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting bextract-test ===" -echo " === Starting bextract-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -mkdir -p ${cwd}/tmp/bacula-restores -bin/bextract -b working/restore.bsr -c bin/bacula-sd.conf ${cwd}/tmp ${cwd}/tmp/bacula-restores 2>&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! bextract-test Bacula source failed!!! !!!!! " - echo " !!!!! bextract-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== bextract-test Bacula source OK ===== " - echo " ===== bextract-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/bscan-tape b/regress/tests/bscan-tape deleted file mode 100755 index 0709a1c340..0000000000 --- a/regress/tests/bscan-tape +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then -# do a bscan and restore. -# It should require at least 4 different bsrs. -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape -echo "${cwd}/build" >/tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting bscan-tape ===" -echo " === Starting bscan-tape ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -@output /dev/null -estimate job=NightlySave listing -estimate job=NightlySave listing -estimate job=NightlySave listing -messages -@output tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 -run job=NightlySave yes -wait -run job=NightlySave level=Full yes -wait -run job=NightlySave level=Full yes -wait -messages -quit -END_OF_DATA -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 1 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o - -# -# run a second job -# -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -@output /dev/null -messages -@output tmp/log1.out -run job=NightlySave level=Incremental yes -wait -messages -quit -END_OF_DATA -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -# -# run a third job -# -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -@output /dev/null -messages -@output tmp/log1.out -run job=NightlySave level=Incremental yes -wait -messages -quit -END_OF_DATA -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 3 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -#echo "abc" > ${cwd}/build/src/lib/dummy -# -# run a fourth job -# -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -@output /dev/null -messages -@output tmp/log1.out -run job=NightlySave level=Incremental yes -wait -messages -quit -END_OF_DATA -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 4 done" -# -# now drop and recreate the database -# -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. - -bin/bacula stop 2>&1 >/dev/null -echo "volume=TestVolume001" >tmp/bscan.bsr -bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! bscan-tape Bacula source failed!!! !!!!! " - echo " !!!!! bscan-tape failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== bscan-tape Bacula source OK ===== " - echo " ===== bscan-tape OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/bscan-test b/regress/tests/bscan-test deleted file mode 100755 index a55851c58d..0000000000 --- a/regress/tests/bscan-test +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# split the archive into two volumes then bscan it -# into the catalog after the backup. It also to a limited -# extent tests the purge volume and delete volume commands. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting bscan-test ===" -echo " === Starting bscan-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -echo "volume=TestVolume001|TestVolume002" >tmp/bscan.bsr -bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf ${cwd}/tmp 2>&1 >/dev/null -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! bscan-test Bacula source failed!!! !!!!! " - echo " !!!!! bscan-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== bscan-test Bacula source OK ===== " - echo " ===== bscan-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/bsr-opt-test b/regress/tests/bsr-opt-test deleted file mode 100755 index 7736ae1006..0000000000 --- a/regress/tests/bsr-opt-test +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# split the archive into two volumes, then restore -# files on only one of the volumes and ensure that -# the other volume is not used. I.e. bsr optimization -# works. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting bsr-opt-test ===" -echo " === Starting bsr-opt-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -# -# This test is not really reliable. What we want to do is -# to select files on only one Volume, then insure here -# that only one Volume is chosen. -# -grep TestVolume002 working/restore.bsr 2>&1 >/dev/null -bsrstat=$? -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build/src/cats tmp/bacula-restores${cwd}/build/src/cats 2>&1 >/dev/null -if [ $? != 0 -o $bsrstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! bsr-opt-test Bacula source failed!!! !!!!! " - echo " !!!!! bsr-opt-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== bsr-opt-test Bacula source OK ===== " - echo " ===== bsr-opt-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/btape-fill-full-tape b/regress/tests/btape-fill-full-tape deleted file mode 100755 index a2d5b5a281..0000000000 --- a/regress/tests/btape-fill-full-tape +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# Test the fill command in btape -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape - -echo " " -echo " " -echo " === Starting btape fill test ===" -echo " === Starting btape fill test ===" >>working/log -echo " " - -bin/btape -c bin/bacula-sd.conf DDS-4 <&1 >tmp/log1.out -fill -s - -quit -END_OF_DATA - - -grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " !!!!! btape fill test failed!!! !!!!! " - echo " !!!!! btape fill test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== btape fill test OK ===== " - echo " ===== btape fill test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/btape-fill-tape b/regress/tests/btape-fill-tape deleted file mode 100755 index 68a99124ec..0000000000 --- a/regress/tests/btape-fill-tape +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# Test the fill command in btape -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >/tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# MaximumVolumeSize% MaximumVolumeSize%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting btape fill test ===" -echo " === Starting btape fill test ===" >>working/log -echo " " - -bin/btape -c bin/bacula-sd.conf DDS-4 <&1 >tmp/log1.out -fill -s - -quit -END_OF_DATA - - -grep "^The last block on the tape matches\. Test succeeded\." tmp/log1.out 2>&1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " !!!!! btape fill test failed!!! !!!!! " - echo " !!!!! btape fill test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== btape fill test OK ===== " - echo " ===== btape fill test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/compressed-test b/regress/tests/compressed-test deleted file mode 100755 index 13176050da..0000000000 --- a/regress/tests/compressed-test +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then restore it. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting compressed-test ===" -echo " === Starting compressed-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! compressed-test Bacula source failed!!! !!!!! " - echo " !!!!! compressed-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== compressed-test Bacula source OK ===== " - echo " ===== compressed-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/concurrent-jobs-test b/regress/tests/concurrent-jobs-test deleted file mode 100755 index c1861a3baf..0000000000 --- a/regress/tests/concurrent-jobs-test +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# -# Run two jobs at the same time -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/largefile" >/tmp/file-list -if test -c /dev/urandom ; then -# Create 56MB file with random data - echo "Creating a 56MB file with random data ..." - dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 -else - echo "Creating a 56MB file with bacula-dir data ..." - dd if=bin/bacula-dir of=${cwd}/tmp/1 bs=1024 count=1000 - cat ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 >${cwd}/tmp/2 - rm -f ${cwd}/tmp/1 - cat ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 >>${cwd}/tmp/3 - rm -f ${cwd}/tmp/2 - cat ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 >${cwd}/tmp/largefile - rm -f ${cwd}/tmp/3 -fi - -echo "largefile created" - -echo " " -echo " " -echo " === Starting concurrent-jobs-test ===" -echo " === Starting concurrent-jobs-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff tmp/largefile tmp/bacula-restores${cwd}/tmp/largefile 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! concurrent-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! concurrent-jobs-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== concurrent-jobs-test Bacula source OK ===== " - echo " ===== concurrent-jobs-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/decremental-test b/regress/tests/decremental-test deleted file mode 100755 index 2c27330ddc..0000000000 --- a/regress/tests/decremental-test +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do a Decremental and restore those two files. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list -mkdir ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting decremental-test ===" -echo " === Starting decremental-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! decremental-test Bacula source failed!!! !!!!! " - echo " !!!!! decremental-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== decremental-test Bacula source OK ===== " - echo " ===== decremental-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/dev-test-root b/regress/tests/dev-test-root deleted file mode 100755 index abb7823068..0000000000 --- a/regress/tests/dev-test-root +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== dev test failed!!! ===== " - echo " ===== dev test failed!!! ===== " >>test.out - echo " " - exit 1 -fi -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "/dev" >/tmp/file-list -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. -echo " " -echo " " -echo " === Starting /dev save/restore test ===" -echo " " -echo " " -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/original -cd ${cwd}/tmp/bacula-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/restored -cd ${cwd}/tmp -cat >sed.scr <original -# -sed -f sed.scr restored | sort >restored -rm -f sed.scr -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/null 2>&1 1>/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== dev test failed!!! ===== " - echo " ===== dev test failed!!! ===== " >>test.out - echo " " -else - echo " ===== dev test OK ===== " - echo " ===== dev test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/etc-test-root b/regress/tests/etc-test-root deleted file mode 100755 index 59ec79755f..0000000000 --- a/regress/tests/etc-test-root +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== etc-test-root failed!!! ===== " - echo " ===== etc-test-root failed!!! ===== " >>test.out - echo " " - exit 1 -fi -echo " " -echo " " -echo " === Starting /etc save/restore test ===" -echo " " -echo " " -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "/etc" >/tmp/file-list -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/1 -cd ${cwd}/tmp/bacula-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/2 -sort <${cwd}/tmp/1 >${cwd}/tmp/original -sort <${cwd}/tmp/2 >${cwd}/tmp/restored -rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== etc-test-root failed!!! ===== " - echo " ===== etc-test-root failed!!! ===== " >>test.out - echo " " -else - echo " ===== etc-test-root OK ===== " - echo " ===== etc-test-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/fixed-block-size-tape b/regress/tests/fixed-block-size-tape deleted file mode 100755 index 36faadf517..0000000000 --- a/regress/tests/fixed-block-size-tape +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where we set the minimum and maximum block -# sizes. -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape -echo "${cwd}/build" >/tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -echo "s%# Maximum Block Size% Maximum Block Size%" >${cwd}/tmp/2 -echo "s%# Minimum Block Size% Minimum Block Size%" >>${cwd}/tmp/2 -sed -f ${cwd}/tmp/2 ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf -if [ $? != 0 ] ; then - echo " " - echo " " - echo "!!!! sed problem in Fixed Block Size test !!!!!" - echo " " - exit 1 -fi -rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 - -echo " " -echo " " -echo " === Starting Fixed Block Size test ===" -echo " === Starting Fixed Block Size test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Fixed Block Size test Bacula source failed!!! !!!!! " - echo " !!!!! Fixed Block Size test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Fixed Block Size test Bacula source OK ===== " - echo " ===== Fixed Block Size test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/four-concurrent-jobs-tape b/regress/tests/four-concurrent-jobs-tape deleted file mode 100755 index 48109cbb84..0000000000 --- a/regress/tests/four-concurrent-jobs-tape +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Run two jobs at the same time -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting four-concurrent-jobs-tape ===" -echo " === Starting four-concurrent-jobs-tape ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! four-concurrent-jobs-tape Bacula source failed!!! !!!!! " - echo " !!!!! four-concurrent-jobs-tape failed!!! !!!!! " >>test.out - echo " " - exit 1 -else - echo " ===== four-concurrent-jobs-tape Bacula source OK ===== " - echo " ===== four-concurrent-jobs-tape OK ===== " >>test.out - scripts/cleanup - exit 0 -fi diff --git a/regress/tests/four-concurrent-jobs-test b/regress/tests/four-concurrent-jobs-test deleted file mode 100755 index 54a74fc142..0000000000 --- a/regress/tests/four-concurrent-jobs-test +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# -# Run two jobs at the same time -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting four-concurrent-jobs-test ===" -echo " === Starting four-concurrent-jobs-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! four-concurrent-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! four-concurrent-jobs-test failed!!! !!!!! " >>test.out - echo " " - exit 1 -else - echo " ===== four-concurrent-jobs-test Bacula source OK ===== " - echo " ===== four-concurrent-jobs-test OK ===== " >>test.out - scripts/cleanup - exit 0 -fi diff --git a/regress/tests/four-jobs-tape b/regress/tests/four-jobs-tape deleted file mode 100755 index 9d930bf258..0000000000 --- a/regress/tests/four-jobs-tape +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then finally restore. -# It should require at least 4 different bsrs. -# -cwd=`pwd` - -scripts/copy-tape-confs -scripts/cleanup-tape -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting four-jobs-tape ===" -echo " === Starting four-jobs-tape ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! four-jobs-tape Bacula source failed!!! !!!!! " - echo " !!!!! four-jobs-tape failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== four-jobs-tape Bacula source OK ===== " - echo " ===== four-jobs-tape OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/four-jobs-test b/regress/tests/four-jobs-test deleted file mode 100755 index a312b386e6..0000000000 --- a/regress/tests/four-jobs-test +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then finally restore. -# It should require at least 4 different bsrs. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting four-jobs-test ===" -echo " === Starting four-jobs-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! four-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! four-jobs-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== four-jobs-test Bacula source OK ===== " - echo " ===== four-jobs-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/incremental-2tape b/regress/tests/incremental-2tape deleted file mode 100755 index 6ed796897f..0000000000 --- a/regress/tests/incremental-2tape +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -# This script uses the autochanger and two tapes -# -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. - -scripts/copy-2tape-confs -scripts/cleanup-2tape -echo "${cwd}/tmp/build" >/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting incremental-2tape test ===" -echo " === Starting incremental-2tape test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! incremental-2tape test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-2tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== incremental-2tape test Bacula source OK ===== " - echo " ===== incremental-2tape test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/incremental-tape b/regress/tests/incremental-tape deleted file mode 100755 index 602df9cd60..0000000000 --- a/regress/tests/incremental-tape +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -cwd=`pwd` - -scripts/copy-tape-confs -scripts/cleanup-tape -echo "${cwd}/tmp/build" >/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting incremental-tape test ===" -echo " === Starting incremental-tape test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! incremental-tape test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== incremental-tape test Bacula source OK ===== " - echo " ===== incremental-tape test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/incremental-test b/regress/tests/incremental-test deleted file mode 100755 index 7cc54ccf82..0000000000 --- a/regress/tests/incremental-test +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list -mkdir ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting incremental-test ===" -echo " === Starting incremental-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! incremental-test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== incremental-test Bacula source OK ===== " - echo " ===== incremental-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/lib-tape-root b/regress/tests/lib-tape-root deleted file mode 100755 index 8701602d4e..0000000000 --- a/regress/tests/lib-tape-root +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the /lib directory -# then restore it. -# -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. - -scripts/copy-tape-confs -scripts/cleanup-tape -echo "/lib" >/tmp/file-list -echo " " -echo " " -echo " === Starting lib-tape-root test ===" -echo " " -echo " " -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bacula-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== lib-tape-root failed!!! ===== " - echo " ===== lib-tape-root failed!!! ===== " >>test.out - echo " " -else - echo " ===== lib-tape-root OK ===== " - echo " ===== lib-tape-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/lib-test-root b/regress/tests/lib-test-root deleted file mode 100755 index 10b6710378..0000000000 --- a/regress/tests/lib-test-root +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== lib-test-root failed!!! ===== " - echo " ===== lib-test-root failed!!! ===== " >>test.out - echo " " - exit 1 -fi -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "/lib" >/tmp/file-list -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. -echo " " -echo " " -echo " === Starting /lib save/restore test ===" -echo " " -echo " " -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bacula-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== lib-test-root failed!!! ===== " - echo " ===== lib-test-root failed!!! ===== " >>test.out - echo " " -else - echo " ===== lib-test-root OK ===== " - echo " ===== lib-test-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/query-test b/regress/tests/query-test deleted file mode 100755 index 9bec874ac3..0000000000 --- a/regress/tests/query-test +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do a Decremental then a bunch of query commands -# and finally restore the two files. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list -mkdir ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting query-test ===" -echo " === Starting query-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! query-test Bacula source failed!!! !!!!! " - echo " !!!!! query-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== query-test Bacula source OK ===== " - echo " ===== query-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/recycle-test b/regress/tests/recycle-test deleted file mode 100755 index aa87753624..0000000000 --- a/regress/tests/recycle-test +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# create three volumes and do six backups causing the -# volumes to be recycled, and cycling through the volumes -# twice. Tests maxvoljobs and volretention. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting recycle-test ===" -echo " === Starting recycle-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! recycle-test Bacula source failed!!! !!!!! " - echo " !!!!! recycle-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== recycle-test Bacula source OK ===== " - echo " ===== recycle-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/restore-by-file-tape b/regress/tests/restore-by-file-tape deleted file mode 100755 index 21013b36cd..0000000000 --- a/regress/tests/restore-by-file-tape +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where the maximum tape file size is set to 1M -# then restore a few files from it. Note, by setting the maximum -# file size to 1M, it runs very slow. There are about 64 files that -# are created during each of the two backups. -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape -echo "${cwd}/build" >/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting restore-by-file-tape test ===" -echo " === Starting restore-by-file-tape test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -bin/bacula start 2>&1 >/dev/null -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bacula-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! restore-by-file-tape test Bacula source failed!!! !!!!! " - echo " !!!!! restore-by-file-tape test failed!!! !!!!! " >>test.out - echo " " - bin/bacula stop 2>&1 >/dev/null - exit 1 -else - echo " First of two restores OK " -fi -rm -rf ${cwd}/tmp/bacula-restores -# -# Now do a second backup and restore -# -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bacula-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! restore-by-file-tape test Bacula source failed!!! !!!!! " - echo " !!!!! restore-by-file-tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== restore-by-file-tape test Bacula source OK ===== " - echo " ===== restore-by-file-tape test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/restore-by-file-test b/regress/tests/restore-by-file-test deleted file mode 100755 index 2740ea56c6..0000000000 --- a/regress/tests/restore-by-file-test +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then restore it. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list -mkdir ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp/build -ls >../1 -cd .. -sed s%\^%${cwd}/tmp/build/% 1 >restore-list -rm -f 1 -cd ${cwd} - -echo " " -echo " " -echo " === Starting restore-by-file-test ===" -echo " === Starting restore-by-file-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! restore-by-file-test Bacula source failed!!! !!!!! " - echo " !!!!! restore-by-file-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== restore-by-file-test Bacula source OK ===== " - echo " ===== restore-by-file-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/restore-disk-seek-test b/regress/tests/restore-disk-seek-test deleted file mode 100755 index 4a0514b669..0000000000 --- a/regress/tests/restore-disk-seek-test +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh -# -# Run a backup of the full bacula build directory, but with the -# Maximum File Size set. Then do a restore of a few files to kick in -# disk seeking (not yet enabled), and ensure that the restored files -# match. Even though disk seeking is not yet enabled, this is a good test, -# and once it is enabled, this will test it. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list -rm -rf ${cwd}/tmp/build -mkdir ${cwd}/tmp/build -# Copy only the .c files (to be restored) -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp/build -ls >../1 -cd .. -sed s%\^%${cwd}/tmp/build/% 1 >restore-list -# At this point restore-list contains the list -# of files we will restore -rm -f 1 -cd ${cwd} -# Now backup *everything* -rm -rf ${cwd}/tmp/build -mkdir ${cwd}/tmp/build -cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build -# Enable MaximumFileSize -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting restore-disk-seek-test ===" -echo " === Starting restore-disk-seek-test ===" >>working/log -echo " " - -bin/bacula start -v -v 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -# Now setup a control directory of only what we *should* restore -rm -rf ${cwd}/tmp/build -mkdir ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! restore-disk-seek-test Bacula source failed!!! !!!!! " - echo " !!!!! restore-disk-seek-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== restore-disk-seek-test Bacula source OK ===== " - echo " ===== restore-disk-seek-test OK ===== " >>test.out -# scripts/cleanup -# rm -rf ${cwd}/tmp/build -fi diff --git a/regress/tests/restore2-by-file-test b/regress/tests/restore2-by-file-test deleted file mode 100755 index 53a259889b..0000000000 --- a/regress/tests/restore2-by-file-test +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then restore a few selected files. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list - -echo " " -echo " " -echo " === Starting restore2-by-file-test ===" -echo " === Starting restore2-by-file-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -dstat=0 -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bacula-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done -if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! restore2-by-file-test Bacula source failed!!! !!!!! " - echo " !!!!! restore2-by-file-test failed!!! !!!!! " >>test.out - echo " " - echo "Backup term status = $bstat" - echo "Restore term status = $rstat" - echo "Diff status = $dstat" - echo " " -else - echo " ===== restore2-by-file-test Bacula source OK ===== " - echo " ===== restore2-by-file-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/six-vol-test b/regress/tests/six-vol-test deleted file mode 100755 index 61e6dff9ef..0000000000 --- a/regress/tests/six-vol-test +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# -# Create a 60MB file with random bytes. Back it up to 6 Volumes -# each constrained to 10MB using the automatic labeling feature. -# - -if test ! -c /dev/urandom ; then - echo "No random device. Test skipped.\n" - exit 0 -fi -cwd=`pwd` -scripts/copy-testa-confs -scripts/cleanup -echo "${cwd}/tmp/largefile" >/tmp/file-list -# Create 56MB file with random data -echo "Creating a 56MB file with random data ..." -dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 -echo "largefile created" - -echo " " -echo " " -echo " === Starting six-vol-test ===" -echo " === Starting six-vol-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff tmp/largefile tmp/bacula-restores${cwd}/tmp/largefile 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! six-vol-test Bacula source failed!!! !!!!! " - echo " !!!!! six-vol-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== six-vol-test Bacula source OK ===== " - echo " ===== six-vol-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/small-file-size-tape b/regress/tests/small-file-size-tape deleted file mode 100755 index 4c2b2487dd..0000000000 --- a/regress/tests/small-file-size-tape +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where the maximum tape file size is set to 1M -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >/tmp/file-list -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting Small File Size test ===" -echo " === Starting Small File Size test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Small File Size test Bacula source failed!!! !!!!! " - echo " !!!!! Small File Size test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Small File Size test Bacula source OK ===== " - echo " ===== Small File Size test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/span-vol-test b/regress/tests/span-vol-test deleted file mode 100755 index e8127501ff..0000000000 --- a/regress/tests/span-vol-test +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# split the archive into four volumes, two of which are -# totally full. I.e. make sure that bsr selects all tapes -# including those fully spanned. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting span-vol-test ===" -echo " === Starting span-vol-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! span-vol-test Bacula source failed!!! !!!!! " - echo " !!!!! span-vol-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== span-vol-test Bacula source OK ===== " - echo " ===== span-vol-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/sparse-compressed-test b/regress/tests/sparse-compressed-test deleted file mode 100755 index 996d3ce8d1..0000000000 --- a/regress/tests/sparse-compressed-test +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the Sparse option -# then restore it. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list -bin/bacula stop 2>&1 >/dev/null - -echo " " -echo " " -echo " === Starting sparse-compressed-test ===" -echo " === Starting sparse-compressed-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! sparse-compressed-test Bacula source failed!!! !!!!! " - echo " !!!!! sparse-compressed-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== sparse-compressed-test Bacula source OK ===== " - echo " ===== sparse-compressed-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/sparse-test b/regress/tests/sparse-test deleted file mode 100755 index 682fa052e6..0000000000 --- a/regress/tests/sparse-test +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the Sparse option -# then restore it. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting sparse-test ===" -echo " === Starting sparse-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! sparse-test Bacula source failed!!! !!!!! " - echo " !!!!! sparse-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== sparse-test Bacula source OK ===== " - echo " ===== sparse-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/test0 b/regress/tests/test0 deleted file mode 100755 index 0d0edd0b85..0000000000 --- a/regress/tests/test0 +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo " " >test.out -rm -f bin/working/* diff --git a/regress/tests/two-jobs-test b/regress/tests/two-jobs-test deleted file mode 100755 index aee240cfd4..0000000000 --- a/regress/tests/two-jobs-test +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup a second time and finally restore it -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting two-jobs-test ===" -echo " === Starting two-jobs-test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! two-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! two-jobs-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== two-jobs-test Bacula source OK ===== " - echo " ===== two-jobs-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/two-vol-test b/regress/tests/two-vol-test deleted file mode 100755 index c7b32dc4ac..0000000000 --- a/regress/tests/two-vol-test +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# split the archive into two volumes -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting two-vol-test ===" -echo " === Starting two-vol-test ===" >working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! two-vol-test Bacula source failed!!! !!!!! " - echo " !!!!! two-vol-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== two-vol-test Bacula source OK ===== " - echo " ===== two-vol-test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/two-volume-tape b/regress/tests/two-volume-tape deleted file mode 100755 index 2f603f9ee7..0000000000 --- a/regress/tests/two-volume-tape +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to two tapes where the maximum tape file size is set to 1M -# -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null -scripts/copy-2tape-confs -scripts/prepare-two-tapes -echo "${cwd}/build" >/tmp/file-list -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. -out="tmp/sed_tmp" -echo "s%# Maximum File Size% Maximum File Size%g" >${out} -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed -f ${out} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -echo " " -echo " " -echo " === Starting Two Volume Tape test ===" -echo " === Starting Two Volume Tape test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Two Volume Tape test Bacula source failed!!! !!!!! " - echo " !!!!! Two Volume Tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Two Volume Tape test Bacula source OK ===== " - echo " ===== Two Volume Tape test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/tests/usr-tape-root b/regress/tests/usr-tape-root deleted file mode 100755 index b4662bcfa8..0000000000 --- a/regress/tests/usr-tape-root +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the /usr directory -# then restore it. -# -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. - -scripts/copy-tape-confs -scripts/cleanup-tape -echo "/usr" >/tmp/file-list -echo " " -echo " " -echo " === Starting usr-tape-root test ===" -echo " " -echo " " -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bacula-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== usr-tape-root failed!!! ===== " - echo " ===== usr-tape-root failed!!! ===== " >>test.out - echo " " -else - echo " ===== usr-tape-root OK ===== " - echo " ===== usr-tape-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/verify-vol-test b/regress/tests/verify-vol-test deleted file mode 100755 index 9d5e13db1e..0000000000 --- a/regress/tests/verify-vol-test +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then verify the catalog. -# -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -echo "${cwd}/build" >/tmp/file-list - -echo " " -echo " " -echo " === Starting verify Volume Test ===" -echo " === Starting verify Volume Test ===" >>working/log -echo " " - -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Verify Volume failed!!! !!!!! " - echo " !!!!! Verify Volume failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Verify Volume Test OK ===== " - echo " ===== Verify Volume Test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/weird-files-test b/regress/tests/weird-files-test deleted file mode 100755 index 5ec98880f2..0000000000 --- a/regress/tests/weird-files-test +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -if test ! -d weird-files ; then - echo " " - echo "Weird files not configured. Test not run." - exit 0 -fi -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -# -# Note, we save the weird-files directory twice on purpose -# because this causes problems with hard linked files -# that are only saved once. In 1.33, Bacula now deals -# with this situation. -# -echo "${cwd}/weird-files" >/tmp/file-list -echo "${cwd}/weird-files" >>/tmp/file-list - -echo " " -echo " " -echo " === Starting weird filenames test ===" -echo " === Starting weird filenames test ===" >>working/log -echo " " - -# bin/bacula start 2>&1 >/dev/null -bin/bacula start -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -${cwd}/bin/testls weird-files | sort >${cwd}/tmp/original -cd tmp/bacula-restores${cwd} -${cwd}/bin/testls weird-files | sort >${cwd}/tmp/restored -cd ${cwd} -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Weird files test failed!!! !!!!! " - echo " !!!!! Weird files test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Weird files test OK ===== " - echo " ===== Weird files test OK ===== " >>test.out - cd ${cwd} - scripts/cleanup -fi diff --git a/regress/tests/weird-files2-test b/regress/tests/weird-files2-test deleted file mode 100755 index b3c5fda965..0000000000 --- a/regress/tests/weird-files2-test +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then restore it. -# -if test ! -d weird-files ; then - echo " " - echo "weird files not configured. Test not run." - exit 0 -fi -cwd=`pwd` -scripts/copy-test-confs -scripts/cleanup -rm -rf weird-files2 -cp -Rp weird-files weird-files2 -echo "${cwd}/weird-files2" >/tmp/file-list - -echo " " -echo " " -echo " === Starting weird filenames2 test ===" -echo " === Starting weird filenames2 test ===" >>working/log -echo " " - -bin/testls weird-files2 >${cwd}/tmp/original -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -bin/testls weird-files2 >${cwd}/tmp/restored -grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Weird files2 test failed!!! !!!!! " - echo " !!!!! Weird files2 test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Weird files2 test OK ===== " - echo " ===== Weird files2 test OK ===== " >>test.out - cd ${cwd} - scripts/cleanup - rm -rf weird-files2 -fi diff --git a/regress/weird-files.tar.gz b/regress/weird-files.tar.gz deleted file mode 100644 index d1b3a21226a7dcb330bf56fa24a30fa89c0d44ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1586 zcmV-22F>{&iwFQSj7>lQ1MOYQa@#f(^;%znri*L>3jhJI-8D1aw3Eqn(dl&23MD}z z#}b*6P(0qHj}K|u{)v990Q4aANGLWWEJycjD4UW1^WYp@02lDR%E}3zW^+{vZ+ZeD zoW!v(S3+XR_pTeYszOH6n6Ex5Ay9(*Tya^oQDZ|%)GOCLCQY%~)Q*9aU zs0>1x(SO_=|54NP$L9A;aKdg78>YoV3a#>nqh!3CC&Nx?Eb%nR}RG(m2SFV4b zf2(Z!II%8pmwiEF{Kw)t{^K_Olg!)({||tZ{tuRZHSqOcEk~2A?0y>HobmrQ{)?#b z0va(XVEi8fC-_e;p#Nu*p3(nz(MbXShx~8Z?<@>x&p#u=jQ`l}ZEs`J9f1F1{ci)o zj>>2n|NH*$#{Z0R(+m&_F*yPJ?;i0eo8g~(SOswXzvZ}ze=cJhQ|lLT1pR*y`20_j zd}d@n!yRhhqP721;q=cE+@tYt0Q}efue0&p10H3%+cFycpYg5!Wh|(h|0OYu|3l!* zFO2Qy!zvx9aay2fY4!{T|5t=P{VTo9Cf$2(8~qzt{ZkI}e?b8Hzi#ZU|Kx>ERf)S^ z2WXuCujBvq{6CZ2_Wv}*;>4Bff6xCrSWY{IM*rs~=8Gi}W}v|BT9AqV1OxvMf&KiS z1lcy=R`+3X|0-}w|JGu=^n&*Dza)yK8UOcXNItGy|9kzvyW;yyr#QjCE(@)mby3E7 z{l6qKilk`*ZvKbD_&*4m_{Uj}KXpE+75~iTfA9$Me}kZb|L4K^kC@}11OGwrVg9Rm zQl-BH=ijaWNI@b0Hwb+Gr`fdVqYRtjeFp!O#F2<&JO9TdH~qitqcVp8{=NL)@$-qA zc3#Gr`nUW`Hy2DJ69Iz$L%`?%hq9QJ$zt)m<1)_V-v)n-3Ss#d5dVdN&wpRf`%M11 z&H83`FQ6F&a2WpufzLnfsf>2~M~;6%f&UQj`DZi{L^;AYH{sjU3 z2ZYZ*@2QM-{IC0ei2uXD=fAIf+gAL${7*(C=syS!*Z=S+sZ_@)V2%7syZ=+hlye%n z@jn*~_zwcN{-4>Ef4dX(7S%u7hTt*-2D(5aRc8jM31kI)HaJYNdTjkOVaI=*ONjr2 z;C%h>&iw%We?~aczkS*9M8KKxU#))={@eclDF3q$bGmZXReCoDNj^bUS}f-i8(u8) z^*5mVROP5N!AMa;q|rN0`hRf!i=F;u4C{YEaIAlCoWDK{%1GYa$!CLFtee|z zivT(;`N5&yU!eQ-2hC?*AS-@*ZzJ^Wcb95WyjAYbt{&h4J>qtFJN)KVk zF2+B7C2q~%9}7?_q>2At^;DldZ1rCj#YfW|o9;hR`2KIb0Do8Em-r`DK49A_@V8m1 z#zvtJ_;s>SnC^ht4mjEY^BP#xz_JF8Yv8YTz+dlx>&DRAq2vIE0Q{eM{+oIZuQ6N_tl@P-^}&h*=028KdS%#n