diff --git a/diffutils-cmp-s-empty.patch b/diffutils-cmp-s-empty.patch new file mode 100644 index 0000000..bc1c6b4 --- /dev/null +++ b/diffutils-cmp-s-empty.patch @@ -0,0 +1,20 @@ +diff -up diffutils-2.8.1/src/cmp.c.cmp-s-empty diffutils-2.8.1/src/cmp.c +--- diffutils-2.8.1/src/cmp.c.cmp-s-empty 2002-04-05 21:37:31.000000000 +0100 ++++ diffutils-2.8.1/src/cmp.c 2010-06-25 14:56:08.464802321 +0100 +@@ -316,12 +316,15 @@ main (int argc, char **argv) + + /* If only a return code is needed, + and if both input descriptors are associated with plain files, ++ and if both files are larger than 0 bytes (procfs files are always 0), + conclude that the files differ if they have different sizes + and if more bytes will be compared than are in the smaller file. */ + + if (comparison_type == type_status + && S_ISREG (stat_buf[0].st_mode) +- && S_ISREG (stat_buf[1].st_mode)) ++ && S_ISREG (stat_buf[1].st_mode) ++ && stat_buf[0].st_size > 0 ++ && stat_buf[1].st_size > 0) + { + off_t s0 = stat_buf[0].st_size - file_position (0); + off_t s1 = stat_buf[1].st_size - file_position (1); diff --git a/diffutils.spec b/diffutils.spec index e669483..b111178 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ Summary: A GNU collection of diff utilities Name: diffutils Version: 2.8.1 -Release: 25%{?dist} +Release: 26%{?dist} Group: Applications/Text URL: http://www.gnu.org/software/diffutils/diffutils.html Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.gz @@ -13,6 +13,7 @@ Patch0: diffutils-2.8.4-i18n.patch Patch1: diffutils-2.8.1-badc.patch Patch2: diffutils-sdiff.patch Patch3: diffutils-sdiff-E.patch +Patch4: diffutils-cmp-s-empty.patch License: GPLv2+ Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -37,6 +38,7 @@ Install diffutils if you need to compare text files. %patch1 -p1 -b .badc %patch2 -p1 -b .sdiff %patch3 -p1 -b .sdiff-E +%patch4 -p1 -b .cmp-s-empty %build %configure @@ -81,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT %{_infodir}/diff.info*gz %changelog +* Fri Jun 25 2010 Tim Waugh 2.8.1-26 +- For 'cmp -s', compare file sizes only if both non-zero (bug #563618). + * Tue Aug 11 2009 Tim Waugh 2.8.1-25 - Only try to install the info file if it exists so that package installation does not fail with --excludedocs (bug #515919).