aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/magicrescue
diff options
context:
space:
mode:
authorgarga <garga@FreeBSD.org>2005-07-19 20:17:18 +0800
committergarga <garga@FreeBSD.org>2005-07-19 20:17:18 +0800
commitb54ab25dc1b334c2e71ef7b49d35a5e213b94432 (patch)
tree9d21630a5653f8eb686f63793f9d474dc8177d27 /sysutils/magicrescue
parent1d78fee790bfc707d52d43b108d50ad3bf379211 (diff)
downloadfreebsd-ports-gnome-b54ab25dc1b334c2e71ef7b49d35a5e213b94432.tar.gz
freebsd-ports-gnome-b54ab25dc1b334c2e71ef7b49d35a5e213b94432.tar.zst
freebsd-ports-gnome-b54ab25dc1b334c2e71ef7b49d35a5e213b94432.zip
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. PR: ports/83666 Submitted by: Emanuel Haupt <ehaupt@mx.critical.ch> Approved by: flz (mentor)
Diffstat (limited to 'sysutils/magicrescue')
-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
5 files changed, 105 insertions, 0 deletions
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%%