]> git.sur5r.net Git - bacula/bacula/commitdiff
Add new dir
authorKern Sibbald <kern@sibbald.com>
Tue, 26 Apr 2005 19:29:24 +0000 (19:29 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 26 Apr 2005 19:29:24 +0000 (19:29 +0000)
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 [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-level.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-netbsd.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-pool.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-reschedule.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-restore-speed.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-store.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-tray-monitor-memleak.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-win32-drive.patch [new file with mode: 0644]
bacula/patches/1.36.2/1.36.2-wx-console-bugfixes.diff [new file with mode: 0644]
bacula/patches/1.36.2/patches-1.36.2 [new file with mode: 0644]

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 (file)
index 0000000..b46228f
--- /dev/null
@@ -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 <bacula>
+ 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 (file)
index 0000000..33caf01
--- /dev/null
@@ -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 <bacula-source>
+ 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 (file)
index 0000000..33a0354
--- /dev/null
@@ -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 <bacula>
+ 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 <sys/param.h>
+@@ -77,7 +76,20 @@
+    Dmsg1(50, "statfs() failed for \"%s\"\n", fname);
+    return false;
+ }
++#elif defined(HAVE_NETBSD_OS)
++#include <sys/param.h>
++#include <sys/mount.h>
++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 (file)
index 0000000..eeb7d40
--- /dev/null
@@ -0,0 +1,26 @@
+
+ This patch corrects a problem preventing multiple 
+ simultaneous jobs from different pools.
+ Apply to 1.36.2 with:
+
+ cd <bacula-source>
+ 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 (file)
index 0000000..320dfaa
--- /dev/null
@@ -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; i<MAX_STORE; i++) {
+       if (jcr->storage[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 (file)
index 0000000..4acae6c
--- /dev/null
@@ -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 <bacula-source>
+ 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 (file)
index 0000000..4bf000c
--- /dev/null
@@ -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 <bacula-source>
+ 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 (file)
index 0000000..54f3846
--- /dev/null
@@ -0,0 +1,92 @@
+ This patch should fix memory leaks in tray-monitor.
+ Apply the patch to 1.36.2 with:
+
+ cd <bacula-source>/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 (file)
index 0000000..373f04e
--- /dev/null
@@ -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 <bacula-source>
+ patch -p0 <1.36.2-win32-drive.patch
+ make
+ ...<F12>
+
+
+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 (file)
index 0000000..26e385a
--- /dev/null
@@ -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 (file)
index 0000000..05e2c48
--- /dev/null
@@ -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.