[1/2] ddrescue: Update to 1.25

Message ID 20210204221708.3143231-1-adolf.belka@ipfire.org
State Accepted
Commit ece62d250091d962f12cbfb8de92ebfc26a0856e
Headers
Series [1/2] ddrescue: Update to 1.25 |

Commit Message

Adolf Belka Feb. 4, 2021, 10:17 p.m. UTC
  - Update ddrescue from 1.12 to 1.25
- Updated rootfiles
- Since 2013 gnu started to only use lzip for compression of ddrescue
	Therefore second patch of this series is the installation of lzip
	in the IPFire Build.
- Changelog
	2020-02-21  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.25 released.
		* block.h: Add default constructors to classes Block and Sblock.
		  (Reported by Rosen Penev).
		* check.sh: Quote all file name variables to allow names with spaces.
		  (Reported by David Morrison).
		* In rescue mode, join non-finished subsectors read from mapfile.
		  (Reported by David Burton).
		* mapbook.cc (update_mapfile): Exclude writing time from intervals.
		  (Reported by David Burton).
		* rescuebook.cc (extend_outfile_size): Use ftruncate if it works.
		* Print large numbers in groups of 3 digits separated by underscores.
		* main.cc: Set a valid invocation_name even if argc == 0.
	2019-02-24  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.24 released.
		* Added new option '--command-mode'.
		* Implemented mapfile backup.
		* ddrescue.texi: Documented final contents of bad areas in outfile.
		* configure: Accept appending to CXXFLAGS, 'CXXFLAGS+=OPTIONS'.
	2018-02-13  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.23 released.
		* rescuebook.cc (trim_errors): Fix wrong change to non-scraped.
		* Added new option '--same-file'.
		* Added new option '--shift' to ddrescuelog.
		* fillbook.cc (fill_block): Write location data as one line.
		* fillbook.cc (read_buffer): Do not require a seekable infile.
		* ddrescue.texi: Added chapter 'Output'.
		* check.sh: Added 'combined rescue' test.
		* io.cc: Added missing '#include <cstdio>'.
	2017-02-03  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.22 released.
		* Option '-X, --exit-on-error' replaced by '-X, --max-read-errors'.
		* Added new option '--max-slow-reads'.
		* Added new option '--delay-slow'.
		* Added new option '--reset-slow'.
		* Added new option '--log-events'.
		* Added new option '--mapfile-interval'.
		* Added new option '--pause-on-error'.
		* Option '--pause' has been renamed to '--pause-on-pass'.
		* Option '--max-errors' has been renamed to '--max-bad-areas'.
		* Renamed 'errsize' to 'bad_size' and 'errors' to 'bad_areas'
		* Rescuebook: Show read_errors, error_rate and slow_reads.
		* Added 'current_pass' field to mapfile.
		* Added two new passes (3 and 4) to the copying phase.
		* main.cc (parse_cpass): Accept ranges of passes.
		* Option '-K, --skip-size' now accepts sizes up to 1 EiB.
		* Initial skip size now defaults to (infile_size / 100_000).
		* rescuebook.cc (copy_non_tried): Don't reduce min_read_rate,
		  enable it only for passes 1 and 2.
		* rescuebook.cc (trim_errors): Don't trim bad edges.
		* main_common.cc (getnum): Accept 's' after other multiplier.
		* '--ask', '-vv' now show size along with model and serial number.
		* non_posix.cc: Add 'device_id' for Cygwin.
		  (Patch written by Christian Franke <franke@computer.org>).
		* rescuebook.cc (do_rescue): Show full sizes in domain warning.
		* Added new option '-A, --annotate-mapfile' to ddrescuelog.
	2016-03-17  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.21 released.
		* mapbook.cc (Mapbook): Fix iobuf alignment.
		  (Reported by Heikki Tauriainen).
		* Removed short option names '-1' and '-2'.
		* Allow only regular files for '--log-rates' and '--log-reads'.
		* Option '-D, --odirect' now works also in fill mode.
		* rescuebook.cc (copy_block): Return 1 on unaligned read error.
		  Set e_code on any error if verify_on_error.
		* Option '-X, --exit-on-error' has been extended to all phases.
		* Assigned short name '-Z' to option '--max-read-rate'.
		* mapbook.cc (update_mapfile): 'fsync' the mapfile every 5 minutes.
		* Rescuebook: Show full range of sizes from non-tried to finished.
		* rescuebook.cc (show_status): Show percentage rescued.
		* configure: Avoid warning on some shells when testing for g++.
		* Makefile.in: Detect the existence of install-info.
	2015-09-10  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.20 released.
		* 'logfile' has been renamed to 'mapfile' everywhere.
		* Changed short name of option '--synchronous' to '-y'.
		* Changed long name of option '-d' to '--idirect'.
		* Added new option '-D, --odirect'.
		* Added new option '-J, --verify-on-error'.
		* Added new option '--max-read-rate'.
		* rescuebook.cc (copy_block): Copy arbitrary blocks with '--idirect'.
		* Include only bad-sector blocks in 'errsize'.
		* rescuebook.cc (show_status): Show the estimated remaining time.
		* io.cc (format_time): Show time in days, hours, minutes and seconds.
		* Added per sector location data to fill mode.
		* mapbook.cc: Added emergency save of the mapfile.
		* Show device name with '--ask' or '-vv' on Haiku.
		* mapfile.cc (read_mapfile): Read read-only mapfiles from stdin.
		* ddrescuelog.cc: Allow multiple mapfiles for '-t, --show-status'.
		* ddrescuelog.cc (create_mapfile): '-' writes mapfile to stdout.
		* ddrescue.texi: Added new chapter 'Optical media'.
		* ddrescue.texi: Documented maximum size of the rescue domain.
		* configure: Option '--enable-linux' renamed to '--enable-non-posix'.
		* Makefile.in: Added new targets 'install*-compress'.
		* File 'ddrescue.h' renamed to 'mapbook.h'.
		* File 'logbook.cc' renamed to 'mapbook.cc'.
		* File 'logfile.cc' renamed to 'mapfile.cc'.
		* Files linux.{h,cc} renamed to non_posix.{h,cc}.
	2014-10-03  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.19 released.
		* Fixed a race condition at start of run with '--timeout=0'.
		* Added new option '-P, --data-preview'.
		* Added new option '-u, --unidirectional'.
		* Added new option '-X, --exit-on-error'.
		* Added new option '--ask' to ask for user confirmation.
		* Added new option '--cpass' to select passes during copying phase.
		* Added new option '--pause' to insert a pause between passes.
		* Removed option '-l, --logfile-size'.
		* Skip on the first error during the copying phase.
		* rescuebook.cc: Trimming done in one pass, may be run in reverse.
		* The splitting phase has been replaced by a scraping phase.
		* Changed long name of option '-n' to '--no-scrape'.
		* rescuebook.cc: Alternate direction of passes during retrying phase.
		* Show ATA model and serial number with '--ask' or '-vv' on Linux.
		* configure: Added new option '--enable-linux'.
		* New files linux.h linux.cc.
		* License changed to GPL version 2 or later.
	2014-06-10  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.18.1 released.
		* ddrescuelog.cc (do_logic_ops): Fixed 'or' and 'xor'.
		* Added new option '-H, --test-mode' to simulate read errors.
		* Added new option '-L, --loose-domain' to ddrescue and ddrescuelog.
		* Added new option '-N, --no-trim' to disable trimming of
		  damaged areas.
		* Added new option '-O, --reopen-on-error'.
		* Added new options '-1, --log-rates', '-2, --log-reads'.
		* Extended '-K, --skip-size' with maximum and disable values.
		* Changed long name of option '-r' to '--retry-passes'.
		* Changed short name of option '--generate-mode' to '-G'.
		* Default value of option '-l, --logfile-size' increased to 10000.
		* If interrupted, ddrescue terminates by raising the signal received.
		* rescuebook.cc (copy_non_tried): Don't mark skipped blocks as
		  non-trimmed. Try them in additional passes (before trimming).
		* rescuebook.cc: Limit the copying phase to 3 passes.
		* rescuebook.cc: Alternate direction of passes during copying phase.
		* rescuebook.cc: Smallest blocks are trimmed first.
		* rescuebook.cc (split_errors): Read largest first if logfile full.
		* Improved speed when using option '-m, --domain-logfile'.
		* io.cc (show_status): Show the current total run time.
		* rescuebook.cc: Show pass number and direction during copying.
		* rescuebook.cc (show_status): Show block pos instead of current_pos.
		* main.cc: Show "an unknown number of bytes" for unknown insize.
		* Added option '-B, --binary-prefixes' to ddrescuelog.
		* Added new option '-C, --complete-logfile' to ddrescuelog.
		* Added new option '-P, --compare-as-domain' to ddrescuelog.
		* Improved speed of logic operations in ddrescuelog.
		* rescuebook.cc (do_rescue): Show warning when domain is smaller
		  than logfile.
		* ddrescuelog.cc (do_show_status): Show logfile and domain extents
		  when domain is smaller than logfile.
		* block.h: Class Block now forces the invariant by itself.
		* Code reorganization. New class 'Logfile'.
		* Added status message to rescue logfile.
		* Many improvements to documentation.
		* ddrescue.texinfo: Renamed to ddrescue.texi.
	2013-07-09  Antonio Diaz Diaz  <antonio@gnu.org>
		* Version 1.17 released.
		* Added new option '-l, --logfile-size'.
		* Added new option '-w, --ignore-write-errors'.
		* Option '--fill' has been renamed to '--fill-mode'.
		* Option '--generate-logfile' has been renamed to '--generate-mode'.
		* Added option '--sector-size' as a synonym of '--block-size'.
		* Added option '--retries' as a synonym of '--max-retries'.
		* Added option '--size' as a synonym of '--max-size'.
		* rescuebook.cc: Trimming is now done from both edges of each
		  non-trimmed block. Largest blocks are trimmed first.
		* rescuebook.cc: Largest blocks are now split first until
		  logfile reaches '--logfile-size' entries.
		* logbook.cc (extend_sblock_vector, truncate_vector): Terminate
		  if truncation would discard finished blocks.
		* rescuebook.cc: Mark failed blocks with 1 sector as bad-sector.
		* logbook.cc (extend_sblock_vector): Remove last block of
		  logfile if it starts at insize and is not marked as finished.
		* io.cc (show_status, update_rates): Detect a jump back in time
		  and adjust status.
		* ddrescue.h (slow_read): Return false for the first 10 seconds.
		* io.cc (show_status) Leave cursor after message so that ^C does
		  not overwrite it.
		* main.cc: Don't require '--force' for generate mode.
		* ddrescue.h (Logbook::logfile_exists): Don't return false if
		  logfile exists but is empty.
		* ddrescue.texinfo: Added new chapter 'Using ddrescue safely'.
		* Documented that 'direct disc access' only reads whole sectors.
		* configure: Options now accept a separate argument.
		* Makefile.in: Added new target 'install-bin'.
	2012-06-11  Antonio Diaz Diaz  <ant_diaz@teleline.es>
		* Version 1.16 released.
		* Added new option '-K, --skip-size'.
		* Added new option '-T, --timeout'.
		* Changed short name of option '--try-again' to '-A'.
		* Maximum skip size is now limited to 1% of infile size or 1 GiB
		  (whichever is smaller), rounded to the next multiple of sector
		  size.
		* Set current_pos to end of block when reading backwards.
		* The option '-E, --max-error-rate' now checks the rate of
		  actually failed reads, not the growth of error size.
		* The option '-v, --verbose' now increases verbosity if repeated.
		* Changed quote characters in messages as advised by GNU Standards.
		* configure: 'datadir' renamed to 'datarootdir'.
		* New files rational.h, rational.cc.
	2012-01-01  Antonio Diaz Diaz  <ant_diaz@teleline.es>
		* Version 1.15 released.
		* Added new option '-a, --min-read-rate'.
		* Added new option '-I, --verify-input-size'.
		* Added new option '-x, --extend-outfile'.
		* main.cc: Verify that infile, outfile and logfile are all
		  different.
		* Non-tried blocks are now read aligned to cluster-size sectors.
		* rescuebook.cc: Improved skip algorithm for the split pass.
		* main.cc: Removed spurious warning about '-D' ignored in fill mode.
		* ddrescue.texinfo: Improved description of algorithm.
		* logbook.cc (change_chunk_status): Return an adjust value (-1, 0, 1)
		  to keep "errors" updated without calling count_errors every time.
		* ddrescue.cc: Renamed to io.cc.
		* Added 'ddrescuelog', a program for logfile manipulation.
	2011-01-10  Antonio Diaz Diaz  <ant_diaz@teleline.es>
		* Version 1.14 released.
		* Added new option '-R, --reverse'.
		* Added new option '-E, --max-error-rate'.
		* Extended syntax '--max-errors=+N' to specify new errors.
		* Changed short name of option '--retrim' to '-M'.
		* Removed spurious warning about 'preallocation not available'.
		* Code reorganization. New class 'Genbook'.
	2010-08-27  Antonio Diaz Diaz  <ant_diaz@teleline.es>
		* Version 1.13 released.
		* Non-regular output files are no longer overwritten by default.
		* Added new option '-f, --force'.
		* Added new option '-p, --preallocate'.
		* main.cc (write_logfile_header): Write command line to logfile.
		* ddrescue.texinfo: Added info about logfile and recoverable formats.
		* ddrescue.texinfo: Added a couple more warnings to the tutorial.
		* testsuite: 'test1' renamed to 'test.txt'
		* Revert to use 'long' instead of 'time_t' for time variables.
		  Ddrescue only needs counting seconds and 'time_t' causes
		  warnings on some systems.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/ddrescue |  2 ++
 lfs/ddrescue                       | 10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)
  

Patch

diff --git a/config/rootfiles/packages/ddrescue b/config/rootfiles/packages/ddrescue
index 3d0a0b9af..a3d8f5911 100644
--- a/config/rootfiles/packages/ddrescue
+++ b/config/rootfiles/packages/ddrescue
@@ -1,3 +1,5 @@ 
 usr/bin/ddrescue
+usr/bin/ddrescuelog
 #usr/share/info/ddrescue.info
 #usr/share/man/man1/ddrescue.1
+#usr/share/man/man1/ddrescuelog.1
diff --git a/lfs/ddrescue b/lfs/ddrescue
index f30a5edb5..3c45896e9 100644
--- a/lfs/ddrescue
+++ b/lfs/ddrescue
@@ -24,14 +24,14 @@ 
 
 include Config
 
-VER        = 1.12
+VER        = 1.25
 THISAPP    = ddrescue-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.lz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ddrescue
-PAK_VER    = 1
+PAK_VER    = 2
 
 DEPS       =
 
@@ -43,7 +43,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b3d8a9a9098b87939fba05a45848bd8d
+$(DL_FILE)_MD5 = 99fd7a28bf9953d88534c7ee9ab5bd2a
 
 install : $(TARGET)
 
@@ -76,7 +76,7 @@  $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && ./configure --prefix=/usr
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install