Compare commits

...
Sign in to create a new pull request.

78 commits

Author SHA1 Message Date
Fedora Release Engineering
c2b244d3c0 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 16:36:19 +00:00
Jaroslav Škarvada
011251225e New version
Resolves: rhbz#2358901
2025-04-14 15:18:50 +02:00
Fedora Release Engineering
1954ef093a Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 05:09:04 +00:00
Fedora Release Engineering
cde76d400c Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 08:34:10 +00:00
Lukáš Zaoral
ac5028cd3a
remove redundant dependency on libsigsegv
Resolves: RHEL-34664
2024-04-29 09:45:41 +02:00
Fedora Release Engineering
f8e0174a60 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 21:00:22 +00:00
Fedora Release Engineering
22c850bbbc Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-20 21:29:14 +00:00
Jaroslav Škarvada
37218d9a1c Updated SPDX license expression 2023-08-10 15:29:12 +02:00
Jaroslav Škarvada
1a6403d1ac Converted license to SPDX 2023-08-09 21:32:31 +02:00
Fedora Release Engineering
0499c5d10b Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 05:33:04 +00:00
Jaroslav Škarvada
d31abab5f7 Fixed egrep/fgrep aliases
Resolves: rhbz#2215713
2023-07-13 17:36:06 +02:00
Jaroslav Škarvada
799f88f953 Temporally dropped y2038-vs-32-bit test
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-06-09 09:06:25 +02:00
Jaroslav Škarvada
366db98e1c Workaround for FTBFS with glibc-2.37.9000
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-06-09 01:52:04 +02:00
Jaroslav Škarvada
29a85be178 New version
Resolves: rhbz#2181063
2023-06-09 00:49:21 +02:00
Jaroslav Škarvada
d59a190ef2 New version
Resolves: rhbz#2181063

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2023-03-23 15:55:07 +01:00
Jaroslav Škarvada
1d8b4cd378 New version
Resolves: rhbz#2175526
Added sources verification
2023-03-07 16:33:37 +01:00
Fedora Release Engineering
090a9ef808 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 11:30:27 +00:00
Florian Weimer
e9c80f0c51 Fix C99 compatibility issue in the configure script
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-01-03 15:52:33 +01:00
Jaroslav Škarvada
d45159f404 New version
Resolves: rhbz#2123935
Switchd to pcre2
  Resolves: rhbz#1755491
2022-09-05 21:03:43 +02:00
Fedora Release Engineering
627ec9a8a0 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 13:00:49 +00:00
Davide Cavalca
862175cb6e Gate perl-FileHandle dependency to f33 onwards 2022-04-11 11:48:38 -07:00
Frantisek Hrdina
6b4e0363ea Adding fmf plan + gating.yaml 2022-04-08 09:11:44 +02:00
Fedora Release Engineering
8ea095f9f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 11:45:32 +00:00
Jaroslav Škarvada
6340b1ed95 New version
Resolves: rhbz#1993631
Temporarily switch to the included regex until glibc bug (glibc#11053)
  is fixed
2021-08-16 22:10:32 +02:00
Fedora Release Engineering
817c2146f6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 07:04:53 +00:00
Jaroslav Škarvada
993a74637b Fixed stack overflow detection 2021-06-23 20:15:24 +02:00
Fedora Release Engineering
75261469b1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 12:56:32 +00:00
Robert Scheck
cbb1010aa0 Spec file cleanup 2021-01-18 00:56:44 +00:00
Tom Stellard
261a1f8c57 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-19 00:04:59 +00:00
Jaroslav Škarvada
69bf7800ad Added sources
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2020-11-09 19:55:56 +01:00
Jaroslav Škarvada
9b15985878 New version
Resolves: rhbz#1895797
2020-11-09 19:49:28 +01:00
Jaroslav Škarvada
15ff98af0f New version
Resolves: rhbz#1883086
2020-09-30 11:16:12 +02:00
Adam Williamson
509816512b Remove some non-portable tests that fail on armv7hl (Paul Eggert) 2020-08-28 11:00:47 -07:00
Adam Williamson
28284b81d5 Backport fix for upstream #28105 to fix zgrep (#1872913) 2020-08-26 16:28:20 -07:00
Fedora Release Engineering
e2669b9096 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 03:22:11 +00:00
Fedora Release Engineering
6d293fcd02 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 00:19:51 +00:00
Tom Stellard
d8e43283bf Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-13 19:57:22 +00:00
Jaroslav Škarvada
02c652ed71 New version
Resolves: rhbz#1818417
Added all glibc langpacks to allow more locale sensitive tests to run
Added perl-FileHandle requirement for the filename-lineno.pl test
2020-04-01 23:32:31 +02:00
Fedora Release Engineering
a1aae7177d - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 03:30:32 +00:00
Fedora Release Engineering
25e281cfda - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 07:43:16 +00:00
Björn Esser
04da6a4ea9
Remove hardcoded gzip suffix from GNU info pages 2019-04-24 14:56:33 +02:00
Jaroslav Škarvada
8cacf1c7ad New version
Resolves: rhbz#1698044
Updated patches
Dropped glibc-2.28-fix patch (not needed)
2019-04-10 11:13:55 +02:00
Fedora Release Engineering
c7109643eb - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 01:32:06 +00:00
Jaroslav Škarvada
78e9cd1f16 Fixed FTBFS with glibc-2.28
Resolves: rhbz#1604263
2018-08-09 16:44:48 +02:00
Peter Robinson
3ada89752b drop group# 2018-07-17 17:19:58 +01:00
Fedora Release Engineering
5e51d319e6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 04:30:14 +00:00
Igor Gnatenko
f46bfb5048 add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:45 +02:00
Jaroslav Škarvada
67e410dbfb Dropped install-info 2018-06-19 23:27:33 +02:00
Fedora Release Engineering
d21284058e - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 15:24:36 +00:00
Jaroslav Škarvada
40e1f55e50 Moved binaries to /usr/bin
Resolves: rhbz#1540485
2018-02-02 16:38:51 +01:00
Fedora Release Engineering
eccebfff98 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 23:02:30 +00:00
Fedora Release Engineering
7001f43fc9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 12:01:34 +00:00
Jaroslav Škarvada
501f9e6d87 New version
Related: rhbz#1421129
Updated patches
2017-07-03 11:40:34 +02:00
Jaroslav Škarvada
c232695f40 New version
Resolves: rhbz#1421129
2017-02-10 14:23:23 +01:00
Jaroslav Škarvada
f347452d64 New version
Resolves: rhbz#1419921
De-fuzzified patches
2017-02-08 10:58:15 +01:00
Jaroslav Škarvada
ef9d479716 New version
Resolves: rhbz#1402379
- De-fuzzified patches
2016-12-07 14:47:11 +01:00
Jaroslav Škarvada
98c2bb4a4e Re-enabled 'make check', glibc seems fixed 2016-10-05 14:08:35 +02:00
Jaroslav Škarvada
580b49d7de New version
Resolves: rhbz#1381203
- Disabled 'make check' due to glibc bug rhbz#1381582
2016-10-04 16:19:57 +02:00
Jaroslav Škarvada
94556aeb63 New version
Resolves: rhbz#1381203
2016-10-03 23:21:46 +02:00
Jaroslav Škarvada
35d524dfdb Added sources
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-04-22 14:36:43 +02:00
Jaroslav Škarvada
57d1bb00e2 New version
Resolves: rhbz#1329627
- De-fuzzified patches
2016-04-22 14:34:07 +02:00
Jaroslav Škarvada
7f4c49be53 New version
Resolves: rhbz#1316890
2016-03-11 14:23:28 +01:00
Jaroslav Škarvada
b6f43d343c Renamed patches to match grep version they are based on
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-02-05 16:08:12 +01:00
Jaroslav Škarvada
08a2c56622 New version
Resolves: rhbz#1305035
- Dropped disable-performance-related-tests, better-encoding-errors-handling,
  Pc-consistent-results, and test-pcre-count-fix patches (all upstreamed)
- De-fuzzified man-fx-gs, and help-align patches
2016-02-05 16:01:05 +01:00
Dennis Gilmore
9cc608b66b - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 23:17:58 +00:00
Jaroslav Škarvada
f1be6b4c72 Fixed pcre-count test on secondary architectures
(byt test-pcre-count-fix patch)
  Resolves: rhbz#1296842
2016-01-12 10:46:57 +01:00
Jaroslav Škarvada
c8514cce19 Made patch comments consistent in case
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2016-01-11 12:05:38 +01:00
Jaroslav Škarvada
97a081551e Used latest upstream patch for bug 1269014 to fix regression,
fixed order of patches
  Resolves: rhbz#1269014
2016-01-06 17:53:20 +01:00
Jaroslav Škarvada
40d7c13ce2 Improved encoding errors handling (by better-encoding-errors-handling patch)
Resolves: rhbz#1219141
- kwset-abuse test no longer needs to be explicitly set executable
2016-01-05 13:32:12 +01:00
Jaroslav Škarvada
a403fe66ef Fixed grep to be consistent in 'grep -Pc' and 'grep -P | wc -l'
Resolves: rhbz#1269014
2015-12-01 15:51:29 +01:00
Jaroslav Škarvada
ba174f15d5 Disabled performance related tests
(by disable-performance-related-tests patch), patch backported from upstream
- Dropped disable-long-pattern-perf-test patch (not needed, covered by
  previous patch)
  Resolves: rhbz#1278428
2015-11-05 14:36:31 +01:00
Jaroslav Škarvada
58a4acffa4 tests: disabled long-pattern-perf
This test doesn't seem to be suitable for distribution buildsystem.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-11-04 16:26:38 +01:00
Jaroslav Škarvada
3c2c3376fe Added profiling patch
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2015-11-04 16:12:43 +01:00
Jaroslav Škarvada
763196b31f New version
Resolves: rhbz#1277113
- Dropped buf-overrun-fix, recurse-behaviour-change-doc, gnulib
  patches (all upstreamed)
- Minor spec cleanup to be consistent with whitespaces
2015-11-04 16:09:51 +01:00
Jaroslav Škarvada
382fd79bc2 New version
Resolves: rhbz#1277113
- Dropped buf-overrun-fix, recurse-behaviour-change-doc, gnulib
  patches (all upstreamed)
- Minor spec cleanup to be consistent with whitespaces
2015-11-02 15:35:01 +01:00
Peter Robinson
498ee4a5ac Add gnulib patch to fix FTBFS with perl 5.22 2015-08-02 18:21:48 +01:00
Peter Robinson
1386273667 Minor spec cleanups and modifications, Drop Changelog, details in NEWS 2015-08-02 17:14:04 +01:00
Dennis Gilmore
3ee72574b5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 09:46:09 +00:00
15 changed files with 4016 additions and 321 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

3
.gitignore vendored
View file

@ -1 +1,2 @@
grep-*.tar.xz
/grep-*.tar.xz
/grep-*.tar.xz.sig

View file

@ -7,5 +7,5 @@ if ( $status == 1 ) then
endif
alias grep 'grep --color=auto'
alias egrep 'egrep --color=auto'
alias fgrep 'fgrep --color=auto'
alias egrep 'grep -E --color=auto'
alias fgrep 'grep -F --color=auto'

View file

@ -3,5 +3,5 @@
/usr/libexec/grepconf.sh -c || return
alias grep='grep --color=auto' 2>/dev/null
alias egrep='egrep --color=auto' 2>/dev/null
alias fgrep='fgrep --color=auto' 2>/dev/null
alias egrep='grep -E --color=auto' 2>/dev/null
alias fgrep='grep -F --color=auto' 2>/dev/null

16
gating.yaml Normal file
View file

@ -0,0 +1,16 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_testing]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
#gating rawhide
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,146 +0,0 @@
From 83a95bd8c8561875b948cadd417c653dbe7ef2e2 Mon Sep 17 00:00:00 2001
From: Yuliy Pisetsky <ypisetsky@fb.com>
Date: Thu, 01 Jan 2015 23:36:55 +0000
Subject: grep -F: fix a heap buffer (read) overrun
grep's read buffer is often filled to its full size, except when
reading the final buffer of a file. In that case, the number of
bytes read may be far less than the size of the buffer. However, for
certain unusual pattern/text combinations, grep -F would mistakenly
examine bytes in that uninitialized region of memory when searching
for a match. With carefully chosen inputs, one can cause grep -F to
read beyond the end of that buffer altogether. This problem arose via
commit v2.18-90-g73893ff with the introduction of a more efficient
heuristic using what is now the memchr_kwset function. The use of
that function in bmexec_trans could leave TP much larger than EP,
and the subsequent call to bm_delta2_search would mistakenly access
beyond end of the main input read buffer.
* src/kwset.c (bmexec_trans): When TP reaches or exceeds EP,
do not call bm_delta2_search.
* tests/kwset-abuse: New file.
* tests/Makefile.am (TESTS): Add it.
* THANKS.in: Update.
* NEWS (Bug fixes): Mention it.
Prior to this patch, this command would trigger a UMR:
printf %0360db 0 | valgrind src/grep -F $(printf %019dXb 0)
Use of uninitialised value of size 8
at 0x4142BE: bmexec_trans (kwset.c:657)
by 0x4143CA: bmexec (kwset.c:678)
by 0x414973: kwsexec (kwset.c:848)
by 0x414DC4: Fexecute (kwsearch.c:128)
by 0x404E2E: grepbuf (grep.c:1238)
by 0x4054BF: grep (grep.c:1417)
by 0x405CEB: grepdesc (grep.c:1645)
by 0x405EC1: grep_command_line_arg (grep.c:1692)
by 0x4077D4: main (grep.c:2570)
See the accompanying test for how to trigger the heap buffer overrun.
Thanks to Nima Aghdaii for testing and finding numerous
ways to break early iterations of this patch.
---
--- a/THANKS.in
+++ b/THANKS.in
@@ -62,6 +62,7 @@ Michael Aichlmayr mikla@nx.com
Miles Bader miles@ccs.mt.nec.co.jp
Mirraz Mirraz mirraz1@rambler.ru
Nelson H. F. Beebe beebe@math.utah.edu
+Nima Aghdaii naghdaii@fb.com
Olaf Kirch okir@ns.lst.de
Paul Kimoto kimoto@spacenet.tn.cornell.edu
Péter Radics mitchnull@gmail.com
diff --git a/src/kwset.c b/src/kwset.c
index 6d21893..998dbfe 100644
--- a/src/kwset.c
+++ b/src/kwset.c
@@ -643,6 +643,8 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size)
if (! tp)
return -1;
tp++;
+ if (ep <= tp)
+ break;
}
}
}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 217a731..2f69835 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -72,6 +72,7 @@ TESTS = \
inconsistent-range \
invalid-multibyte-infloop \
khadafy \
+ kwset-abuse \
long-line-vs-2GiB-read \
match-lines \
max-count-overread \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index e40a070..9ecafe7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1376,6 +1376,7 @@ TESTS = \
inconsistent-range \
invalid-multibyte-infloop \
khadafy \
+ kwset-abuse \
long-line-vs-2GiB-read \
match-lines \
max-count-overread \
@@ -2030,6 +2031,13 @@
$(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)
+kwset-abuse.log: kwset-abuse
+ @p='kwset-abuse'; \
+ b='kwset-abuse'; \
+ $(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)
long-line-vs-2GiB-read.log: long-line-vs-2GiB-read
@p='long-line-vs-2GiB-read'; \
diff --git a/tests/kwset-abuse b/tests/kwset-abuse
new file mode 100755
index 0000000..6d8ec0c
--- a/dev/null
+++ b/tests/kwset-abuse
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Evoke a segfault in a hard-to-reach code path of kwset.c.
+# This bug affected grep versions 2.19 through 2.21.
+#
+# Copyright (C) 2015 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+fail=0
+
+# This test case chooses a haystack of size 260,000, since prodding
+# with gdb showed a reallocation slightly larger than that in fillbuf.
+# To reach the buggy code, the needle must have length < 1/11 that of
+# the haystack, and 10,000 is a nice round number that fits the bill.
+printf '%0260000dXy\n' 0 | grep -F $(printf %010000dy 0)
+
+test $? = 1 || fail=1
+
+Exit $fail
--
cgit v0.9.0.2

View file

@ -1,30 +0,0 @@
diff --git a/src/grep.c b/src/grep.c
index e3461a7..50a9868 100644
--- a/src/grep.c
+++ b/src/grep.c
@@ -1757,17 +1757,20 @@ Output control:\n\
-D, --devices=ACTION how to handle devices, FIFOs and sockets;\n\
ACTION is 'read' or 'skip'\n\
-r, --recursive like --directories=recurse\n\
- -R, --dereference-recursive likewise, but follow all symlinks\n\
+ -R, --dereference-recursive\n\
+ likewise, but follow all symlinks\n\
"));
printf (_("\
- --include=FILE_PATTERN search only files that match FILE_PATTERN\n\
- --exclude=FILE_PATTERN skip files and directories matching\
+ --include=FILE_PATTERN\n\
+ search only files that match FILE_PATTERN\n\
+ --exclude=FILE_PATTERN\n\
+ skip files and directories matching\
FILE_PATTERN\n\
--exclude-from=FILE skip files matching any file pattern from FILE\n\
- --exclude-dir=PATTERN directories that match PATTERN will be skipped.\n\
+ --exclude-dir=PATTERN directories that match PATTERN will be skipped.\n\
"));
printf (_("\
- -L, --files-without-match print only names of FILEs containing no match\n\
+ -L, --files-without-match print only names of FILEs containing no match\n\
-l, --files-with-matches print only names of FILEs containing matches\n\
-c, --count print only a count of matching lines per FILE\n\
-T, --initial-tab make tabs line up (if needed)\n\

View file

@ -1,61 +0,0 @@
diff --git a/doc/grep.in.1 b/doc/grep.in.1
index b6362ee..5a1e3ea 100644
--- a/doc/grep.in.1
+++ b/doc/grep.in.1
@@ -314,7 +314,7 @@ Print
.I NUM
lines of trailing context after matching lines.
Places a line containing a group separator
-.RB ( \-\^\- )
+.RB "(described under " \-\^\-group\-separator )
between contiguous groups of matches.
With the
.B \-o
@@ -327,7 +327,7 @@ Print
.I NUM
lines of leading context before matching lines.
Places a line containing a group separator
-.RB ( \-\^\- )
+.RB "(described under " \-\^\-group\-separator )
between contiguous groups of matches.
With the
.B \-o
@@ -340,13 +340,24 @@ Print
.I NUM
lines of output context.
Places a line containing a group separator
-.RB ( \-\^\- )
+.RB "(described under " \-\^\-group\-separator )
between contiguous groups of matches.
With the
.B \-o
or
.B \-\^\-only\-matching
option, this has no effect and a warning is given.
+.TP
+.BI \-\^\-group\-separator= SEP
+Use
+.I SEP
+as a group separator. By default
+.I SEP
+is double hyphen
+.RB ( \-\^\- ).
+.TP
+.B \-\^\-no\-group-separator
+Use empty string as a group separator.
.SS "File and Directory Selection"
.TP
.BR \-a ", " \-\^\-text
diff --git a/src/grep.c b/src/grep.c
index 8dbf86e..e3461a7 100644
--- a/src/grep.c
+++ b/src/grep.c
@@ -1781,6 +1781,8 @@ Context control:\n\
"));
printf (_("\
-NUM same as --context=NUM\n\
+ --group-separator=SEP use SEP as a group separator\n\
+ --no-group-separator use empty string as a group separator\n\
--color[=WHEN],\n\
--colour[=WHEN] use markers to highlight the matching strings;\n\
WHEN is 'always', 'never', or 'auto'\n\

View file

@ -1,24 +0,0 @@
diff --git a/doc/grep.in.1 b/doc/grep.in.1
index 5a1e3ea..3f633ea 100644
--- a/doc/grep.in.1
+++ b/doc/grep.in.1
@@ -478,6 +478,7 @@ Search only files whose base name matches
.BR \-r ", " \-\^\-recursive
Read all files under each directory, recursively,
following symbolic links only if they are on the command line.
+Note that if no file operand is given, grep searches the working directory.
This is equivalent to the
.B "\-d recurse"
option.
diff --git a/doc/grep.texi b/doc/grep.texi
index da9a1be..63016bd 100644
--- a/doc/grep.texi
+++ b/doc/grep.texi
@@ -698,6 +698,7 @@ For each directory operand,
read and process all files in that directory, recursively.
Follow symbolic links on the command line, but skip symlinks
that are encountered recursively.
+Note that if no file operand is given, grep searches the working directory.
This is the same as the @samp{--directories=recurse} option.
@item -R

View file

@ -0,0 +1,38 @@
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 223088f..315ced7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -195,7 +195,6 @@ TESTS = \
word-delim-multibyte \
word-multi-file \
word-multibyte \
- write-error-msg \
y2038-vs-32-bit \
yesno \
z-anchor-newline
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 3270d30..33dcd8a 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -2729,7 +2729,6 @@ TESTS = \
word-delim-multibyte \
word-multi-file \
word-multibyte \
- write-error-msg \
y2038-vs-32-bit \
yesno \
z-anchor-newline
@@ -3970,13 +3969,6 @@ word-multibyte.log: word-multibyte
--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)
-write-error-msg.log: write-error-msg
- @p='write-error-msg'; \
- b='write-error-msg'; \
- $(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)
y2038-vs-32-bit.log: y2038-vs-32-bit
@p='y2038-vs-32-bit'; \
b='y2038-vs-32-bit'; \

23
grep-3.5-help-align.patch Normal file
View file

@ -0,0 +1,23 @@
diff --git a/src/grep.c b/src/grep.c
index a530988..b6f6ee3 100644
--- a/src/grep.c
+++ b/src/grep.c
@@ -2023,7 +2023,8 @@ Output control:\n\
-D, --devices=ACTION how to handle devices, FIFOs and sockets;\n\
ACTION is 'read' or 'skip'\n\
-r, --recursive like --directories=recurse\n\
- -R, --dereference-recursive likewise, but follow all symlinks\n\
+ -R, --dereference-recursive\n\
+ likewise, but follow all symlinks\n\
"));
printf (_("\
--include=GLOB search only files that match GLOB (a file pattern)"
@@ -2033,7 +2034,7 @@ Output control:\n\
--exclude-dir=GLOB skip directories that match GLOB\n\
"));
printf (_("\
- -L, --files-without-match print only names of FILEs with no selected lines\n\
+ -L, --files-without-match print only names of FILEs with no selected lines\n\
-l, --files-with-matches print only names of FILEs with selected lines\n\
-c, --count print only a count of selected lines per FILE\n\
-T, --initial-tab make tabs line up (if needed)\n\

3637
grep-keyring.gpg Normal file

File diff suppressed because it is too large Load diff

341
grep.spec
View file

@ -1,33 +1,43 @@
%define _bindir /bin
Summary: Pattern matching utilities
Name: grep
Version: 2.21
Release: 5%{?dist}
License: GPLv3+
Group: Applications/Text
Source: ftp://ftp.gnu.org/pub/gnu/grep/grep-%{version}.tar.xz
Source1: colorgrep.sh
Source2: colorgrep.csh
Source3: GREP_COLORS
Source4: grepconf.sh
# upstream ticket 39444
Patch0: grep-2.21-man-fix-gs.patch
Version: 3.12
Release: 2%{?dist}
License: GPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND GFDL-1.3-no-invariants-or-later
URL: https://www.gnu.org/software/grep/
Source0: https://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.xz
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
Source2: https://savannah.gnu.org/project/release-gpgkeys.php?group=grep&download=1'#/grep-keyring.gpg
Source3: colorgrep.sh
Source4: colorgrep.csh
Source5: GREP_COLORS
Source6: grepconf.sh
# upstream ticket 39445
Patch1: grep-2.21-help-align.patch
# fix buffer overrun for grep -F, rhbz#1183653
Patch2: grep-2.21-buf-overrun-fix.patch
# backported from upstream
# http://git.savannah.gnu.org/cgit/grep.git/commit/?id=c8b9364d5900a40809827aee6cc53705073278f6
Patch3: grep-2.21-recurse-behaviour-change-doc.patch
URL: http://www.gnu.org/software/grep/
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: pcre-devel >= 3.9-10, texinfo, gettext
BuildRequires: autoconf automake
Patch: grep-3.5-help-align.patch
# upstream ticket 77800
Patch: grep-3.12-test-write-error-msg-drop.patch
BuildRequires: gcc
BuildRequires: pcre2-devel
BuildRequires: texinfo
BuildRequires: gettext
BuildRequires: autoconf
BuildRequires: automake
# temporal for the gnulib patch
BuildRequires: gettext-devel
Buildrequires: glibc-all-langpacks
BuildRequires: perl(FileHandle)
BuildRequires: make
BuildRequires: gnupg2
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
# for backward compatibility (rhbz#1540485)
Provides: /bin/grep
Provides: /bin/fgrep
Provides: /bin/egrep
%description
The GNU versions of commonly used grep utilities. Grep searches through
@ -37,13 +47,8 @@ prints the matching lines. GNU's grep utilities include grep, egrep and fgrep.
GNU grep is needed by many scripts, so it shall be installed on every system.
%prep
%setup -q
%patch0 -p1 -b .man-fix-gs
%patch1 -p1 -b .help-align
%patch2 -p1 -b .buf-overrun-fix
%patch3 -p1 -b .recurse-behaviour-change-doc
chmod 755 tests/kwset-abuse
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1
%build
%global BUILD_FLAGS $RPM_OPT_FLAGS
@ -55,40 +60,25 @@ chmod 755 tests/kwset-abuse
%global BUILD_FLAGS %{BUILD_FLAGS} -mlong-double-64
%endif
%configure --without-included-regex --disable-silent-rules \
CPPFLAGS="-I%{_includedir}/pcre" CFLAGS="%{BUILD_FLAGS}"
make %{?_smp_mflags}
%configure --without-included-regex --disable-silent-rules CFLAGS="%{BUILD_FLAGS}"
%make_build
%install
rm -rf ${RPM_BUILD_ROOT}
make %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install
%make_install
gzip $RPM_BUILD_ROOT%{_infodir}/grep*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
install -pm 644 %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
install -pm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}
install -Dpm 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/grepconf.sh
install -pm 644 %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
install -pm 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}
install -Dpm 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/grepconf.sh
%find_lang %name
%check
make check
%clean
rm -rf ${RPM_BUILD_ROOT}
%post
/sbin/install-info --quiet --info-dir=%{_infodir} %{_infodir}/grep.info.gz || :
%preun
if [ $1 = 0 ]; then
/sbin/install-info --quiet --info-dir=%{_infodir} --delete %{_infodir}/grep.info.gz || :
fi
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc ABOUT-NLS AUTHORS THANKS TODO NEWS README ChangeLog
%{!?_licensedir:%global license %%doc}
%doc AUTHORS THANKS TODO NEWS README
%license COPYING
%{_bindir}/*
@ -99,6 +89,249 @@ fi
%{_libexecdir}/grepconf.sh
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Apr 14 2025 Jaroslav Škarvada <jskarvad@redhat.com> - 3.12-1
- New version
Resolves: rhbz#2358901
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Apr 29 2024 Lukáš Zaoral <lzaoral@redhat.com> - 3.11-8
- remove redundant dependency on libsigsegv (RHEL-34664)
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Aug 10 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.11-5
- Updated SPDX license expression
* Wed Aug 9 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.11-4
- Converted license to SPDX
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.11-2
- Fixed egrep/fgrep aliases
Resolves: rhbz#2215713
* Tue Jun 6 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.11-1
- New version
Resolves: rhbz#2181063
* Thu Mar 23 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.10-1
- New version
Resolves: rhbz#2181063
* Tue Mar 7 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.9-1
- New version
Resolves: rhbz#2175526
- Added sources verification
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 3 2023 Florian Weimer <fweimer@redhat.com> - 3.8-2
- Fix C99 compatibility issue in the configure script
* Mon Sep 5 2022 Jaroslav Škarvada <jskarvad@redhat.com> - 3.8-1
- New version
Resolves: rhbz#2123935
- Switchd to pcre2
Resolves: rhbz#1755491
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Apr 8 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 3.7-3
- Gate perl-FileHandle dependency to f33 onwards
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Aug 16 2021 Jaroslav Škarvada <jskarvad@redhat.com> - 3.7-1
- New version
Resolves: rhbz#1993631
- Temporarily switch to the included regex until glibc bug (glibc#11053)
is fixed
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 23 2021 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6-3
- Fixed stack overflow detection
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 9 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6-1
- New version
Resolves: rhbz#1895797
* Wed Sep 30 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5-1
- New version
Resolves: rhbz#1883086
* Wed Aug 26 2020 Adam Williamson <awilliam@redhat.com> - 3.4-5
- Backport fix for upstream #28105 to fix zgrep
Resolves: rhbz#1872913
- Remove some non-portable tests that fail on armv7hl (Paul Eggert)
Resolves: rhbz#1863830
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 3.4-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Wed Apr 1 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4-1
- New version
Resolves: rhbz#1818417
- Added all glibc langpacks to allow more locale sensitive tests to run
- Added perl-FileHandle requirement for the filename-lineno.pl test
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 3.3-2
- Remove hardcoded gzip suffix from GNU info pages
* Wed Apr 10 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3-1
- New version
Resolves: rhbz#1698044
- Updated patches
- Dropped glibc-2.28-fix patch (not needed)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Aug 9 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.1-8
- Fixed FTBFS with glibc-2.28
Resolves: rhbz#1604263
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.1-6
- Dropped install-info
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Feb 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.1-4
- Moved binaries to /usr/bin
Resolves: rhbz#1540485
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 3 2017 Jaroslav Škarvada <jskarvad@redhat.com> - 3.1-1
- New version
Related: rhbz#1421129
- Updated patches
* Fri Feb 10 2017 Jaroslav Škarvada <jskarvad@redhat.com> - 3.0-1
- New version
Resolves: rhbz#1421129
* Wed Feb 8 2017 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28-1
- New version
Resolves: rhbz#1419921
- De-fuzzified patches
* Wed Dec 7 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.27-1
- New version
Resolves: rhbz#1402379
- De-fuzzified patches
* Wed Oct 5 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26-2
- Re-enabled 'make check', glibc seems fixed
* Mon Oct 3 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26-1
- New version
Resolves: rhbz#1381203
- Disabled 'make check' due to glibc bug rhbz#1381582
* Fri Apr 22 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.25-1
- New version
Resolves: rhbz#1329627
- De-fuzzified patches
* Fri Mar 11 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.24-1
- New version
Resolves: rhbz#1316890
* Fri Feb 5 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.23-1
- New version
Resolves: rhbz#1305035
- Dropped disable-performance-related-tests, better-encoding-errors-handling,
Pc-consistent-results, and test-pcre-count-fix patches (all upstreamed)
- De-fuzzified man-fx-gs, and help-align patches
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.22-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 12 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-6
- Fixed pcre-count test on secondary architectures
(byt test-pcre-count-fix patch)
Resolves: rhbz#1296842
* 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
- Improved encoding errors handling (by better-encoding-errors-handling patch)
Resolves: rhbz#1219141
- kwset-abuse test no longer needs to be explicitly set executable
* Tue Dec 1 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-3
- Fixed grep to be consistent in 'grep -Pc' and 'grep -P | wc -l'
Resolves: rhbz#1269014
* Thu Nov 5 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-2
- Disabled performance related tests
(by disable-performance-related-tests patch), patch backported from upstream
- Dropped disable-long-pattern-perf-test patch (not needed, covered by
previous patch)
Resolves: rhbz#1278428
* Mon Nov 2 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 2.22-1
- New version
Resolves: rhbz#1277113
- Dropped buf-overrun-fix, recurse-behaviour-change-doc, gnulib
patches (all upstreamed)
- Minor spec cleanup to be consistent with whitespaces
* Sun Aug 2 2015 Peter Robinson <pbrobinson@fedoraproject.org> 2.21-7
- Minor spec cleanups and modifications
- Drop Changelog, details in NEWS
- Add gnulib patch to fix FTBFS with perl 5.22
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.21-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Apr 7 2015 Jaroslav Škarvada <jskarvad@redhat.com> - 2.21-5
- Documented change in behaviour of recurse option
Resolves: rhbz#1178305

6
plans/all.fmf Normal file
View file

@ -0,0 +1,6 @@
summary: Test plan with all Fedora tests
discover:
how: fmf
url: https://src.fedoraproject.org/tests/grep.git
execute:
how: tmt

View file

@ -1 +1,2 @@
43c48064d6409862b8a850db83c8038a grep-2.21.tar.xz
SHA512 (grep-3.12.tar.xz) = c54b4db5a8b9afe098c088decd94977746305284d716666a60bac82b4edc0fae4acf828970b5b6fc7d58ecd549f638e17e6958f33a71fedcc7d7415b9228b161
SHA512 (grep-3.12.tar.xz.sig) = 333755fd9e5879436789a19e9593667d6fb96c2d1b876a1c391eb9cd75d10bb7fbc10215db9838280e6006790c818ef4583b1ae22318a833a5b69264ca15dbf1