aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/magicrescue/Makefile34
-rw-r--r--sysutils/magicrescue/distinfo2
-rw-r--r--sysutils/magicrescue/files/patch-magicsort20
-rw-r--r--sysutils/magicrescue/pkg-descr14
-rw-r--r--sysutils/magicrescue/pkg-plist35
6 files changed, 106 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 7ca2d54d7dec..82504bad2756 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -281,6 +281,7 @@
SUBDIR += ltrace
SUBDIR += luma
SUBDIR += lxsplit
+ SUBDIR += magicrescue
SUBDIR += maint
SUBDIR += makefs
SUBDIR += manck
diff --git a/sysutils/magicrescue/Makefile b/sysutils/magicrescue/Makefile
new file mode 100644
index 000000000000..1179d157bed8
--- /dev/null
+++ b/sysutils/magicrescue/Makefile
@@ -0,0 +1,34 @@
+# New ports collection makefile for: magicrescue
+# Date created: 18 Jul 2005
+# Whom: Emanuel Haupt <ehaupt@critical.ch>
+#
+# $FreeBSD$
+#
+
+PORTNAME= magicrescue
+PORTVERSION= 1.1.4
+CATEGORIES= sysutils
+MASTER_SITES= http://jbj.rapanden.dk/magicrescue/release/
+
+MAINTAINER= ehaupt@critical.ch
+COMMENT= A file recovery tool which recovers deleted files from a block device
+
+GNU_CONFIGURE= yes
+USE_REINPLACE= yes
+USE_PERL5_RUN= yes
+
+MAN1= dupemap.1 magicrescue.1 magicsort.1
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|^#!/usr/bin/env.*|#!${PERL}|' \
+ ${WRKSRC}/magicsort
+
+.if !defined(NOPORTDOCS)
+post-install:
+ ${MKDIR} ${DOCSDIR}
+.for f in NEWS README
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
+.endfor
+.endif
+
+.include <bsd.port.mk>
diff --git a/sysutils/magicrescue/distinfo b/sysutils/magicrescue/distinfo
new file mode 100644
index 000000000000..a5d197bff5c2
--- /dev/null
+++ b/sysutils/magicrescue/distinfo
@@ -0,0 +1,2 @@
+MD5 (magicrescue-1.1.4.tar.gz) = 1df1ca602732208adf48f17ab703e2b6
+SIZE (magicrescue-1.1.4.tar.gz) = 89965
diff --git a/sysutils/magicrescue/files/patch-magicsort b/sysutils/magicrescue/files/patch-magicsort
new file mode 100644
index 000000000000..dff60005d0c6
--- /dev/null
+++ b/sysutils/magicrescue/files/patch-magicsort
@@ -0,0 +1,20 @@
+--- magicsort.orig Mon Jul 18 11:55:35 2005
++++ magicsort Mon Jul 18 12:03:01 2005
+@@ -13,7 +13,7 @@
+ while (defined(my $file = readdir DH)) {
+ next unless -f $file;
+
+- open FILE, "-|", "file", $file or die "Executing file: $!\n";
++ open(FILE, 'file '.$file.'|') or die "Executing file: $!\n";
+ my $idstring = <FILE>;
+ close FILE;
+
+@@ -25,7 +25,7 @@
+ next;
+ }
+ my $dir = substr($idstring, length($file) + 2);
+- mkdir $dir;
++ mkdir $dir,0755;
+ rename $file, "$dir/$file" or warn "Cannot move $file: $!\n";
+ }
+
diff --git a/sysutils/magicrescue/pkg-descr b/sysutils/magicrescue/pkg-descr
new file mode 100644
index 000000000000..2aa5f29fa145
--- /dev/null
+++ b/sysutils/magicrescue/pkg-descr
@@ -0,0 +1,14 @@
+Magic Rescue scans a block device for file types it knows how to recover and
+calls an external program to extract them. It looks at "magic bytes" in file
+contents, so it can be used both as an undelete utility and for recovering a
+corrupted drive or partition. As long as the file data is there, it will
+find it.
+
+It works on any file system, but on very fragmented file systems it can only
+recover the first chunk of each file. Practical experience shows, however, that
+chunks of 30-50MB are not uncommon.
+
+WWW: http://jbj.rapanden.dk/magicrescue/
+
+- ehaupt
+ehaupt@critical.ch
diff --git a/sysutils/magicrescue/pkg-plist b/sysutils/magicrescue/pkg-plist
new file mode 100644
index 000000000000..ae72551f6513
--- /dev/null
+++ b/sysutils/magicrescue/pkg-plist
@@ -0,0 +1,35 @@
+bin/dupemap
+bin/magicrescue
+bin/magicsort
+%%DATADIR%%/recipes/avi
+%%DATADIR%%/recipes/elf
+%%DATADIR%%/recipes/gimp-xcf
+%%DATADIR%%/recipes/gpl
+%%DATADIR%%/recipes/gzip
+%%DATADIR%%/recipes/jpeg-exif
+%%DATADIR%%/recipes/jpeg-jfif
+%%DATADIR%%/recipes/mp3-id3v1
+%%DATADIR%%/recipes/mp3-id3v2
+%%DATADIR%%/recipes/msoffice
+%%DATADIR%%/recipes/perl
+%%DATADIR%%/recipes/png
+%%DATADIR%%/recipes/zip
+%%DATADIR%%/tools/checkrecipe
+%%DATADIR%%/tools/elfextract.pl
+%%DATADIR%%/tools/gimp-resave.pl
+%%DATADIR%%/tools/gzip_rename.pl
+%%DATADIR%%/tools/inputseek
+%%DATADIR%%/tools/laola.pl
+%%DATADIR%%/tools/mp3extract.pl
+%%DATADIR%%/tools/ole_rename.pl
+%%DATADIR%%/tools/oleextract.pl
+%%DATADIR%%/tools/pngextract.pl
+%%DATADIR%%/tools/safecat
+%%DATADIR%%/tools/script_rename.pl
+%%DATADIR%%/tools/textextract
+%%PORTDOCS%%%%DOCSDIR%%/NEWS
+%%PORTDOCS%%%%DOCSDIR%%/README
+@dirrm %%DATADIR%%/tools
+@dirrm %%DATADIR%%/recipes
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%