From 7afcacb60138590f8feba0e047fc0a65fcf7c1dd Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Tue, 26 Apr 2005 19:29:24 +0000 Subject: [PATCH] Add new dir git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1961 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/patches/1.36.2/1.36.2-console.patch | 32 +++++ bacula/patches/1.36.2/1.36.2-level.patch | 56 ++++++++ bacula/patches/1.36.2/1.36.2-netbsd.patch | 47 +++++++ bacula/patches/1.36.2/1.36.2-pool.patch | 26 ++++ bacula/patches/1.36.2/1.36.2-reschedule.patch | 85 ++++++++++++ .../patches/1.36.2/1.36.2-restore-speed.patch | 120 +++++++++++++++++ bacula/patches/1.36.2/1.36.2-store.patch | 29 +++++ .../1.36.2/1.36.2-tray-monitor-memleak.patch | 92 +++++++++++++ .../patches/1.36.2/1.36.2-win32-drive.patch | 32 +++++ .../1.36.2/1.36.2-wx-console-bugfixes.diff | 123 ++++++++++++++++++ bacula/patches/1.36.2/patches-1.36.2 | 47 +++++++ 11 files changed, 689 insertions(+) create mode 100644 bacula/patches/1.36.2/1.36.2-console.patch create mode 100644 bacula/patches/1.36.2/1.36.2-level.patch create mode 100644 bacula/patches/1.36.2/1.36.2-netbsd.patch create mode 100644 bacula/patches/1.36.2/1.36.2-pool.patch create mode 100644 bacula/patches/1.36.2/1.36.2-reschedule.patch create mode 100644 bacula/patches/1.36.2/1.36.2-restore-speed.patch create mode 100644 bacula/patches/1.36.2/1.36.2-store.patch create mode 100644 bacula/patches/1.36.2/1.36.2-tray-monitor-memleak.patch create mode 100644 bacula/patches/1.36.2/1.36.2-win32-drive.patch create mode 100644 bacula/patches/1.36.2/1.36.2-wx-console-bugfixes.diff create mode 100644 bacula/patches/1.36.2/patches-1.36.2 diff --git a/bacula/patches/1.36.2/1.36.2-console.patch b/bacula/patches/1.36.2/1.36.2-console.patch new file mode 100644 index 0000000000..b46228f4e8 --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-console.patch @@ -0,0 +1,32 @@ + + This patch causes the output directed to a file to be + flushed after every line. This is a bit overkill, IMO, but + a user complained about it. + + Apply to 1.36.2 with: + + cd + patch -p0 <1.36.2-console.patch + make + ... + +Index: src/console/console.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/console/console.c,v +retrieving revision 1.53.6.1 +diff -u -b -r1.53.6.1 console.c +--- src/console/console.c 25 Feb 2005 09:47:06 -0000 1.53.6.1 ++++ src/console/console.c 16 Mar 2005 11:36:43 -0000 +@@ -748,10 +748,11 @@ + } + #else + fputs(buf, output); ++ fflush(output); + if (tee) { + fputs(buf, stdout); + } +- if (output == stdout || tee) { ++ if (output != stdout || tee) { + fflush(stdout); + } + #endif diff --git a/bacula/patches/1.36.2/1.36.2-level.patch b/bacula/patches/1.36.2/1.36.2-level.patch new file mode 100644 index 0000000000..33caf01abf --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-level.patch @@ -0,0 +1,56 @@ + + This patch should fix a problem with th %l editing in the + client (FD) where it edited nothing. With this fix, it should + edit "since". + Apply the patch to 1.36.2 with: + + cd + patch -p0 <1.36.2-level.patch + make + ... + +Index: src/version.h +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/version.h,v +retrieving revision 1.403.2.5 +retrieving revision 1.403.2.5.2.1 +diff -u -r1.403.2.5 -r1.403.2.5.2.1 +--- src/version.h 27 Feb 2005 21:54:02 -0000 1.403.2.5 ++++ src/version.h 4 Mar 2005 09:14:15 -0000 1.403.2.5.2.1 +@@ -1,8 +1,8 @@ + /* */ + #undef VERSION + #define VERSION "1.36.2" +-#define BDATE "28 February 2005" +-#define LSMDATE "28Feb05" ++#define BDATE "04 March 2005" ++#define LSMDATE "04Mar05" + + /* Debug flags */ + #undef DEBUG +Index: src/filed/job.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/filed/job.c,v +retrieving revision 1.91.4.2 +retrieving revision 1.91.4.2.2.1 +diff -u -r1.91.4.2 -r1.91.4.2.2.1 +--- src/filed/job.c 25 Feb 2005 09:47:06 -0000 1.91.4.2 ++++ src/filed/job.c 4 Mar 2005 09:14:16 -0000 1.91.4.2.2.1 +@@ -3,7 +3,7 @@ + * + * Kern Sibbald, October MM + * +- * Version $Id$ ++ * Version $Id$ + * + */ + /* +@@ -1139,7 +1139,7 @@ + buf = get_memory(dir->msglen+1); + utime_t since_time, adj; + btime_t his_time, bt_start, rt=0, bt_adj=0; +- if (jcr->JobLevel == 0) { ++ if (jcr->JobLevel == L_NONE) { + jcr->JobLevel = L_SINCE; /* if no other job level set, do it now */ + } + if (sscanf(dir->msg, "level = since_utime %s mtime_only=%d", diff --git a/bacula/patches/1.36.2/1.36.2-netbsd.patch b/bacula/patches/1.36.2/1.36.2-netbsd.patch new file mode 100644 index 0000000000..33a0354f9f --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-netbsd.patch @@ -0,0 +1,47 @@ + + This patch corrects a compile problem because of no statfs() + on NetBSD. The patch was submitted by kardel with bug 258. + + Apply the patch to version 1.36.2 with: + + cd + patch -p0 <1.36.2-netbsd.patch + make + ... + +Index: src/findlib/fstype.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/findlib/fstype.c,v +retrieving revision 1.7.2.2 +diff -u -r1.7.2.2 fstype.c +--- src/findlib/fstype.c 25 Feb 2005 09:47:06 -0000 1.7.2.2 ++++ src/findlib/fstype.c 15 Mar 2005 14:01:44 -0000 +@@ -61,7 +61,6 @@ + */ + #if defined(HAVE_DARWIN_OS) \ + || defined(HAVE_FREEBSD_OS ) \ +- || defined(HAVE_NETBSD_OS) \ + || defined(HAVE_OPENBSD_OS) + + #include +@@ -77,7 +76,20 @@ + Dmsg1(50, "statfs() failed for \"%s\"\n", fname); + return false; + } ++#elif defined(HAVE_NETBSD_OS) ++#include ++#include + ++bool fstype(const char *fname, char *fs, int fslen) ++{ ++ struct statvfs st; ++ if (statvfs(fname, &st) == 0) { ++ bstrncpy(fs, st.f_fstypename, fslen); ++ return true; ++ } ++ Dmsg1(50, "statfs() failed for \"%s\"\n", fname); ++ return false; ++} + #elif defined(HAVE_HPUX_OS) \ + || defined(HAVE_IRIX_OS) + diff --git a/bacula/patches/1.36.2/1.36.2-pool.patch b/bacula/patches/1.36.2/1.36.2-pool.patch new file mode 100644 index 0000000000..eeb7d4079c --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-pool.patch @@ -0,0 +1,26 @@ + + This patch corrects a problem preventing multiple + simultaneous jobs from different pools. + Apply to 1.36.2 with: + + cd + patch -p0 <1.36.2-pool.patch + make + ... + +Index: src/dird/jobq.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/dird/jobq.c,v +retrieving revision 1.25.4.2 +diff -u -r1.25.4.2 jobq.c +--- src/dird/jobq.c 15 Feb 2005 11:51:03 -0000 1.25.4.2 ++++ src/dird/jobq.c 4 Mar 2005 13:16:19 -0000 +@@ -584,7 +584,7 @@ + if (njcr->JobId == 0 || njcr == jcr) { + continue; + } +- if (njcr->pool != jcr->pool) { ++ if (njcr->store == jcr->store && njcr->pool != jcr->pool) { + skip_this_jcr = true; + break; + } diff --git a/bacula/patches/1.36.2/1.36.2-reschedule.patch b/bacula/patches/1.36.2/1.36.2-reschedule.patch new file mode 100644 index 0000000000..320dfaa2f7 --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-reschedule.patch @@ -0,0 +1,85 @@ + This patch should fix a Segfault bug when a job is rescheduled. + The storage pointers were being released when they should not + have been. + + Apply the patch with: + + patch -p0 <1.36.2-reschedule.patch + make + ... + +Index: src/dird/dird.h +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/dird/dird.h,v +retrieving revision 1.7 +diff -u -r1.7 dird.h +--- src/dird/dird.h 19 Apr 2004 14:27:00 -0000 1.7 ++++ src/dird/dird.h 18 Mar 2005 17:39:38 -0000 +@@ -45,3 +45,4 @@ + + /* From job.c */ + void dird_free_jcr(JCR *jcr); ++void dird_free_jcr_pointers(JCR *jcr); +Index: src/dird/job.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/dird/job.c,v +retrieving revision 1.92.2.2 +diff -u -r1.92.2.2 job.c +--- src/dird/job.c 27 Feb 2005 21:53:28 -0000 1.92.2.2 ++++ src/dird/job.c 18 Mar 2005 17:39:38 -0000 +@@ -676,15 +676,9 @@ + } + } + +-/* +- * Free the Job Control Record if no one is still using it. +- * Called from main free_jcr() routine in src/lib/jcr.c so +- * that we can do our Director specific cleanup of the jcr. +- */ +-void dird_free_jcr(JCR *jcr) ++/* Called directly from job rescheduling */ ++void dird_free_jcr_pointers(JCR *jcr) + { +- Dmsg0(200, "Start dird free_jcr\n"); +- + if (jcr->sd_auth_key) { + free(jcr->sd_auth_key); + jcr->sd_auth_key = NULL; +@@ -723,7 +717,21 @@ + } + if (jcr->term_wait_inited) { + pthread_cond_destroy(&jcr->term_wait); ++ jcr->term_wait_inited = false; + } ++} ++ ++/* ++ * Free the Job Control Record if no one is still using it. ++ * Called from main free_jcr() routine in src/lib/jcr.c so ++ * that we can do our Director specific cleanup of the jcr. ++ */ ++void dird_free_jcr(JCR *jcr) ++{ ++ Dmsg0(200, "Start dird free_jcr\n"); ++ ++ dird_free_jcr_pointers(jcr); ++ + /* Delete lists setup to hold storage pointers */ + for (int i=0; istorage[i]) { +Index: src/dird/jobq.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/dird/jobq.c,v +retrieving revision 1.25.4.2 +diff -u -r1.25.4.2 jobq.c +--- src/dird/jobq.c 15 Feb 2005 11:51:03 -0000 1.25.4.2 ++++ src/dird/jobq.c 18 Mar 2005 17:39:38 -0000 +@@ -481,7 +481,7 @@ + bstrftime(dt, sizeof(dt), time(NULL)); + Jmsg(jcr, M_INFO, 0, _("Rescheduled Job %s at %s to re-run in %d seconds.\n"), + jcr->Job, dt, (int)jcr->job->RescheduleInterval); +- dird_free_jcr(jcr); /* partial cleanup old stuff */ ++ dird_free_jcr_pointers(jcr); /* partial cleanup old stuff */ + jcr->JobStatus = JS_WaitStartTime; + jcr->SDJobStatus = 0; + if (jcr->JobBytes == 0) { diff --git a/bacula/patches/1.36.2/1.36.2-restore-speed.patch b/bacula/patches/1.36.2/1.36.2-restore-speed.patch new file mode 100644 index 0000000000..4acae6c998 --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-restore-speed.patch @@ -0,0 +1,120 @@ + + This patch will fix a subtle bug that was introduced in 1.36.2 + which causes Bacula to be very slow restoring a few files. This + is because it reads completely to the end of the Volume rather + than stopping when all the files on the Volume are loaded. The + introduction of the bug was caused by a patch that fixed + Bacula truncating tapes after a restore. + + Apply the patch to 1.36.2 with the following: + + cd + patch -p0 <1.36.2-restore-speed.patch + make + ... + + Note that all source files will be rebuilt during the make. + +Index: src/jcr.h +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/jcr.h,v +retrieving revision 1.76.4.1 +diff -u -u -b -r1.76.4.1 jcr.h +--- src/jcr.h 27 Feb 2005 21:53:28 -0000 1.76.4.1 ++++ src/jcr.h 17 Mar 2005 14:14:18 -0000 +@@ -243,6 +243,7 @@ + + /* Parmaters for Open Read Session */ + BSR *bsr; /* Bootstrap record -- has everything */ ++ bool mount_next_volume; /* set to cause next volume mount */ + uint32_t read_VolSessionId; + uint32_t read_VolSessionTime; + uint32_t read_StartFile; +Index: src/stored/read_record.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/stored/read_record.c,v +retrieving revision 1.47.4.1 +diff -u -u -b -r1.47.4.1 read_record.c +--- src/stored/read_record.c 15 Feb 2005 11:51:04 -0000 1.47.4.1 ++++ src/stored/read_record.c 17 Mar 2005 14:14:18 -0000 +@@ -5,13 +5,16 @@ + * archive. It uses a callback to pass you each record in turn, + * as well as a callback for mounting the next tape. It takes + * care of reading blocks, applying the bsr, ... ++ * Note, this routine is really the heart of the restore routines, ++ * and we are *really* bit pushing here so be careful about making ++ * any modifications. + * + * Kern E. Sibbald, August MMII + * +- * Version $Id$ ++ * Version $Id$ + */ + /* +- Copyright (C) 2000-2004 Kern Sibbald and John Walker ++ Copyright (C) 2000-2005 Kern Sibbald + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as +@@ -57,6 +60,7 @@ + + recs = New(dlist(rec, &rec->link)); + position_to_first_file(jcr, dev); ++ jcr->mount_next_volume = false; + + for ( ; ok && !done; ) { + if (job_canceled(jcr)) { +@@ -66,12 +70,11 @@ + if (!read_block_from_device(dcr, CHECK_BLOCK_NUMBERS)) { + if (dev->at_eot()) { + DEV_RECORD *trec = new_record(); +- + Jmsg(jcr, M_INFO, 0, "End of Volume at file %u on device %s, Volume \"%s\"\n", + dev->file, dev_name(dev), dcr->VolumeName); + if (!mount_cb(dcr)) { + Jmsg(jcr, M_INFO, 0, "End of all volumes.\n"); +- ok = false; ++ ok = false; /* Stop everything */ + /* + * Create EOT Label so that Media record may + * be properly updated because this is the last +@@ -81,8 +84,13 @@ + trec->File = dev->file; + ok = record_cb(dcr, trec); + free_record(trec); ++ if (jcr->mount_next_volume) { ++ jcr->mount_next_volume = false; ++ dev->state &= ~ST_EOT; ++ } + break; + } ++ jcr->mount_next_volume = false; + /* + * We just have a new tape up, now read the label (first record) + * and pass it off to the callback routine, then continue +@@ -113,10 +121,10 @@ + display_tape_error_status(jcr, dev); + if (forge_on || jcr->ignore_label_errors) { + fsr_dev(dev, 1); /* try skipping bad record */ +- Dmsg0(000, "Did fsr\n"); ++ Pmsg0(000, "Did fsr\n"); + continue; /* try to continue */ + } +- ok = false; ++ ok = false; /* stop everything */ + break; + } + } +@@ -259,7 +267,11 @@ + Dmsg2(300, "Current postion (file:block) %d:%d\n", + dev->file, dev->block_num); + jcr->bsr->mount_next_volume = false; +-// dev->state |= ST_EOT; ++ if (!dev->at_eot()) { ++ /* Set EOT flag to force mount of next Volume */ ++ jcr->mount_next_volume = true; ++ dev->state |= ST_EOT; ++ } + rec->Block = 0; + return 1; + } diff --git a/bacula/patches/1.36.2/1.36.2-store.patch b/bacula/patches/1.36.2/1.36.2-store.patch new file mode 100644 index 0000000000..4bf000c8d8 --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-store.patch @@ -0,0 +1,29 @@ + + This patch fails a job if no Storage resource is specified and + the job attempts to call the SD. + + Apply the patch to 1.36.2 with: + + cd + patch -p0 <1.36.2-store.patch + make + ... + +Index: src/dird/msgchan.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/dird/msgchan.c,v +retrieving revision 1.32.4.1 +diff -u -r1.32.4.1 msgchan.c +--- src/dird/msgchan.c 14 Feb 2005 10:02:21 -0000 1.32.4.1 ++++ src/dird/msgchan.c 18 Mar 2005 15:40:53 -0000 +@@ -66,6 +66,10 @@ + BSOCK *sd; + STORE *store; + ++ if (!jcr->storage[0]) { ++ Jmsg(jcr, M_FATAL, 0, _("Attempt to contact the Storage daemon with no Storage resource.\n")); ++ return false; ++ } + store = (STORE *)jcr->storage[0]->first(); + + /* diff --git a/bacula/patches/1.36.2/1.36.2-tray-monitor-memleak.patch b/bacula/patches/1.36.2/1.36.2-tray-monitor-memleak.patch new file mode 100644 index 0000000000..54f384612e --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-tray-monitor-memleak.patch @@ -0,0 +1,92 @@ + + This patch should fix memory leaks in tray-monitor. + Apply the patch to 1.36.2 with: + + cd /src/tray-monitor + patch -p0 <1.36.2-tray-monitor-memleak.patch + make + ... + +Index: tray-monitor.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/tray-monitor/tray-monitor.c,v +retrieving revision 1.19 +diff -r1.19 tray-monitor.c +36a37,38 +> #define TRAY_DEBUG_MEMORY 0 +> +50d51 +< static POOLMEM *args; +135a137,157 +> int sm_line = 0; +> +> #if TRAY_DEBUG_MEMORY +> gpointer smt_malloc(gsize n_bytes) { +> return sm_malloc("GLib", sm_line, n_bytes); +> } +> +> gpointer smt_realloc(gpointer mem, gsize n_bytes) { +> return sm_realloc("GLib", sm_line, mem, n_bytes); +> } +> +> gpointer smt_calloc(gsize n_blocks, +> gsize n_block_bytes) { +> return sm_calloc("GLib", sm_line, n_blocks, n_block_bytes); +> } +> +> void smt_free(gpointer mem) { +> sm_free("Glib", sm_line, mem); +> } +> #endif +> +142a165,175 +> #if TRAY_DEBUG_MEMORY +> GMemVTable smvtable; +> smvtable.malloc = &smt_malloc; +> smvtable.realloc = &smt_realloc; +> smvtable.free = &smt_free; +> smvtable.calloc = &smt_calloc; +> smvtable.try_malloc = NULL; +> smvtable.try_realloc = NULL; +> g_mem_set_vtable(&smvtable); +> #endif +> +154d186 +< args = get_pool_memory(PM_FNAME); +255c287 +< g_assert((xpm_generic_var[i] = (char*)g_malloc(strlen(xpm_generic[i])*sizeof(char)))); +--- +> g_assert((xpm_generic_var[i] = (char*)g_malloc((strlen(xpm_generic[i])+1)*sizeof(char)))); +412a445,448 +> +> g_source_remove(timerTag); +> +> sm_line = 0; +422d457 +< free_pool_memory(args); +429a465,468 +> +> gtk_object_destroy(GTK_OBJECT(window)); +> gtk_object_destroy(GTK_OBJECT(mTrayMenu)); +> term_msg(); +430a470,473 +> #if TRAY_DEBUG_MEMORY +> sm_dump(false); +> #endif +> +534c577,581 +< GtkTextBuffer *newbuffer = gtk_text_buffer_new(NULL); +--- +> sm_line++; +> #if TRAY_DEBUG_MEMORY +> printf("sm_line=%d\n", sm_line); +> #endif +> GtkTextBuffer *newbuffer; +546a594,595 +> newbuffer = gtk_text_buffer_new(NULL); +> +558a608,609 +> g_slist_free(list); +> +963a1015 +> g_object_unref(G_OBJECT(pixbuf)); diff --git a/bacula/patches/1.36.2/1.36.2-win32-drive.patch b/bacula/patches/1.36.2/1.36.2-win32-drive.patch new file mode 100644 index 0000000000..373f04ee6e --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-win32-drive.patch @@ -0,0 +1,32 @@ + + This patch will prevent the Win32 FD from printing an error message + when it attempts to restore the permissions for a drive (which Win32 + doesn't permit). The error is harmless in any case. + Apply the patch to 1.36.2 with + + cd + patch -p0 <1.36.2-win32-drive.patch + make + ... + + +Index: src/findlib/create_file.c +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/findlib/create_file.c,v +retrieving revision 1.34 +diff -u -r1.34 create_file.c +--- src/findlib/create_file.c 27 Jul 2004 21:00:33 -0000 1.34 ++++ src/findlib/create_file.c 9 Mar 2005 17:52:50 -0000 +@@ -271,6 +271,12 @@ + if ((bopen(bfd, attr->ofname, O_WRONLY|O_BINARY, 0)) < 0) { + berrno be; + be.set_errno(bfd->berrno); ++#ifdef HAVE_WIN32 ++ /* Check for trying to create a drive, if so, skip */ ++ if (attr->ofname[1] == ':' && attr->ofname[2] == '/' && attr->ofname[3] == 0) { ++ return CF_SKIP; ++ } ++#endif + Jmsg2(jcr, M_ERROR, 0, _("Could not open %s: ERR=%s\n"), + attr->ofname, be.strerror()); + return CF_ERROR; diff --git a/bacula/patches/1.36.2/1.36.2-wx-console-bugfixes.diff b/bacula/patches/1.36.2/1.36.2-wx-console-bugfixes.diff new file mode 100644 index 0000000000..26e385a32f --- /dev/null +++ b/bacula/patches/1.36.2/1.36.2-wx-console-bugfixes.diff @@ -0,0 +1,123 @@ +Index: CHANGELOG +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/wx-console/CHANGELOG,v +retrieving revision 1.42.8.2 +retrieving revision 1.42 +diff -r1.42.8.2 -r1.42 +1,9d0 +< 24-03-2005 : +< - wxbMainFrame : Fix a bug with GTK+-1.2 which caused wx-console to crash +< when starting. +< - wxbRestorePanel : Fix a major bug which caused wx-console to enter in an +< infinite loop which allocate a lot of memory and could make the system crash. +< +< 10-03-2005 : +< - wxbMainFrame : Fix bug #0000221 (Debian 292517) +< +Index: wxbmainframe.cpp +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/wx-console/wxbmainframe.cpp,v +retrieving revision 1.30.6.2 +retrieving revision 1.30 +diff -r1.30.6.2 -r1.30 +7c7 +< * Version $Id$ +--- +> * Version $Id$ +210,211d209 +< lockedbyconsole = false; +< +317a316,317 +> lockedbyconsole = false; +> +650,651c650,651 +< if (res == -1) { //Cancel pressed +< Send(".\n"); +--- +> if (res == -1) { +> Send("\n"); +Index: wxbrestorepanel.cpp +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/wx-console/wxbrestorepanel.cpp,v +retrieving revision 1.40.8.1 +retrieving revision 1.40 +diff -r1.40.8.1 -r1.40 +7c7 +< * Version $Id$ +--- +> * Version $Id$ +411c411 +< markWhenCommandDone = false; +--- +> markWhenListingDone = false; +1987a1988 +> AddPendingEvent(event); +1996a1998 +> AddPendingEvent(event); +2002a2005 +> AddPendingEvent(event); +2015a2019 +> AddPendingEvent(event); +2024c2028 +< markWhenCommandDone = false; +--- +> markWhenListingDone = false; +2028c2032 +< if (markWhenCommandDone) { +--- +> if (markWhenListingDone) { +2041a2046 +> csprint("Tree marked", CS_DEBUG); +2044c2049 +< markWhenCommandDone = !markWhenCommandDone; +--- +> markWhenListingDone = !markWhenListingDone; +2045a2051 +> AddPendingEvent(event); +2049d2054 +< markWhenCommandDone = false; +2051,2054c2056 +< if (markWhenCommandDone) { +< CmdMark(event.GetItem(), NULL, 0); +< tree->Refresh(); +< } +--- +> //event.Skip(); +2065a2068 +> AddPendingEvent(event); +2080a2084 +> AddPendingEvent(event); +2095a2100 +> AddPendingEvent(event); +2105a2111,2112 +> AddPendingEvent(event); +> //event.Skip(); +2125c2132 +< +--- +> +2140a2148,2149 +> AddPendingEvent(event); +> //event.Skip(); +2176a2186 +> AddPendingEvent(event); +2212a2223 +> AddPendingEvent(event); +2241a2253 +> AddPendingEvent(event); +2270a2283 +> AddPendingEvent(event); +Index: wxbrestorepanel.h +=================================================================== +RCS file: /cvsroot/bacula/bacula/src/wx-console/wxbrestorepanel.h,v +retrieving revision 1.19.10.1 +retrieving revision 1.19 +diff -r1.19.10.1 -r1.19 +7c7 +< * Version $Id$ +--- +> * Version $Id$ +154c154 +< bool markWhenCommandDone; //If an item should be (un)marked after the current listing/marking is done +--- +> bool markWhenListingDone; diff --git a/bacula/patches/1.36.2/patches-1.36.2 b/bacula/patches/1.36.2/patches-1.36.2 new file mode 100644 index 0000000000..05e2c48713 --- /dev/null +++ b/bacula/patches/1.36.2/patches-1.36.2 @@ -0,0 +1,47 @@ + +04Mar05 1.36.2-level.patch + This patch should fix a problem with th %l editing in the + client (FD) where it edited nothing. With this fix, it should + edit "since". + +04Mar05 1.36.2-pool.patch + This patch corrects a problem preventing multiple + simultaneous jobs from different pools. + +09Mar05 1.36.2-win32-drive.patch + This patch will prevent the Win32 FD from printing an error message + when it attempts to restore the permissions for a drive (which Win32 + doesn't permit). The error is harmless in any case. + +15Mar05 1.36.2-netbsd.patch + This patch corrects a compile problem because of no statfs() + on NetBSD. The patch was submitted by kardel with bug 258. + +16Mar05 1.36.2-console.patch + This patch causes the output directed to a file to be + flushed after every line. This is a bit overkill, IMO, but + a user complained about it. + +17Mar05 1.36.2-restore-speed.patch + This patch will fix a subtle bug that was introduced in 1.36.2 + which causes Bacula to be very slow restoring a few files. This + is because it reads completely to the end of the Volume rather + than stopping when all the files on the Volume are loaded. The + introduction of the bug was caused by a patch that fixed + Bacula truncating tapes after a restore. + Note that all source files will be rebuilt during the make. + +18Mar05 1.36.2-store.patch + This patch fails a job if no Storage resource is specified and + the job attempts to call the SD. + +18Mar05 1.36.2-reschedule.patch + This patch should fix a Segfault bug when a job is rescheduled. + The storage pointers were being released when they should not + have been. + +24Mar05 1.36.2-wx-console-bugfixes.patch + Major wx-console fixes (see src/wx-console/CHANGELOG for details). + +28Mar05 1.36.2-tray-monitor-memleak.patch + This patch should fix memory leaks in tray-monitor. -- 2.39.5