diff --git a/SOURCES/tar-1.27-sparse-stat-detection.patch b/SOURCES/tar-1.27-sparse-stat-detection.patch new file mode 100644 index 0000000..3eb3fb8 --- /dev/null +++ b/SOURCES/tar-1.27-sparse-stat-detection.patch @@ -0,0 +1,22 @@ +diff --git a/lib/system.h b/lib/system.h +index ef46267..e7f531c 100644 +--- a/lib/system.h ++++ b/lib/system.h +@@ -389,9 +389,16 @@ extern int errno; + # define ST_NBLOCKSIZE 512 + #endif + ++/* Network Appliance file systems store small files directly in the ++ inode if st_size <= 64; in this case the number of blocks can be ++ zero. Perhaps other file systems have similar problems; so, ++ somewhat arbitrarily, do not consider a file to be sparse if ++ it has no blocks but st_size < ST_NBLOCKSIZE. */ + #define ST_IS_SPARSE(st) \ + (ST_NBLOCKS (st) \ +- < ((st).st_size / ST_NBLOCKSIZE + ((st).st_size % ST_NBLOCKSIZE != 0))) ++ < ((st).st_size / ST_NBLOCKSIZE \ ++ + ((st).st_size % ST_NBLOCKSIZE != 0 \ ++ && (st).st_size / ST_NBLOCKSIZE != 0))) + + /* Declare standard functions. */ + diff --git a/SPECS/tar.spec b/SPECS/tar.spec index f817177..11d3429 100644 --- a/SPECS/tar.spec +++ b/SPECS/tar.spec @@ -5,7 +5,7 @@ Summary: A GNU file archiving program Name: tar Epoch: 2 Version: 1.26 -Release: 26%{?dist} +Release: 29%{?dist} License: GPLv3+ Group: Applications/Archiving URL: http://www.gnu.org/software/tar/ @@ -110,9 +110,14 @@ Patch16: tar-1.26-docu-xattrs.patch # ~> still downstream # http://lists.gnu.org/archive/html/bug-tar/2013-05/msg00020.html # ~> #965969 - Patch17: tar-1.26-xattrs-include-implies-xattrs.patch +# If the 'st_size' != 0 && count(blocks) == 0 && st_size < size(block), this +# does not necessarily must be a sparse file. +# ~> upstream (paxutils): 986382a0bb3261 +# ~> #1024095, #1024268 +Patch18: tar-1.27-sparse-stat-detection.patch + # Silence gcc warnings # ~> upstream tar: 17f99bc6f, 5bb0433 # ~> upstream paxutils: 0b3d84a0 @@ -168,6 +173,7 @@ the rmt package on the remote box. %patch15 -p1 -b .birthtime %patch16 -p1 -b .xattrs-documentation %patch17 -p1 -b .xattrs-if-xattrs-include +%patch18 -p1 -b .sparse-stat-detection %patch999 -p1 -b .silence-gcc autoreconf -v @@ -226,6 +232,15 @@ fi %{_infodir}/tar.info* %changelog +* Fri Jan 24 2014 Daniel Mach - 2:1.26-29 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 2:1.26-28 +- Mass rebuild 2013-12-27 + +* Mon Nov 18 2013 Pavel Raiskup - 1.26-27 +- sparse file detection based on fstat() fix (#1024268) + * Mon Sep 09 2013 Pavel Raiskup - 1.26-26 - the --xattrs-include implies --xattrs now (#965969)