Hi,
this is the patch for dumpscan-1.2 that fixes some annoying problems in compiling on Linux (debian/libopenafs-dev 1.4.2-6).

Sorry in case openafs-devel is not the right place where to post this patch.

Ciao,
                        Alberto.


I'll be happy to accept patches to improve the build system.


 but does not recognize my dumps

 ----------------------------------------------------------------------
 afsdump_dirlist: Bad magic number in AFS volume dump Invalid page tag
 (41235) in page 0
 *** 1 errors
 *** FAILED: Bad magic number in AFS volume dump
 ----------------------------------------------------------------------
 My mistake ?

afsdump_dirlist operates on a file containing a directory as it appears on the wire (and, coincidentally, on the fileserver and in the cache). It does not operate on whole dumps. To get a listing of all the directories in a volume dump, try something like

afsdump_scan -Pvd <file>

-- Jeff

diff -ru dumpscan-1.2-orig/Makefile dumpscan-1.2/Makefile
--- dumpscan-1.2-orig/Makefile  2006-05-30 00:18:47.000000000 +0200
+++ dumpscan-1.2/Makefile       2007-07-02 23:57:52.000000000 +0200
@@ -31,24 +31,27 @@
 # On Linux:
 ifeq ($(shell uname),Linux)
 R=-Wl,-rpath,
+AFSLIB_PATH=/usr/lib/afs
+XLIBS    = /usr/lib/libcom_err.a -lresolv
 endif
 
 # On Solaris:
 ifeq ($(shell uname),SunOS)
 R        = -R
 XLDFLAGS = -L/usr/ucblib -R/usr/ucblib
-XLIBS    = -lsocket -lnsl -lucb -lresolv
+AFSLIB_PATH=/usr/local/lib/afs
+XLIBS    = -lcom_err -lsocket -lnsl -lucb -lresolv
 endif
 
 DEBUG      = -g
 INCLUDES   = -I/usr/local/include
 CFLAGS     = $(DEBUG) $(INCLUDES)
-LDFLAGS    = -L. -L/usr/local/lib $(R)/usr/local/lib -L/usr/local/lib/afs 
$(XLDFLAGS)
+LDFLAGS    = -L. -L/usr/local/lib $(R)/usr/local/lib -L$(AFSLIB_PATH) 
$(XLDFLAGS)
 
 LIBS                 = -ldumpscan -lxfiles \
                        -lauth -laudit -lvolser -lvldb -lubik -lrxkad \
-                       /usr/local/lib/afs/libsys.a -lrx -llwp \
-                       /usr/local/lib/afs/util.a -lcom_err $(XLIBS)
+                       ${AFSLIB_PATH}/libsys.a -lrx -llwp \
+                       ${AFSLIB_PATH}/util.a $(XLIBS)
 OBJS_afsdump_scan    = afsdump_scan.o repair.o
 OBJS_afsdump_xsed    = afsdump_xsed.o repair.o
 OBJS_libxfiles.a     = xfiles.o xfopen.o xf_errs.o xf_printf.o int64.o \
diff -ru dumpscan-1.2-orig/parsedump.c dumpscan-1.2/parsedump.c
--- dumpscan-1.2-orig/parsedump.c       2004-09-14 21:44:30.000000000 +0200
+++ dumpscan-1.2/parsedump.c    2007-07-03 00:00:34.000000000 +0200
@@ -26,6 +26,8 @@
  * the rights to redistribute these changes.
  */
 
+#include <string.h>
+
 /* parsedump.c - Parse a volume dump file */
 
 #include "dumpscan.h"
diff -ru dumpscan-1.2-orig/parsevnode.c dumpscan-1.2/parsevnode.c
--- dumpscan-1.2-orig/parsevnode.c      2006-05-29 23:32:59.000000000 +0200
+++ dumpscan-1.2/parsevnode.c   2007-07-03 00:01:09.000000000 +0200
@@ -31,6 +31,7 @@
 #include <sys/types.h>
 #include <netinet/in.h>
 #include <errno.h>
+#include <string.h>
 
 #include "dumpscan.h"
 #include "dumpscan_errs.h"
diff -ru dumpscan-1.2-orig/parsevol.c dumpscan-1.2/parsevol.c
--- dumpscan-1.2-orig/parsevol.c        2006-05-29 23:12:13.000000000 +0200
+++ dumpscan-1.2/parsevol.c     2007-07-03 00:01:01.000000000 +0200
@@ -26,6 +26,7 @@
  * the rights to redistribute these changes.
  */
 
+#include <string.h>
 /* parsevol.c - Parse a volume header */
 
 #include "dumpscan.h"
diff -ru dumpscan-1.2-orig/repair.c dumpscan-1.2/repair.c
--- dumpscan-1.2-orig/repair.c  2001-12-30 00:26:56.000000000 +0100
+++ dumpscan-1.2/repair.c       2007-07-03 00:01:24.000000000 +0200
@@ -33,6 +33,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
+#include <string.h>
 
 #include "dumpscan.h"
 #include "dumpscan_errs.h"
diff -ru dumpscan-1.2-orig/util.c dumpscan-1.2/util.c
--- dumpscan-1.2-orig/util.c    2004-07-30 00:22:09.000000000 +0200
+++ dumpscan-1.2/util.c 2007-07-03 00:00:13.000000000 +0200
@@ -29,6 +29,7 @@
 /* util.c - Useful utilities */
 
 #include <errno.h>
+#include <string.h>
 
 #include "xf_errs.h"
 #include "dumpscan.h"
diff -ru dumpscan-1.2-orig/xf_files.c dumpscan-1.2/xf_files.c
--- dumpscan-1.2-orig/xf_files.c        2004-09-14 21:44:17.000000000 +0200
+++ dumpscan-1.2/xf_files.c     2007-07-02 23:59:49.000000000 +0200
@@ -32,6 +32,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <string.h>
 
 #include "xfiles.h"
 #include "xf_errs.h"
diff -ru dumpscan-1.2-orig/xfopen.c dumpscan-1.2/xfopen.c
--- dumpscan-1.2-orig/xfopen.c  2003-02-09 02:32:18.000000000 +0100
+++ dumpscan-1.2/xfopen.c       2007-07-02 23:58:48.000000000 +0200
@@ -30,7 +30,7 @@
 #include <sys/types.h>
 #include <string.h>
 #include <errno.h>
-
+#include <stdlib.h>
 #include "xfiles.h"
 #include "xf_errs.h"
 
diff -ru dumpscan-1.2-orig/xf_printf.c dumpscan-1.2/xf_printf.c
--- dumpscan-1.2-orig/xf_printf.c       2003-02-09 01:01:16.000000000 +0100
+++ dumpscan-1.2/xf_printf.c    2007-07-02 23:59:24.000000000 +0200
@@ -33,6 +33,8 @@
 #include <netinet/in.h>
 #include <netdb.h>
 #include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
 
 #include "xfiles.h"
 #include "xf_errs.h"

Reply via email to