aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/recoverdm/Makefile21
-rw-r--r--sysutils/recoverdm/distinfo3
-rw-r--r--sysutils/recoverdm/files/patch-Makefile38
-rw-r--r--sysutils/recoverdm/files/patch-io.c16
-rw-r--r--sysutils/recoverdm/files/patch-mergebad.c33
-rw-r--r--sysutils/recoverdm/files/patch-recoverdm.c38
-rw-r--r--sysutils/recoverdm/files/patch-utils.h15
-rw-r--r--sysutils/recoverdm/pkg-descr16
-rw-r--r--sysutils/recoverdm/pkg-plist2
10 files changed, 183 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index cd05a0e85c3..bf89efa5ed3 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -449,6 +449,7 @@
SUBDIR += rdiff-backup
SUBDIR += rdiff-backup-devel
SUBDIR += readlink
+ SUBDIR += recoverdm
SUBDIR += reed
SUBDIR += rej
SUBDIR += relaxconf
diff --git a/sysutils/recoverdm/Makefile b/sysutils/recoverdm/Makefile
new file mode 100644
index 00000000000..f68b494a8e9
--- /dev/null
+++ b/sysutils/recoverdm/Makefile
@@ -0,0 +1,21 @@
+# New ports collection makefile for: recoverdm
+# Date created: 22 January 2004
+# Whom: Jeffrey H. Johnson <CPE1704TKS@bellsouth.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME= recoverdm
+PORTVERSION= 0.19
+CATEGORIES= sysutils
+MASTER_SITES= http://www.vanheusden.com/recoverdm/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= CPE1704TKS@bellsouth.net
+COMMENT= Recover files and discs with damaged sectors
+
+MAN1= recoverdm.1
+
+PLIST_FILES= bin/mergebad bin/recoverdm
+
+.include <bsd.port.mk>
diff --git a/sysutils/recoverdm/distinfo b/sysutils/recoverdm/distinfo
new file mode 100644
index 00000000000..90f4d738864
--- /dev/null
+++ b/sysutils/recoverdm/distinfo
@@ -0,0 +1,3 @@
+SIZE (recoverdm-0.19.tgz) = 9806
+MD5 (recoverdm-0.19.tgz) = f24050f1ab83584a2bf07e0ef6e5fc66
+SHA256 (recoverdm-0.19.tgz) = 6158eee718d172a655f6581cbda41bc2cc8a0438ce2ad08f2892cf8d31fbd9c5
diff --git a/sysutils/recoverdm/files/patch-Makefile b/sysutils/recoverdm/files/patch-Makefile
new file mode 100644
index 00000000000..002a6f885e2
--- /dev/null
+++ b/sysutils/recoverdm/files/patch-Makefile
@@ -0,0 +1,38 @@
+*** Makefile.orig Sun Jan 22 05:15:13 2006
+--- Makefile Sun Jan 22 05:22:31 2006
+***************
+*** 1,14 ****
+ VERSION=0.19
+
+! CFLAGS=-Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"$(VERSION)\"
+ LDFLAGS=
+
+ OBJSr=recoverdm.o dev.o io.o utils.o error.o
+ OBJSm=mergebad.o io.o utils.o error.o
+
+ all: recoverdm mergebad
+
+ recoverdm: $(OBJSr)
+ $(CC) -Wall -W $(OBJSr) $(LDFLAGS) -o recoverdm
+ strip recoverdm
+ echo
+--- 1,19 ----
+ VERSION=0.19
+
+! CFLAGS+=-Wall -DVERSION=\"$(VERSION)\"
+ LDFLAGS=
+
+ OBJSr=recoverdm.o dev.o io.o utils.o error.o
+ OBJSm=mergebad.o io.o utils.o error.o
+
+ all: recoverdm mergebad
++
++ install:
++ ${INSTALL} -m 755 recoverdm ${PREFIX}/bin
++ ${INSTALL} -m 755 mergebad ${PREFIX}/bin
++ ${INSTALL} -m 644 recoverdm.1 ${PREFIX}/man/man1
+
+ recoverdm: $(OBJSr)
+ $(CC) -Wall -W $(OBJSr) $(LDFLAGS) -o recoverdm
+ strip recoverdm
+ echo
diff --git a/sysutils/recoverdm/files/patch-io.c b/sysutils/recoverdm/files/patch-io.c
new file mode 100644
index 00000000000..bbdf98fe1f7
--- /dev/null
+++ b/sysutils/recoverdm/files/patch-io.c
@@ -0,0 +1,16 @@
+*** io.c.orig Sun Jan 22 05:18:41 2006
+--- io.c Sun Jan 22 05:18:54 2006
+***************
+*** 9,18 ****
+--- 9,19 ----
+ #include <sys/stat.h>
+
+ #include "io.h"
+ #include "error.h"
+ #include "gen.h"
++ #include "utils.h"
+
+ ssize_t READ(int fd, char *whereto, size_t len)
+ {
+ ssize_t cnt=0;
+
diff --git a/sysutils/recoverdm/files/patch-mergebad.c b/sysutils/recoverdm/files/patch-mergebad.c
new file mode 100644
index 00000000000..7317a12bbf0
--- /dev/null
+++ b/sysutils/recoverdm/files/patch-mergebad.c
@@ -0,0 +1,33 @@
+--- mergebad.c.orig Fri Dec 2 13:34:00 2005
++++ mergebad.c Mon Jan 23 17:00:14 2006
+@@ -193,7 +193,7 @@
+ bbs[n_bb].block_size = block_size;
+
+ if (verbose >= 4)
+- printf("%d] %lld %lld\n", n_bb, offset, block_size);
++ printf("%d] %lld %d\n", n_bb, offset, block_size);
+
+ n_bb++;
+ }
+@@ -293,7 +293,7 @@
+ }
+ else if (strcmp(argv[loop], "-o") == 0)
+ {
+- fd_out = open64(argv[++loop], O_WRONLY | O_CREAT | O_EXCL | O_SYNC, S_IRUSR | S_IWUSR);
++ fd_out = open64(argv[++loop], O_WRONLY | O_CREAT | O_EXCL | O_FSYNC, S_IRUSR | S_IWUSR);
+ if (fd_out == -1)
+ {
+ fprintf(stderr, "Failed to create file %s: %s (%d)\n", argv[loop], strerror(errno), errno);
+@@ -312,10 +312,10 @@
+ }
+ else if (strcmp(argv[loop], "-s") == 0)
+ {
+- length = atoll(argv[++loop]);
++ length = strtoll(argv[++loop], (char **)NULL, 10);
+
+ if (verbose)
+- printf("Length set to: %d\n", length);
++ printf("Length set to: %lld\n", length);
+ }
+ else if (strcmp(argv[loop], "-v") == 0)
+ {
diff --git a/sysutils/recoverdm/files/patch-recoverdm.c b/sysutils/recoverdm/files/patch-recoverdm.c
new file mode 100644
index 00000000000..a364c091e66
--- /dev/null
+++ b/sysutils/recoverdm/files/patch-recoverdm.c
@@ -0,0 +1,38 @@
+--- recoverdm.c.orig Fri Dec 2 13:34:00 2005
++++ recoverdm.c Mon Jan 23 16:51:28 2006
+@@ -179,7 +179,7 @@
+
+ if (rc == 0)
+ {
+- if (create_sector(sector_list, n_raw_retries, block_size, &dummy) == -1)
++ if (create_sector((unsigned char **)sector_list, n_raw_retries, block_size, &dummy) == -1)
+ rc = -1;
+ }
+
+@@ -261,7 +261,7 @@
+ case 'V':
+ return 0;
+ case 'b':
+- start_offset = atoll(optarg);
++ start_offset = strtoll(optarg, (char **)NULL, 10);
+ break;
+ case '?':
+ case 'h':
+@@ -295,7 +295,7 @@
+ buffer = (char *)mymalloc(block_size, "sectorbuffer");
+ buffer2 = (char *)mymalloc(block_size, "sectorbuffer for retries");
+
+- fdout = open64(file_out, O_WRONLY | O_CREAT | O_EXCL | O_SYNC, S_IRUSR | S_IWUSR);
++ fdout = open64(file_out, O_WRONLY | O_CREAT | O_EXCL | O_FSYNC, S_IRUSR | S_IWUSR);
+ if (fdout == -1)
+ {
+ printf("Cannot create file %s! (%s)\n", file_out, strerror(errno));
+@@ -430,7 +430,7 @@
+ /* always mark the sector as tricky */
+ if (dsecfile)
+ {
+- fprintf(dsecfile, "%lld %ld\n", curpos, block_size);
++ fprintf(dsecfile, "%lld %ld\n", curpos, (long)block_size);
+ fflush(dsecfile);
+ }
+
diff --git a/sysutils/recoverdm/files/patch-utils.h b/sysutils/recoverdm/files/patch-utils.h
new file mode 100644
index 00000000000..1e5e57bf0e9
--- /dev/null
+++ b/sysutils/recoverdm/files/patch-utils.h
@@ -0,0 +1,15 @@
+*** utils.h.orig Sun Jan 22 05:13:01 2006
+--- utils.h Sun Jan 22 05:20:11 2006
+***************
+*** 1,5 ****
+--- 1,10 ----
++ #define off64_t off_t
++ #define stat64 stat
++ #define open64 open
++ #define lseek64 lseek
++
+ void * mymalloc(size_t size, char *what);
+ void * myrealloc(void *oldp, size_t newsize, char *what);
+ off64_t get_filesize(char *filename);
+ int copy_block(int fd_in, int fd_out, off64_t block_size);
+ void myseek(int fd, off64_t offset);
diff --git a/sysutils/recoverdm/pkg-descr b/sysutils/recoverdm/pkg-descr
new file mode 100644
index 00000000000..0e0fcf13144
--- /dev/null
+++ b/sysutils/recoverdm/pkg-descr
@@ -0,0 +1,16 @@
+This program will help you recover disks with bad sectors.
+You can recover files as well complete devices.
+
+In case if finds sectors which simply cannot be recoverd, it writes an
+empty sector to the outputfile and continues. If you're recovering a CD
+or a DVD and the program cannot read the sector in "normal mode", then
+the program will try to read the sector in "RAW mode" (without error-checking
+etc.).
+
+This toolkit also has a utility called 'mergebad': mergebad merges multiple
+images into one. This can be usefull when you have, for example, multiple CD's
+with the same data which are all damaged. In such case, you can then first use
+recoverdm to retrieve the data from the damaged CD's into image-files and then
+combine them into one image with mergebad.
+
+WWW: http://www.vanheusden.com/recoverdm/
diff --git a/sysutils/recoverdm/pkg-plist b/sysutils/recoverdm/pkg-plist
new file mode 100644
index 00000000000..5130f40a348
--- /dev/null
+++ b/sysutils/recoverdm/pkg-plist
@@ -0,0 +1,2 @@
+bin/mergebad
+bin/recoverdm