Hello community, here is the log from the commit of package rdiff-backup for openSUSE:Factory checked in at 2014-11-05 15:54:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rdiff-backup (Old) and /work/SRC/openSUSE:Factory/.rdiff-backup.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdiff-backup" Changes: -------- --- /work/SRC/openSUSE:Factory/rdiff-backup/rdiff-backup.changes 2014-05-24 07:41:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rdiff-backup.new/rdiff-backup.changes 2014-11-05 15:55:15.000000000 +0100 @@ -1,0 +2,7 @@ +Mon Jun 30 19:24:48 UTC 2014 - [email protected] + +- add rdiff-backup-1.2.8-sparse-no-seek-in-gzip.diff: + the sparse code makes no sense in gzip compressed case and it + triggers an IO error in gzip.py when trying to seek backwards + +------------------------------------------------------------------- New: ---- rdiff-backup-1.2.8-sparse-no-seek-in-gzip.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rdiff-backup.spec ++++++ --- /var/tmp/diff_new_pack.a3TeRf/_old 2014-11-05 15:55:17.000000000 +0100 +++ /var/tmp/diff_new_pack.a3TeRf/_new 2014-11-05 15:55:17.000000000 +0100 @@ -28,6 +28,10 @@ # well, upstream is apparently dead, but I found this patch on the upstream mailing list. # PATCH-FEATURE-UPSTREAM rdiff-backup-1.2.8-sparsefiles.diff -- [email protected] Patch1: rdiff-backup-1.2.8-sparsefiles.diff +# the above patch is slightly broken, fix it by not using sparse code when writing +# compressed files +# PATCH-FIX-OPENSUSE rdiff-backup-1.2.8-sparse-no-seek-in-gzip.diff [email protected] +Patch11: rdiff-backup-1.2.8-sparse-no-seek-in-gzip.diff # in order not stumble on handle hardlinks, these two patches are necessary # http://savannah.nongnu.org/bugs/?26848 # PATCH-FEATURE-UPSTREAM Hardlink.py.revised-patch compare.py.patch -- [email protected] @@ -72,6 +76,7 @@ %setup -q %patch0 -p1 %patch1 -p1 +%patch11 -p1 %patch2 -p0 %patch3 -p0 %patch4 -p1 ++++++ rdiff-backup-1.2.8-sparse-no-seek-in-gzip.diff ++++++ Date: 2016-06-29 Author: Stefan Seyfried <[email protected]> Subject: do not try to seek in GzipFile; it does not help and the later seek(-1, os.SEEK_CUR) fails I suddenly got a strange error from gzip.py "Negative seek in write mode" which I avoid by not using sparse code in compressed case. No idea why this only turned up now, maybe a strange combination of files to back up? Index: b/rdiff_backup/rpath.py =================================================================== --- a/rdiff_backup/rpath.py +++ b/rdiff_backup/rpath.py @@ -61,6 +61,11 @@ def copyfileobj(inputfp, outputfp): sparse = False buf = None + """Negative seeks are not supported by GzipFile""" + compressed = False + if isinstance(outputfp, GzipFile): + compressed = True + while 1: inbuf = inputfp.read(blocksize) if not inbuf: break @@ -75,7 +80,7 @@ def copyfileobj(inputfp, outputfp): continue buflen = len(buf) - if buf == "\x00" * buflen: + if not compressed and buf == "\x00" * buflen: outputfp.seek(buflen, os.SEEK_CUR) buf = None # flag sparse=True, that we seek()ed, but have not written yet -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
