Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:garloff:storage
dd_rescue.deb
dd_rescue.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dd_rescue.spec of Package dd_rescue.deb
# # spec file for package ddrescue (Version 1.99_0.3.0) # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: dd_rescue %define ddrescuever 1.99.13 %define ddrhelpver 0.3.0 Version: 1.99_0.3.0 Release: 8 License: GPL-2.0+ Group: System/Base # ddrescue was last used in openSUSE 11.4 (version 1.14_0.0.6) Provides: ddrescue = %{version} Obsoletes: ddrescue < %{version} Autoreqprov: on Requires: bc %if 0%{?suse_version} >= 1100 Recommends: libfallocate0 Recommends: dd_rescue-lzo Recommends: dd_rescue-crypt %endif BuildRequires: autoconf BuildRequires: libfallocate-devel BuildRequires: libattr-devel %if 0%{?rhel_version} < 800 && 0%{?centos_version} < 800 BuildRequires: python %endif # dd_rhelp.test needs a few more BuildRequires: bc BuildRequires: util-linux BuildRequires: grep BuildRequires: openssl %if 0%{?suse_version} > 0 BuildRequires: libopenssl-devel %else BuildRequires: openssl-devel %endif #%if 0%{?rhel_version} != 600 BuildRequires: lzo-devel #%endif %if 0%{?suse_version} > 1210 BuildRequires: lzop %endif %if 0%{?fedora_version} >= 19 BuildRequires: lzop strace %define ext_man .gz %endif %if 0%{?rhel_version} == 600 # || 0%{?fedora_version} > 10 BuildRequires: -libcom_err2 BuildRequires: -libext2fs2 BuildRequires: -e2fsprogs %endif Summary: Data Recovery and Data Protection Tool Url: http://www.garloff.de/kurt/linux/ddrescue/ Source0: http://www.garloff.de/kurt/linux/ddrescue/%{name}-%{ddrescuever}.tar.bz2 Source1: http://garloff.de/ku3t/linux/ddrescue/%{name}-%{ddrescuever}.tar.bz2.asc Source2: %{name}.keyring Source10: dd_rhelp-%{ddrhelpver}.tar.gz Source99: %{name}.changes Patch1: dd_rescue-ossl3-evpcipherctx.diff Patch2: dd_rescue-md5-unaligned-armv7.diff Patch3: dd_rescue-fuzz-test-more-err.diff Patch4: dd_rhelp_EOF.diff Patch5: dd_rhelp_Summary.diff Patch6: dd_rhelp.test.diff Patch7: dd_r_version.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description dd_rescue helps when the situation is desperate: your disk has crashed and you try to copy it over to another one. While standard Unix tools like cp, cat, and dd will abort on every I/O error, dd_rescue does not. It optimizes copying by using large blocks as long as no errors occur and falls back to smaller blocks. It supports reverse direction copying (to approach a bad spot from the top), sparse copying, preallocating space, splice zerocopy, and bypassing the kernel pagecache with O_DIRECT. dd_rescue also has some data protection functionality by (multiply) overwriting files (or disks) with fast random numbers. dd_rescue supports plugins; currently a hash, an lzo and a crypt plugin exist, supporting on the fly hash/HMAC calculation/validation, lzo de/compression and de/encryption. The lzo plugin is packaged in the dd_rescue-lzo, the crypt plugin in the dd_rescue-crypt subpackage. This RPM also bundles a helper script dd_rhelp from Lab Valentin that intelligently controls dd_rescue to first copy all blocks from areas that work and only then tries to approach the bad spots from both sides. Authors: -------- Kurt Garloff <kurt@garloff.de> Lab Valentin <vaab@free.fr> %package crypt Summary: crypt plugin for dd_rescue Group: System/Base Requires: dd_rescue = %{version} %description crypt This plugin allows you do de/encrypt files during recovery copying with dd_rescue using the AES family of algorithms. The plugin supports various numbers of bits and rounds and uses the x86 AESNI CPU support if available. The plugin does offer a variety of options to handle the keys and IVs including the generating keys from password and salt. The plugin is new as of 1.98 and it despite diligent testing it might be careful to expect some bugs and future changes. Authors: -------- Kurt Garloff <kurt@garloff.de> %package lzo Summary: LZO plugin for dd_rescue Group: System/Base Requires: dd_rescue = %{version} %description lzo This plugin allows you do de/compress files during recovery copying with dd_rescue using the lzo family of algorithms. lzo algorithms are very fast to decompress and most algorithms are very fast to compress as well -- at the expense of somewhat worse compression than zlib's deflate. The plugin does offer a variety of options to handle corrupted .lzo files with some grace; it does skip over bad blocks (if the block headers are still intact) by default, but does offer an option (nodiscard) to allow to attempt decompression on faulty input, hoping to produce some usable bytes. It can also search for valid block headers after synchronization has been lost due to a corrupt one. The plugin also handles sparse files (files with holes) and supports appending to .lzo files, so it fits neatly into dd_rescue. Some fuzz testing has been applied to the plugin's decompression routines, though more will have to be done to feel confident about feeding untrusted data to the decompressor; the plugin is still young and might expose bugs. Authors: -------- Kurt Garloff <kurt@garloff.de> %prep %setup -n dd_rescue-%{ddrescuever} -b10 %patch1 -p1 %patch2 -p1 %patch3 -p1 ./autogen.sh FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M') FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y') sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/g" dd_rescue.c sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" dd_rescue.c # dd_rhelp cd ../dd_rhelp-%{ddrhelpver} %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 for name in FAQ NEWS README THANKS TODO ChangeLog; do cp -p $name ${name}.dd_rhelp done %build %ifarch %arm export RPM_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS" | sed 's/\-flto[^ ]*//g') %endif %if 0%{?suse_version} > 0 echo "SUSE %{suse_version}" %if %{suse_version} < 1400 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -std=gnu99" %if %{suse_version} == 1230 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DDO_OWN_DETECT" %endif %endif %endif %if 0%{?rhel_version} > 0 && 0%{?rhel_version} < 800 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -std=gnu99" %endif make %{?_smp_mflags} RPM_OPT_FLAGS="$RPM_OPT_FLAGS" LIBDIR=%{_libdir} #cd ../dd_rhelp-%{ddrhelpver} %install make install DESTDIR=$RPM_BUILD_ROOT LIB=%{_lib} LIBDIR=%{_libdir} INSTASROOT= INSTALLFLAGS= cd ../dd_rhelp-%{ddrhelpver} #make install DESTDIR=$RPM_BUILD_ROOT bindir=/bin install -m 0755 dd_rhelp $RPM_BUILD_ROOT/usr/bin/ %check %ifarch %arm export RPM_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS" | sed 's/\-flto[^ ]*//g') %endif %if 0%{?suse_version} > 0 %if %{suse_version} < 1400 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -std=gnu99" %if %{suse_version} == 1230 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DDO_OWN_DETECT" %endif %endif %endif %if 0%{?rhel_version} > 0 && 0%{?rhel_version} < 800 export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -std=gnu99" %endif make %{?_smp_mflags} RPM_OPT_FLAGS="$RPM_OPT_FLAGS" check cd ../dd_rhelp-%{ddrhelpver} export PATH=../dd_rescue-%{ddrescuever}:$PATH %if 0%{?rhel_version} >= 500 alias which="type -p" ./dd_rhelp.test || true %else %if 0%{?suse_version} >= 1220 alias which="type -p" ./dd_rhelp.test || true %else ./dd_rhelp.test %endif %endif %files %defattr(-,root,root) /usr/bin/dd_rescue /usr/bin/dd_rhelp %{_libdir}/libddr_hash.so %{_libdir}/libddr_MD5.so %{_libdir}/libddr_null.so %doc README.dd_rescue TODO %doc ../dd_rhelp-%{ddrhelpver}/*.dd_rhelp %doc ../dd_rhelp-%{ddrhelpver}/doc %{_mandir}/man1/dd_rescue.1%{ext_man} %files crypt %defattr(-,root,root) %{_mandir}/man1/ddr_crypt.1%{ext_man} %{_libdir}/libddr_crypt.so # I'd like to put those two files in dd_rescue docdir not separate # but there does not seem to be a simple way ... #% define %_docdir_fmt dd_rescue %doc PADDING CRYPT_TODO %files lzo %defattr(-,root,root) %{_mandir}/man1/ddr_lzo.1%{ext_man} #%if 0%{?rhel_version} != 600 %{_libdir}/libddr_lzo.so #%endif %changelog * Fri Oct 15 1999 - garloff@suse.de - Initial release: 0.98.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor