Used latest upstream patch for bug 1269014 to fix regression,
fixed order of patches Resolves: rhbz#1269014
This commit is contained in:
parent
40d7c13ce2
commit
97a081551e
@ -1,24 +1,81 @@
|
|||||||
diff --git a/src/grep.c b/src/grep.c
|
diff --git a/src/grep.c b/src/grep.c
|
||||||
|
index eac540a..9fabeb8 100644
|
||||||
--- a/src/grep.c
|
--- a/src/grep.c
|
||||||
+++ b/src/grep.c
|
+++ b/src/grep.c
|
||||||
@@ -1415,13 +1415,13 @@ grep (int fd, struct stat const *st)
|
@@ -1386,7 +1386,8 @@ grep (int fd, struct stat const *st)
|
||||||
|
has_nulls = true;
|
||||||
|
if (binary_files == WITHOUT_MATCH_BINARY_FILES)
|
||||||
|
return 0;
|
||||||
|
- done_on_match = out_quiet = true;
|
||||||
|
+ if (!count_matches)
|
||||||
|
+ done_on_match = out_quiet = true;
|
||||||
|
nul_zapper = eol;
|
||||||
|
skip_nuls = skip_empty_lines;
|
||||||
}
|
}
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
/* Detect whether leading context is adjacent to previous output. */
|
index 2ade5be..2079ae5 100644
|
||||||
- if (lastout)
|
--- a/tests/Makefile.am
|
||||||
- {
|
+++ b/tests/Makefile.am
|
||||||
- if (textbin == TEXTBIN_UNKNOWN)
|
@@ -106,6 +106,7 @@ TESTS = \
|
||||||
- textbin = TEXTBIN_TEXT;
|
pcre \
|
||||||
- if (beg != lastout)
|
pcre-abort \
|
||||||
- lastout = 0;
|
pcre-context \
|
||||||
- }
|
+ pcre-count \
|
||||||
+ if (beg != lastout)
|
pcre-infloop \
|
||||||
+ lastout = 0;
|
pcre-invalid-utf8-input \
|
||||||
|
pcre-jitstack \
|
||||||
|
diff --git a/tests/Makefile.in b/tests/Makefile.in
|
||||||
|
index b5bd7b5..ee516da 100644
|
||||||
|
--- a/tests/Makefile.in
|
||||||
|
+++ b/tests/Makefile.in
|
||||||
|
@@ -1442,6 +1442,7 @@ TESTS = \
|
||||||
|
pcre \
|
||||||
|
pcre-abort \
|
||||||
|
pcre-context \
|
||||||
|
+ pcre-count \
|
||||||
|
pcre-infloop \
|
||||||
|
pcre-invalid-utf8-input \
|
||||||
|
pcre-jitstack \
|
||||||
|
@@ -2250,6 +2251,13 @@ pcre-context.log: pcre-context
|
||||||
|
--log-file $$b.log --trs-file $$b.trs \
|
||||||
|
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||||
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
+pcre-count.log: pcre-count
|
||||||
|
+ @p='pcre-count'; \
|
||||||
|
+ b='pcre-count'; \
|
||||||
|
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
||||||
|
+ --log-file $$b.log --trs-file $$b.trs \
|
||||||
|
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||||
|
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
pcre-infloop.log: pcre-infloop
|
||||||
|
@p='pcre-infloop'; \
|
||||||
|
b='pcre-infloop'; \
|
||||||
|
diff --git a/tests/pcre-count b/tests/pcre-count
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000..78e1c7c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/pcre-count
|
||||||
|
@@ -0,0 +1,23 @@
|
||||||
|
+#! /bin/sh
|
||||||
|
+# grep -P / grep -Pc are inconsistent results
|
||||||
|
+# This bug affected grep versions 2.21 through 2.22.
|
||||||
|
+#
|
||||||
|
+# Copyright (C) 2015 Free Software Foundation, Inc.
|
||||||
|
+#
|
||||||
|
+# Copying and distribution of this file, with or without modification,
|
||||||
|
+# are permitted in any medium without royalty provided the copyright
|
||||||
|
+# notice and this notice are preserved.
|
||||||
+
|
+
|
||||||
+ /* If the file's textbin has not been determined yet, assume
|
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||||
+ it's text if has found any matched line already. */
|
+require_pcre_
|
||||||
+ if (textbin == TEXTBIN_UNKNOWN && nlines)
|
+
|
||||||
+ textbin = TEXTBIN_TEXT;
|
+fail=0
|
||||||
|
+
|
||||||
/* Handle some details and read more data to scan. */
|
+printf 'a\n%032768d\nb\x0\n%032768d\na\n' 0 0 > in
|
||||||
save = residue + lim - beg;
|
+
|
||||||
|
+LC_ALL=C grep -P 'a' in | wc -l > exp
|
||||||
|
+
|
||||||
|
+LC_ALL=C grep -Pc 'a' in > out || fail=1
|
||||||
|
+compare exp out || fail=1
|
||||||
|
+
|
||||||
|
+Exit $fail
|
||||||
|
@ -31,7 +31,7 @@ index e3495bb..41f4fa5 100644
|
|||||||
|
|
||||||
If @var{type} is @samp{text},
|
If @var{type} is @samp{text},
|
||||||
diff --git a/src/grep.c b/src/grep.c
|
diff --git a/src/grep.c b/src/grep.c
|
||||||
index 9ae6af8..eac540a 100644
|
index 2748fd3..eac540a 100644
|
||||||
--- a/src/grep.c
|
--- a/src/grep.c
|
||||||
+++ b/src/grep.c
|
+++ b/src/grep.c
|
||||||
@@ -377,7 +377,6 @@ bool match_icase;
|
@@ -377,7 +377,6 @@ bool match_icase;
|
||||||
@ -454,18 +454,22 @@ index 9ae6af8..eac540a 100644
|
|||||||
lastnl = bufbeg;
|
lastnl = bufbeg;
|
||||||
if (lastout)
|
if (lastout)
|
||||||
lastout = bufbeg;
|
lastout = bufbeg;
|
||||||
@@ -1418,11 +1444,6 @@ grep (int fd, struct stat const *st)
|
@@ -1415,13 +1441,8 @@ grep (int fd, struct stat const *st)
|
||||||
if (beg != lastout)
|
}
|
||||||
lastout = 0;
|
|
||||||
|
/* Detect whether leading context is adjacent to previous output. */
|
||||||
|
- if (lastout)
|
||||||
|
- {
|
||||||
|
- if (textbin == TEXTBIN_UNKNOWN)
|
||||||
|
- textbin = TEXTBIN_TEXT;
|
||||||
|
- if (beg != lastout)
|
||||||
|
- lastout = 0;
|
||||||
|
- }
|
||||||
|
+ if (beg != lastout)
|
||||||
|
+ lastout = 0;
|
||||||
|
|
||||||
- /* If the file's textbin has not been determined yet, assume
|
|
||||||
- it's text if has found any matched line already. */
|
|
||||||
- if (textbin == TEXTBIN_UNKNOWN && nlines)
|
|
||||||
- textbin = TEXTBIN_TEXT;
|
|
||||||
-
|
|
||||||
/* Handle some details and read more data to scan. */
|
/* Handle some details and read more data to scan. */
|
||||||
save = residue + lim - beg;
|
save = residue + lim - beg;
|
||||||
if (out_byte)
|
|
||||||
@@ -1434,22 +1455,6 @@ grep (int fd, struct stat const *st)
|
@@ -1434,22 +1455,6 @@ grep (int fd, struct stat const *st)
|
||||||
suppressible_error (filename, errno);
|
suppressible_error (filename, errno);
|
||||||
goto finish_grep;
|
goto finish_grep;
|
||||||
|
25
grep.spec
25
grep.spec
@ -3,7 +3,7 @@
|
|||||||
Summary: Pattern matching utilities
|
Summary: Pattern matching utilities
|
||||||
Name: grep
|
Name: grep
|
||||||
Version: 2.22
|
Version: 2.22
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.gnu.org/software/grep/
|
URL: http://www.gnu.org/software/grep/
|
||||||
Group: Applications/Text
|
Group: Applications/Text
|
||||||
@ -17,10 +17,15 @@ Source4: grepconf.sh
|
|||||||
Patch0: grep-2.22-man-fix-gs.patch
|
Patch0: grep-2.22-man-fix-gs.patch
|
||||||
# upstream ticket 39445
|
# upstream ticket 39445
|
||||||
Patch1: grep-2.22-help-align.patch
|
Patch1: grep-2.22-help-align.patch
|
||||||
|
# Backported from upstream, mb-non-UTF8-performance and long-pattern-perf tests
|
||||||
|
# marked as expensive and not run by default. The result is decided according
|
||||||
|
# to measured runtime, which doesn't work reliable on the builders with
|
||||||
|
# variable load.
|
||||||
Patch2: grep-2.22-disable-performance-related-tests.patch
|
Patch2: grep-2.22-disable-performance-related-tests.patch
|
||||||
|
# backported from upstream
|
||||||
|
Patch3: grep-2.22-better-encoding-errors-handling.patch
|
||||||
# backported from upstream, upstream bug#22028
|
# backported from upstream, upstream bug#22028
|
||||||
Patch3: grep-2.22-Pc-consistent-results.patch
|
Patch4: grep-2.22-Pc-consistent-results.patch
|
||||||
Patch4: grep-2.22-better-encoding-errors-handling.patch
|
|
||||||
Requires(post): /sbin/install-info
|
Requires(post): /sbin/install-info
|
||||||
Requires(preun): /sbin/install-info
|
Requires(preun): /sbin/install-info
|
||||||
|
|
||||||
@ -40,15 +45,12 @@ GNU grep is needed by many scripts, so it shall be installed on every system.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .man-fix-gs
|
%patch0 -p1 -b .man-fix-gs
|
||||||
%patch1 -p1 -b .help-align
|
%patch1 -p1 -b .help-align
|
||||||
# Backported from upstream, mb-non-UTF8-performance and long-pattern-perf tests
|
|
||||||
# marked as expensive and not run by default. The result is decided according
|
|
||||||
# to measured runtime, which doesn't work reliable on the builders with
|
|
||||||
# variable load.
|
|
||||||
%patch2 -p1 -b .disable-performance-related-tests
|
%patch2 -p1 -b .disable-performance-related-tests
|
||||||
%patch3 -p1 -b .Pc-consistent-results
|
%patch3 -p1 -b .better-encoding-errors-handling
|
||||||
%patch4 -p1 -b .better-encoding-errors-handling
|
%patch4 -p1 -b .Pc-consistent-results
|
||||||
|
|
||||||
chmod 755 tests/encoding-error
|
chmod 755 tests/encoding-error
|
||||||
|
chmod 755 tests/pcre-count
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%global BUILD_FLAGS $RPM_OPT_FLAGS
|
%global BUILD_FLAGS $RPM_OPT_FLAGS
|
||||||
@ -99,6 +101,11 @@ fi
|
|||||||
%{_libexecdir}/grepconf.sh
|
%{_libexecdir}/grepconf.sh
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 6 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-5
|
||||||
|
- Used latest upstream patch for bug 1269014 to fix regression,
|
||||||
|
fixed order of patches
|
||||||
|
Resolves: rhbz#1269014
|
||||||
|
|
||||||
* Tue Jan 5 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-4
|
* Tue Jan 5 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-4
|
||||||
- Improved encoding errors handling (by better-encoding-errors-handling patch)
|
- Improved encoding errors handling (by better-encoding-errors-handling patch)
|
||||||
Resolves: rhbz#1219141
|
Resolves: rhbz#1219141
|
||||||
|
Loading…
Reference in New Issue
Block a user