Finally merged the branch 'apache20'(+'apache2') back to the main trunk.
[www.jankratochvil.net.git] / project / badblock_guess / Index.pm
diff --git a/project/badblock_guess/Index.pm b/project/badblock_guess/Index.pm
new file mode 100644 (file)
index 0000000..aab774e
--- /dev/null
@@ -0,0 +1,70 @@
+# $Id$
+# Main page of 'My::Project::badblock_guess'
+# Copyright (C) 2003-2005 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+package project::badblock_guess::Index;
+require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway
+our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+our $CVS_ID=q$Id$;
+use strict;
+use warnings;
+
+use My::Web;
+Wuse 'project::Lib';
+
+
+our @ListItem=(
+               "name"=>"badblock-guess",
+               "platform"=>"unixuser",
+               "priority"=>590,
+               "icon"=>"hdd-icon.jpeg",
+               "download-compiled static binary"=>"badblock-guess",
+               "download-gzipped compiled static binary"=>"badblock-guess.gz",
+               "cvs"=>"badblock-guess",
+               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
+               "link-README"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/badblock-guess/README?rev=HEAD",
+               "summary"=>"Data recovery from a damaged disk",
+               "license"=>"GPL",
+               "maintenance"=>"ready",
+               "language"=>"C",
+               "description"=><<"HERE",
+<p>badblock-guess will recover all readable sectors of the disk in minimal time
+while trying to prevent disk read retrying head recalibrations.</p>
+HERE
+               );
+
+sub handler
+{
+project::Lib->init();
+
+
+print <<'HERE';
+<p>It is similiar to:</p>
+<blockquote class="code">
+       <p>dd&nbsp;if=&lt;src_dev&gt;&nbsp;of=&lt;dst_dev&gt;&nbsp;bs=512&nbsp;conv=noerror,sync</p>
+</blockquote>
+<p>but <code>dd(1)</code> solution can last for many weeks/months on heavily
+corrupted disk.</p>
+<p>This program will not recover data of any sector with failing read command.
+If <span class="code">dd(1)</span> command above finishes for you in a reasonable time, you
+do not need this program.</p>
+HERE
+
+
+exit;
+}
+1;