Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2017 20:31:32 +0000 (UTC)
From:      Kirill Ponomarew <krion@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r433587 - in head/sysutils: . safecopy safecopy/files
Message-ID:  <201702072031.v17KVWMY059099@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: krion
Date: Tue Feb  7 20:31:32 2017
New Revision: 433587
URL: https://svnweb.freebsd.org/changeset/ports/433587

Log:
  New port: sysutils/safecopy
  
  Safecopy is a data recovery tool which tries to extract as much
  data as possible from a problematic (i.e. damaged sectors) source -
  like floppy drives, hard disk partitions, CDs, tape devices etc, ...
  , where other tools like dd would fail due to I/O errors.  Safecopy
  includes a low level IO layer to read CDROM disks in raw mode, and
  issue device resets and other helpful low level operations on a
  number of other device classes.  The project also includes a device
  simulator which can be used to simulate bad media for testing and
  benchmarking safecopy as well as other data rescue tools.
  
  WWW: http://safecopy.sourceforge.net/
  
  PR:		216892
  Submitted by:	anastasios@mageirias.com
  Approved by:	mat (mentor)
  Differential Revision:	https://reviews.freebsd.org/D9479

Added:
  head/sysutils/safecopy/
  head/sysutils/safecopy/Makefile   (contents, props changed)
  head/sysutils/safecopy/distinfo   (contents, props changed)
  head/sysutils/safecopy/files/
  head/sysutils/safecopy/files/patch-src_safecopy.c   (contents, props changed)
  head/sysutils/safecopy/pkg-descr   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Tue Feb  7 20:31:32 2017	(r433586)
+++ head/sysutils/Makefile	Tue Feb  7 20:31:32 2017	(r433587)
@@ -1010,6 +1010,7 @@
     SUBDIR += s6-rc
     SUBDIR += safe-rm
     SUBDIR += safecat
+    SUBDIR += safecopy
     SUBDIR += samefile
     SUBDIR += samesame
     SUBDIR += sample

Added: head/sysutils/safecopy/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/safecopy/Makefile	Tue Feb  7 20:31:32 2017	(r433587)
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+PORTNAME=	safecopy
+PORTVERSION=	1.7
+CATEGORIES=	sysutils
+MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}/
+
+MAINTAINER=	anastasios@mageirias.com
+COMMENT=	Safe copying of files and partition
+
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		gmake
+GNU_CONFIGURE=	yes
+
+PLIST_FILES=	bin/safecopy \
+		man/man1/safecopy.1.gz
+
+.include <bsd.port.mk>

Added: head/sysutils/safecopy/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/safecopy/distinfo	Tue Feb  7 20:31:32 2017	(r433587)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1486492944
+SHA256 (safecopy-1.7.tar.gz) = 42fbed5d4764020eb0f34d95e97a0e14e62d801c3ef80f89bd497d94d39cc4fd
+SIZE (safecopy-1.7.tar.gz) = 398465

Added: head/sysutils/safecopy/files/patch-src_safecopy.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/safecopy/files/patch-src_safecopy.c	Tue Feb  7 20:31:32 2017	(r433587)
@@ -0,0 +1,29 @@
+--- src/safecopy.c.orig	2017-02-07 19:49:05 UTC
++++ src/safecopy.c
+@@ -900,7 +900,7 @@ int main(int argc, char ** argv) {
+ 		fprintf(stdout, "File size: %llu\n", (long long) statusvars->filesize );
+ 	} else {
+ 		fprintf(stderr, "Filesize not reported by stat(), trying seek().\n");
+-		statusvars->source = open(configvars->sourcefile, O_RDONLY | O_RSYNC);
++		statusvars->source = open(configvars->sourcefile, O_RDONLY | O_SYNC);
+ 		if (statusvars->source) {
+ 			statusvars->filesize = lseek(statusvars->source, 0, SEEK_END);
+ 			close(statusvars->source);
+@@ -1691,7 +1691,7 @@ int main(int argc, char ** argv) {
+ 			for ( statusvars->cseeks = 0; statusvars->cseeks < statusvars->seeks ; statusvars->cseeks ++) {
+ 				debug(DEBUG_SEEK, "debug: forced head realignment\n");
+ 				// note. must use O_RSYNC since with O_DIRECT / raw devices, lseek to end of file might not work
+-				statusvars->source = open(configvars->sourcefile, O_RDONLY | O_NONBLOCK | O_RSYNC );
++				statusvars->source = open(configvars->sourcefile, O_RDONLY | O_NONBLOCK | O_SYNC );
+ 				if (statusvars->source) {
+ 					lseek(statusvars->source, 0, SEEK_SET);
+ 					select_for_reading(statusvars->source, configvars, statusvars);
+@@ -1699,7 +1699,7 @@ int main(int argc, char ** argv) {
+ 					read(statusvars->source, statusvars->databuffer , statusvars->blocksize );
+ 					close(statusvars->source);
+ 				}
+-				statusvars->source = open(configvars->sourcefile, O_RDONLY | O_NONBLOCK | O_RSYNC );
++				statusvars->source = open(configvars->sourcefile, O_RDONLY | O_NONBLOCK | O_SYNC );
+ 				if (statusvars->source) {
+ 					lseek(statusvars->source,- statusvars->blocksize , SEEK_END);
+ 					select_for_reading(statusvars->source, configvars, statusvars);

Added: head/sysutils/safecopy/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/safecopy/pkg-descr	Tue Feb  7 20:31:32 2017	(r433587)
@@ -0,0 +1,11 @@
+Safecopy is a data recovery tool which tries to extract as much data as 
+possible from a problematic (i.e. damaged sectors) source - like floppy drives,
+hard disk partitions, CDs, tape devices etc, ... , where other tools like dd 
+would fail due to I/O errors.
+Safecopy includes a low level IO layer to read CDROM disks in raw mode, and 
+issue device resets and other helpful low level operations on a number of other
+device classes.
+The project also includes a device simulator which can be used to simulate bad 
+media for testing and benchmarking safecopy as well as other data rescue tools. 
+
+WWW: http://safecopy.sourceforge.net/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702072031.v17KVWMY059099>