pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/amanda-server Prevent amverify from looping f...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a76a6de2e557
branches:  trunk
changeset: 523286:a76a6de2e557
user:      obache <obache%pkgsrc.org@localhost>
date:      Fri Jan 05 13:20:54 2007 +0000

description:
Prevent amverify from looping forever. Patch provided by Jean-Louis
Martineau on amanda-users:
http://groups.yahoo.com/group/amanda-users/message/55099
Pointed out by Jukka Salmi in PR 35361.

diffstat:

 sysutils/amanda-server/Makefile         |   4 +-
 sysutils/amanda-server/distinfo         |   4 +-
 sysutils/amanda-server/patches/patch-an |  78 +++++++++++++++++++++++++++++++++
 sysutils/amanda-server/patches/patch-ao |  26 +++++++++++
 4 files changed, 109 insertions(+), 3 deletions(-)

diffs (140 lines):

diff -r c2bc8c0bc3d6 -r a76a6de2e557 sysutils/amanda-server/Makefile
--- a/sysutils/amanda-server/Makefile   Fri Jan 05 12:47:27 2007 +0000
+++ b/sysutils/amanda-server/Makefile   Fri Jan 05 13:20:54 2007 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.38 2006/05/26 13:19:38 joerg Exp $
+# $NetBSD: Makefile,v 1.39 2007/01/05 13:20:54 obache Exp $
 
 PKGNAME=               amanda-server-${VERS}
-PKGREVISION=           4
+PKGREVISION=           5
 SVR4_PKGNAME=          amase
 
 COMMENT=               Server part of Amanda, a network backup system
diff -r c2bc8c0bc3d6 -r a76a6de2e557 sysutils/amanda-server/distinfo
--- a/sysutils/amanda-server/distinfo   Fri Jan 05 12:47:27 2007 +0000
+++ b/sysutils/amanda-server/distinfo   Fri Jan 05 13:20:54 2007 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.9 2006/01/22 04:36:55 joerg Exp $
+$NetBSD: distinfo,v 1.10 2007/01/05 13:20:54 obache Exp $
 
 SHA1 (amanda-2.4.4p4.tar.gz) = e44b40ea0f8e51336716ab455b27c69f4616d7f6
 RMD160 (amanda-2.4.4p4.tar.gz) = d145a5ebb0df340af6aee0e8a15da6b54dfb3051
@@ -16,3 +16,5 @@
 SHA1 (patch-ak) = 9555f098dc705a7af9004e6fd3d4d259705a9935
 SHA1 (patch-al) = dfd85511e2441be2f4a7428ee964310f3fd5374c
 SHA1 (patch-am) = 4949524ff94afa54c0c5ad7cd4bb673c51f73815
+SHA1 (patch-an) = a7a6d2777e94d06eba8bf51857b95043a65be6e4
+SHA1 (patch-ao) = 553a724fbe3422397ea9473c7d59b1139eca224f
diff -r c2bc8c0bc3d6 -r a76a6de2e557 sysutils/amanda-server/patches/patch-an
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/amanda-server/patches/patch-an   Fri Jan 05 13:20:54 2007 +0000
@@ -0,0 +1,78 @@
+$NetBSD: patch-an,v 1.1 2007/01/05 13:20:54 obache Exp $
+
+Prevent amverify from looping forever. Patch provided by Jean-Louis
+Martineau on amanda-users:
+http://groups.yahoo.com/group/amanda-users/message/55099
+
+--- restore-src/amrestore.c.orig       2003-02-10 15:22:11.000000000 +0000
++++ restore-src/amrestore.c
+@@ -482,6 +482,7 @@ char **argv;
+     char *e;
+     char *err;
+     char *label = NULL;
++    int count_error;
+ 
+     for(fd = 3; fd < FD_SETSIZE; fd++) {
+       /*
+@@ -667,25 +668,29 @@ char **argv;
+                       get_pname());
+     }
+ 
+-    while(file.type == F_TAPESTART || file.type == F_DUMPFILE) {
+-      amfree(filename);
+-      filename = make_filename(&file);
++    count_error=0;
++    while(count_error < 10) {
++      if(file.type == F_TAPEEND) break;
+       found_match = 0;
+-      for(me = match_list; me; me = me->next) {
+-          if(disk_match(&file,me->datestamp,me->hostname,me->diskname) != 0) {
+-              found_match = 1;
+-              break;
++      if(file.type == F_DUMPFILE) {
++          amfree(filename);
++          filename = make_filename(&file);
++          for(me = match_list; me; me = me->next) {
++              if(disk_match(&file,me->datestamp,me->hostname,me->diskname) != 0) {
++                  found_match = 1;
++                  break;
++              }
++          }
++          fprintf(stderr, "%s: %3d: %s ",
++                          get_pname(),
++                          file_number,
++                          found_match ? "restoring" : "skipping");
++          if(file.type != F_DUMPFILE) {
++              print_header(stderr, &file);
++          } else {
++              fprintf(stderr, "%s\n", filename);
+           }
+       }
+-      fprintf(stderr, "%s: %3d: %s ",
+-                      get_pname(),
+-                      file_number,
+-                      found_match ? "restoring" : "skipping");
+-      if(file.type != F_DUMPFILE) {
+-          print_header(stderr, &file);
+-      } else {
+-          fprintf(stderr, "%s\n", filename);
+-      }
+       if(found_match) {
+           restore(&file, filename, isafile);
+           if(compress_pid > 0) {
+@@ -718,6 +723,7 @@ char **argv;
+           if((tapedev = tape_open(tapename, 0)) < 0) {
+               error("could not open %s: %s", tapename, strerror(errno));
+           }
++          count_error++;
+       } else {
+           /*
+            * If the last read got something (even an error), we can
+@@ -726,6 +732,7 @@ char **argv;
+           if(tapefd_fsf(tapedev, 1) < 0) {
+               error("could not fsf %s: %s", tapename, strerror(errno));
+           }
++          count_error=0;
+       }
+       file_number++;
+       read_file_header(&file, isafile);
diff -r c2bc8c0bc3d6 -r a76a6de2e557 sysutils/amanda-server/patches/patch-ao
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/amanda-server/patches/patch-ao   Fri Jan 05 13:20:54 2007 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-ao,v 1.1 2007/01/05 13:20:54 obache Exp $
+
+Prevent amverify from looping forever. Patch provided by Jean-Louis
+Martineau on amanda-users:
+http://groups.yahoo.com/group/amanda-users/message/55099
+
+--- server-src/amverify.sh.in.orig     2004-10-04 11:47:06.000000000 +0000
++++ server-src/amverify.sh.in
+@@ -428,6 +428,7 @@ while [ $SLOT -lt $SLOTS ]; do
+               FILE=`grep restoring $TEMP/amrestore.out \
+                       | sed 's/^.*restoring //'`
+               EOF=`grep "reached end of tape" $TEMP/amrestore.out`
++              EOI=`grep "reached end of information" $TEMP/amrestore.out`
+               # amrestore:   0: restoring sundae._mnt_sol1_usr.19961127.1
+               if [ X"$FILE" != X"" -a X"$RESULT" = X"0" ]; then
+                       report "Checked $FILE"
+@@ -436,6 +437,9 @@ while [ $SLOT -lt $SLOTS ]; do
+               elif [ -n "$EOF" ]; then
+                       report "End-of-Tape detected."
+                       break
++              elif [ -n "$EOI" ]; then
++                      report "End-of-Information detected."
++                      break
+               else
+                       report "** Error detected ($FILE)"
+                       echo "$VOLUME ($FILE):" >>$DEFECTS



Home | Main Index | Thread Index | Old Index