| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: dd_rescue | Distribution: openSUSE Tumbleweed |
| Version: 1.99.21 | Vendor: openSUSE |
| Release: 1.1 | Build date: Fri Mar 14 18:25:52 2025 |
| Group: System/Base | Build host: reproducible |
| Size: 217340 | Source RPM: dd_rescue-1.99.21-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: http://www.garloff.de/kurt/linux/ddrescue/ | |
| Summary: Data copying in the presence of I/O Errors | |
dd_rescue helps when nothing else can: 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. dd_rescue has many other goodies; optimization by using large blocks as long as no errors are in sight and falling back to small ones; reverse direction copy; splice in-kernel zerocopy; O_DIRECT support; preallocation with fallocate(). dd_rescue also provides data protection features by overwriting files or disks with fast random numbers, optionally multiple times. 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.
GPL-2.0-only OR GPL-3.0-only
* Fri Mar 14 2025 kurt@garloff.de
- Update to dd_rescue-1.99.21:
* New option -H to inject interrupted and short IO calls for
testing.
* Fix handling of receiving short reads after EINTR/EAGAIN.
* Fix handling of short writes and EINTR/EAGAIN.
* When several retries happened in real_writeblock(), we would
corrupt the stack by increasing pointer rather than the
variable pointed to. (This was reported by Sam James and
analyzed with -fsanitizer.)
* Mon Jan 20 2025 kurt@garloff.de
- Update to dd_rescue-1.99.20:
* Fix an overrun in sparse block detection.
* Fix an off-by-one memory handling issue in ddr_lzo, resulting
in breakage on s390x. (Surprisingly, glibc memory allocator
was graceful on most architectures.)
* Better test coverage, including chains with sparse files.
* Documented (and somewhat cleaner) design of handling sparse
files through chains of plugins.
* Test and support compression+encryption (and reverse
decryption+decompression) chains.
* Improved debug output, including numbering plugins.
* Mon Jan 06 2025 kurt@garloff.de
- Update to dd_rescue-1.99.19:
* ddr_crypt: Clean hole support with and without skiphole.
(This works cleanly only for CTR and ECB modes.)
* ddr_crypt: Fix backwards copies including holes. Note that
this could result in different files from the forward copies
before (bug). Add test case for the latter.
* Many more testcases for sparse files with plugins: Also use
odd sizes and holes at the beginning and end of the file.
* Also skip over holes with -a when copying in reverse dir.
* Allow setting unsparse and some other flags for ddr_null for
testing.
* Fix lzma compression with hole at the end.
* Warn on lzma buf error (was debug msg only before).
* Sun Dec 29 2024 kurt@garloff.de
- Update to dd_rescue-1.99.18:
* Cleanup libddr_lzma flags and memory handling; support sparse
input. Default preset to 4 now.
* Detect sparse output from unsparse plugins (decompression
and decryption may benefit from this).
* Testcase for (de)compression with sparse files.
* Fix calchmac.py for Python 3.12, so HMAC tests succeed again.
* Rationalize log level handling (control by -q, -v, -E).
* Move cache prefetching fomr plugins to main program.
* Sat Nov 02 2024 kurt@garloff.de
- Update to dd_rescue-1.99.17:
* Plugin libddr_lzma.so: LZMA2/xz de/compression from Dmitrii
Ivanov. Covering the other end of the spectrum of LZO, with
high compression ratios at high CPU cost for compression.
(Decompression is cheap for both.)
* Code review and streamlining for dd_rescue integration by
Kurt Garloff.
* Sun Sep 29 2024 kurt@garloff.de
- Update to dd_rescue-1.99.16:
* Refactoring: Move CPU feature detection to archdep.c.
* libddr_cypt: Support passing in password via pipe and passfd=
* Add testcase for this
* Support sha256 acceleration on x86-64 and armv8.
* Improve detection of armv8 crypto (aes) acceleration (32bit).
* Tue Sep 17 2024 kurt@garloff.de
- Update to dd_rescue-1.99.15:
* Build issue: Detect pread64() and pwrite64() support separately
and provide individual replacement functions.
Thanks to David Geiger for reporting (Mageia).
* Bugfix: printstatus() would not be called with odd offsets,
resulting in missing progress report and missing sync (-y) and
write throttling (-C).
* Optimization: Some unrolling for the hash functions gives up to
10% better performance (on Zen4).
* Optimization: Rationalize prefetching for hash functions and
clear memory after using (avoid cleartext data on the stack).
* Optimization: Save function calls for fault injection and for
graph updates when unneeded.
* Usability: Better handle progress update frequency.
* Build improvement: Add -target linux-aarch64/arm-android28
automatically where needed.
* Drop: ddr-autoconf-no-fortify.diff (included upstream).
* Thu Aug 22 2024 kurt@garloff.de
- Avoid setting _FORTIFY_SOURCE in configure script, it may
conflict with flags passed in otherwise (e.g. rpmbuild).
* Thu Aug 22 2024 kurt@garloff.de
- Update to dd_rescue-1.99.14:
* Drop patches dd_rescue-u-emptyout-segfault.diff:,
dd_rescue-fuzz-test-more-err.diff:,
dd_rescue-md5-unaligned-armv7.diff:,
dd_rescue-ossl3-evpcipherctx.diff: All integrated upstream.
* Fix detection of LFS function availability for musl.
* Include headers and settings to make it work on musl.
* Replaced basename() with mybasename.h.
* Prefetch lookup table for sha hashing.
* Fix verbose output when falling back to small blocksize.
* Fix clearing of errno (unaligned writes at EOF on musl)
- Final tarball with fixes for Android Makefiles.
* Mon Aug 12 2024 kurt@garloff.de
- dd_rescue-u-emptyout-segfault.diff: Prevent (cosmetic) segfault
in cleanup path with option -u and empty output file name.
* Sun Mar 03 2024 kurt@garloff.de
- dd_rescue-md5-unaligned-armv7.diff: gcc-12 does make unaligned
accesses on armv7 work sometimes, which breaks a configure test
and then makes the make check fail with SIGBUS when using hash
after lzo compression. Hardcode knowledge about armv7.
- Drop %setup (not needed if using %autosetup, thanks Valentin!)
- Mention [bsc#1219882], as suggested by Valentin Lefebvre.
* Thu Feb 29 2024 kurt@garloff.de
- Fix openssl version detection for 3.0.x.
- dd_rescue-ossl3-evpcipherctx.diff: There's an additional field
in the (private) struct _evp_cipher_ctx_st in openssl-3 since
3.0.6, which makes a difference on 32bit. (On 64bit, the effect
is hidden by the compiler's alignment rules.)
* Wed Feb 28 2024 kurt@garloff.de
- Specify libopenssl-devel as BuildRequirements. This will select
openssl-3 on new distributions.
This fixes [bsc#1219882].
* Fri Mar 17 2023 kurt@garloff.de
- Readd detached signature.
* Tue Feb 28 2023 Dirk Müller <dmueller@suse.com>
- temporarily remove not-really-detached-signature
* Fri Feb 24 2023 kurt@garloff.de
- Update to 1.99.13:
* Drop fuzz-lzo-* patches, as they have been merged upstream.
* Allow overriding strip binary (not used in this build).
* Make -fanalyzer more happy: abort() and assert()ions to ensure
we always react to failed memory allocations.
* ddr_hash: Support reading/writing checksums from stdin/out "-".
* Fix aliasing issue with XORN function (in aes.h), spotted by
gcc-13: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108695
Drop workaround from Martin Liška again.
* Higher optimization level for aes.c driver is beneficial for
key setup speed.
* Wed Feb 08 2023 Martin Liška <mliska@suse.cz>
- Disable strict aliasing due to its violation:
https://sourceforge.net/p/ddrescue/tickets/6/
* Tue Dec 27 2022 Ludwig Nussel <lnussel@suse.com>
- Replace transitional %usrmerged macro with regular version check (boo#1206798)
* Tue Jul 26 2022 kurt@garloff.de
- Update to dd_rescue-1.99.12:
* Works with openssl-3.0 now (using EVP_Cipher_Init to set IV).
* openssl-1.1 performs significantly better so we keep building
against it if available.
* nosalthdr option for libddr_crypt for compatibility with
openssl-3, no longer writing header when salt is passed.
* ARMv7 crypto support successfully compiles with clang now.
- Drop no-python2.patch (included in dd_rescue-1.99.12).
* Mon Dec 06 2021 Dirk Müller <dmueller@suse.com>
- build against openssl 1.1 (bsc#1193438)
* Sat May 22 2021 Matej Cepl <mcepl@suse.com>
- Don't break compatibility with SLE-12
* Mon May 17 2021 Matej Cepl <mcepl@suse.com>
- Add no-python2.patch to remove the dependency on Python 2
(sf#ddrescue#4).
* Thu Apr 29 2021 kurt@garloff.de
- Update to dd_rescue-1.99.11:
* Drop (backported) checksum_file-clear-errno.diff.
* Minor scheduling improvements for x86_64 and ARM asm.
* Work around compiler weirdness, passing two in/out parameters
in the same register (when they are provably the same),
causing x2 breakage on armv7.
* 256bit VAES support on x86-64 (0.23 cycles/byte on Zen3!).
* Needed to compile aesni twice for this, once with avx.
* Full asm versions for (non-x2) CTR and CBC on arm64
(achieving 0.40 cycles/byte on Cortex X-1).
* Avoid test failures with incompressible tweak in fuzz_lzo.
* test_aes improvements: Options, help, IV comparison, memcpy.
* Full crypto test coverage 0 -- 130 bytes len.
* Code safety against len==0 en/decryption.
* Tue Mar 09 2021 kurt@garloff.de
- checksum_file-clear-errno.diff: Avoid stale errno to be picked
up and report an error without any error actually occuring.
(This lead to occasional build fails on armv7 on Ubuntu 20.04
and Fedora 32/33, nowhere else.)
* Mon Mar 08 2021 kurt@garloff.de
- Update to dd_rescue-1.99.10:
* Improve memory clobbers: Ensure we specify full array lengths
used as input to asm (boo#1181402).
* Improve ARM64 crypto by better insn scheduling in CTR calc,
avoiding dependencies and local vars (+40% performance!).
* Apply all ARM64 improvements also to ARMv8 crypto on ARM32.
* Fix warning int formatting on unaligned crypto.
* Address warnings on outdated autoconf usage.
* Mon Mar 01 2021 Kurt Garloff <kurt@garloff.de>
- Update to dd_rescue-1.99.9:
* Includes aliasing fixes from boo#1181402.
* Additional mem clobbers for asm statements (boo#1181402).
* LTO disablement still needed (boo#1176219) on arm due to
differences in compiler flags (-march) per object.
* Fix dependency generation on PPC (preprocessing intrinsics).
* Support xattr decls in sys/xattr.h in addition to attr/xattr.h.
* More stringent check of mem alloc return values.
* Free all memory in error path before exiting (cosmetic).
* Don't need global variable in probe function.
* drop ddr_1998-alg-caseindep.diff, ddr_1998-check-nofail-noxattr.diff,
ddr_1998-ossl11-warn.diff, ddr_1998-sysrandom.diff,
ddr_1998-testhole.diff: patches all merged (they were backports)
- drop fix-aliasing-aarch64.patch: obsolete (fixed differently in new version)
* Mon Feb 22 2021 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Revert last commit and fix bug boo#1181402 with a proper patch:
* fix-aliasing-aarch64.patch
* Thu Jan 28 2021 Dirk Müller <dmueller@suse.com>
- build with -fno-strict-aliasing on aarch64 to workaround (bsc#1181402)
* Wed Jan 13 2021 Dirk Müller <dmueller@suse.com>
- spec-cleaner run
/usr/bin/dd_rescue /usr/lib64/libddr_MD5.so /usr/lib64/libddr_hash.so /usr/lib64/libddr_null.so /usr/share/doc/packages/dd_rescue /usr/share/doc/packages/dd_rescue/README.dd_rescue /usr/share/doc/packages/dd_rescue/TODO /usr/share/licenses/dd_rescue /usr/share/licenses/dd_rescue/COPYING /usr/share/man/man1/dd_rescue.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Oct 8 23:32:53 2025