summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/safecopy')
-rw-r--r--sys-fs/safecopy/ChangeLog10
-rw-r--r--sys-fs/safecopy/files/safecopy-1.3-sandbox.patch192
-rw-r--r--sys-fs/safecopy/metadata.xml14
-rw-r--r--sys-fs/safecopy/safecopy-1.3.ebuild39
4 files changed, 255 insertions, 0 deletions
diff --git a/sys-fs/safecopy/ChangeLog b/sys-fs/safecopy/ChangeLog
new file mode 100644
index 000000000000..1c1c474cfb68
--- /dev/null
+++ b/sys-fs/safecopy/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sys-fs/safecopy
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/safecopy/ChangeLog,v 1.1 2009/05/27 12:04:01 scarabeus Exp $
+
+*safecopy-1.3 (27 May 2009)
+
+ 27 May 2009; Tomáš Chvátal <scarabeus@gentoo.org> +safecopy-1.3.ebuild,
+ +files/safecopy-1.3-sandbox.patch, +metadata.xml:
+ Intial commit. Per bug #270666. Thanks to Corvus Corax for ebuild.
+
diff --git a/sys-fs/safecopy/files/safecopy-1.3-sandbox.patch b/sys-fs/safecopy/files/safecopy-1.3-sandbox.patch
new file mode 100644
index 000000000000..a936a6640b64
--- /dev/null
+++ b/sys-fs/safecopy/files/safecopy-1.3-sandbox.patch
@@ -0,0 +1,192 @@
+diff -rU 5 safecopy-1.3.nogentoo/test/test0/test.sh safecopy-1.3/test/test0/test.sh
+--- safecopy-1.3.nogentoo/test/test0/test.sh 2009-05-09 20:39:40.000000000 +0200
++++ safecopy-1.3/test/test0/test.sh 2009-05-26 13:57:22.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing test debug library functionality: ";
+
+ # test if the test libray gets loaded and works. the destination file must be cropped at 2048 byte
+ # since cat - unlike safecopy - can not read beyond IO errors.
+diff -rU 5 safecopy-1.3.nogentoo/test/test1/test.sh safecopy-1.3/test/test1/test.sh
+--- safecopy-1.3.nogentoo/test/test1/test.sh 2009-05-09 20:40:32.000000000 +0200
++++ safecopy-1.3/test/test1/test.sh 2009-05-26 13:57:27.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 1: Simple plain file copy: ";
+
+ # test without the deug library. safecopy must duplicate the file
+ # without errors
+diff -rU 5 safecopy-1.3.nogentoo/test/test10/test.sh safecopy-1.3/test/test10/test.sh
+--- safecopy-1.3.nogentoo/test/test10/test.sh 2009-05-11 17:54:09.000000000 +0200
++++ safecopy-1.3/test/test10/test.sh 2009-05-26 13:57:37.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 10: Incremental recovery with blocksize variation and exclude blocks ";
+
+ # main emphasis on this test is that no data from exclude blocks are ever read nor written.
+
+diff -rU 5 safecopy-1.3.nogentoo/test/test11/test.sh safecopy-1.3/test/test11/test.sh
+--- safecopy-1.3.nogentoo/test/test11/test.sh 2009-05-20 15:37:06.000000000 +0200
++++ safecopy-1.3/test/test11/test.sh 2009-05-26 13:57:41.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 11: Incremental recovery with startoffset, size limit and exclude list: ";
+
+ # main emphasis on this test is that no data from exclude blocks are ever read nor written.
+
+diff -rU 5 safecopy-1.3.nogentoo/test/test2/test.sh safecopy-1.3/test/test2/test.sh
+--- safecopy-1.3.nogentoo/test/test2/test.sh 2009-05-10 12:09:25.000000000 +0200
++++ safecopy-1.3/test/test2/test.sh 2009-05-26 13:57:46.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 2: Soft recovery: ";
+
+ # safecopy - must succesfully read despite the first two read attempts of block 2 will fail
+ LD_PRELOAD="$safecopydebug" $safecopy -R 3 -b 1024 -f 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test3/test.sh safecopy-1.3/test/test3/test.sh
+--- safecopy-1.3.nogentoo/test/test3/test.sh 2009-05-10 12:19:59.000000000 +0200
++++ safecopy-1.3/test/test3/test.sh 2009-05-26 13:57:50.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 3: Soft recovery + hard errors: ";
+
+ # safecopy must succesfully recover from the soft error but write the hard error to the badblock list correctly
+ LD_PRELOAD="$safecopydebug" $safecopy -R 3 -b 1024 -f 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test4/test.sh safecopy-1.3/test/test4/test.sh
+--- safecopy-1.3.nogentoo/test/test4/test.sh 2009-05-10 12:22:12.000000000 +0200
++++ safecopy-1.3/test/test4/test.sh 2009-05-26 13:57:53.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 4: Unreadable end of file: ";
+
+ # safecopy writes a shortened output file since the last blocks are unreadable. The badblocks output must state these short read blocks
+ LD_PRELOAD="$safecopydebug" $safecopy -R 2 -b 1024 -f 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test5/test.sh safecopy-1.3/test/test5/test.sh
+--- safecopy-1.3.nogentoo/test/test5/test.sh 2009-05-11 16:12:12.000000000 +0200
++++ safecopy-1.3/test/test5/test.sh 2009-05-26 13:57:56.000000000 +0200
+@@ -2,11 +2,11 @@
+
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 5: Completely unreadable file: ";
+
+ # safecopy: unreadable file without marking. result must be an empty file and a complete block list
+ LD_PRELOAD="$safecopydebug" $safecopy -R 2 -b 1024 -f 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test6/test.sh safecopy-1.3/test/test6/test.sh
+--- safecopy-1.3.nogentoo/test/test6/test.sh 2009-05-10 13:58:56.000000000 +0200
++++ safecopy-1.3/test/test6/test.sh 2009-05-26 13:58:00.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 6: Incremental recovery: ";
+
+ # safecopy regular run with badblocks output - produces some reference files
+ LD_PRELOAD="$safecopydebug" $safecopy -R 2 -b 1024 -f 4* -r 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test7/test.sh safecopy-1.3/test/test7/test.sh
+--- safecopy-1.3.nogentoo/test/test7/test.sh 2009-05-11 16:54:41.000000000 +0200
++++ safecopy-1.3/test/test7/test.sh 2009-05-26 13:58:03.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 7: Incremental recovery with blocksize variation ";
+
+ # safecopy regular run with badblocks output - produces some reference files with and withouzt marked badblocks
+ LD_PRELOAD="$safecopydebug" $safecopy -R 2 -b 1150 -f 4* -r 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test8/test.sh safecopy-1.3/test/test8/test.sh
+--- safecopy-1.3.nogentoo/test/test8/test.sh 2009-05-10 21:04:28.000000000 +0200
++++ safecopy-1.3/test/test8/test.sh 2009-05-26 13:58:06.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 8: Incremental recovery with startoffset and size limit: ";
+
+ # safecopy regular run with badblocks output - produces some reference files
+ LD_PRELOAD="$safecopydebug" $safecopy -R 2 -b 1024 -f 4* -r 4* -o "$tmpdir/test1.badblocks" debug "$tmpdir/test1.dat" -s 2 -l 16 >/dev/null 2>&1;
+diff -rU 5 safecopy-1.3.nogentoo/test/test9/test.sh safecopy-1.3/test/test9/test.sh
+--- safecopy-1.3.nogentoo/test/test9/test.sh 2009-05-11 17:53:15.000000000 +0200
++++ safecopy-1.3/test/test9/test.sh 2009-05-26 13:58:10.000000000 +0200
+@@ -1,11 +1,11 @@
+ #!/bin/sh
+ basedir="$1";
+ tmpdir="$2";
+
+ safecopy="$basedir/src/safecopy";
+-safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0";
++safecopydebug="../libsafecopydebug/src/libsafecopydebuglb.so.1.0: $LD_PRELOAD";
+
+ echo -n " - Testing safecopy 9: Incremental recovery with exclude blocks: ";
+
+ # main emphasis on this test is that no data from exclude blocks are ever read nor written.
+
diff --git a/sys-fs/safecopy/metadata.xml b/sys-fs/safecopy/metadata.xml
new file mode 100644
index 000000000000..bbc8730652fa
--- /dev/null
+++ b/sys-fs/safecopy/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+ <email>scarabeus@gentoo.org</email>
+ <name>Tomáš Chvátal</name>
+</maintainer>
+<maintainer>
+ <email>corvus-gentoo@cybertrench.com</email>
+ <name>Corvus Corax</name>
+ <!-- proxy maintainer, cc him on bugs -->
+</maintainer>
+</pkgmetadata>
diff --git a/sys-fs/safecopy/safecopy-1.3.ebuild b/sys-fs/safecopy/safecopy-1.3.ebuild
new file mode 100644
index 000000000000..73d9ed3725fa
--- /dev/null
+++ b/sys-fs/safecopy/safecopy-1.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/safecopy/safecopy-1.3.ebuild,v 1.1 2009/05/27 12:04:01 scarabeus Exp $
+
+EAPI="2"
+inherit base eutils
+
+DESCRIPTION="Data recovery tool to fault-tolerantly extract data from damaged (io-errors) devices or files."
+HOMEPAGE="http://safecopy.sourceforge.net"
+SRC_URI="mirror://sourceforge/safecopy/${P}.tar.gz -> ${P}.tar.gz
+http://sourceforge.net/tracker/download.php?group_id=141056&atid=748330&file_id=328461&aid=2796779 -> ${P}-amd64.patch.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-sandbox.patch"
+ "${WORKDIR}/${P}-amd64.patch"
+)
+
+src_install() {
+ base_src_install
+ dodoc README || die "copying documentation failed"
+}
+
+src_test() {
+ einfo "Starting test phase:"
+ cd "${S}"/test/libsafecopydebug
+ einfo "Compiling safecopy test suite..."
+ econf
+ emake || die "Compilation of safecopy test failed ?!"
+
+ cd "${S}"/test/
+ ebegin "Running safecopy self test..."
+ ./test.sh
+ eend $? || die "Test run failed"
+}