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"