SHA256
1
0
forked from pool/grep

Accepting request 235298 from home:AndreasStieger:branches:Base:System

GNU grep 2.19

OBS-URL: https://build.opensuse.org/request/show/235298
OBS-URL: https://build.opensuse.org/package/show/Base:System/grep?expand=0&rev=48
This commit is contained in:
Andreas Stieger 2014-05-24 17:06:08 +00:00 committed by Git OBS Bridge
parent af2cc815a7
commit 6cf01df445
7 changed files with 73 additions and 99 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6436e5077fa1497feccc8feaabd3f507b172369bf120fbc9e4874bba81be720
size 1213220

View File

@ -1,19 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQJ8BAABCgBmBQJTB4YQXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxNTVEM0ZDNTAwQzgzNDQ4NkQxRUVBNjc3
RkQ5RkNDQjAwMEJFRUVFAAoJEH/Z/MsAC+7uPVcP/1Bl2HSdRbbRi/qGm96F/E7U
oFRBkQH0lM9Om1n3iojaJduvfLllGao6/k0dbxWZ8LyGh7/BgJvhT1+s4gOZz7TL
B0/T3xvcF7z0GagtRQCp3+Mos7iYjF0yXbRi3187yAcSYgThTGub+EhjGnc6Wlez
N1KTnV/VyLsae2HWrQv4YfOtUJrd5QDt8kvDPl5rbeubQa1dDPcPPrY2UWcxWFd9
U1ZnvIcZMGKrt2Z5e42marTSr7BLESSzktHkyQvvMPKesI1Sg4PI10/PsQf4X/W3
hMXnRJk2bBkQzxFxlibxfJYO4Naa9cNra1peaBb0R3FtXIf/YbwBFFI+fD7iumi3
3+QO1eHI69JQ97yKkC37VEd8bDmvtMhYv7DT53+bpqsBi7ZUa1BLzd3yMF6hi98/
TjtFiOSmABNfoxT6TnLMm+wVcJyr0maqJH4bBiGbXbrQYBjOY4NLlAZXkslkI5Lh
h6Fvp1wAnkXuUWAKMw9lmtOOD9F0Tv7wpejAWi2Zcl2GxaVNS1eAcff1ipD/I6Ta
qEwlQnzvXWHIbXbuAYt7fFLT4TED6wEe0ToRU4WYmfXF18heY9XOGMxw0jrIOHaX
EYWhBLNuKd/4yKJUHM6bn0qi+r9ZzhBnCFgS6+fVqxO/1lZ0FRO/Nk3hlQVlm9LY
1201l3y13Tr+5ai+XoGG
=Stn0
-----END PGP SIGNATURE-----

3
grep-2.19.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6388295be48cfcaf7665d9cd3914e6625ea000e9414132bfefd45cf1d8eec34d
size 1234676

19
grep-2.19.tar.xz.sig Normal file
View File

@ -0,0 +1,19 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQJ8BAABCgBmBQJTftigXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxNTVEM0ZDNTAwQzgzNDQ4NkQxRUVBNjc3
RkQ5RkNDQjAwMEJFRUVFAAoJEH/Z/MsAC+7ujlkQAJu1Xfd8i+brp0ybO27HU/og
0Y8ShHt4lZU3v9qD6S8DQNIElWQNdU0zXs4IHpfOdI4op2t3gYnIfZDYrorxDh5j
pXCrP/StuiGSLBIaAVYC+cbHEB9z1AnLUDXSvpNfrbPPqhnNI77uTwE1pb3+O+EY
UD6fsuoT+7dt6u7uVagae8sw6t2ctbKgxBcTOax6g1yCVbZeNZLeWg+k6EXyP3Tf
yOYpWQxboqRw+8H8gTcL+ASWVcn5INFfyuCBvjDTS8sBvep+TF8Or72DgDVu5aPW
rc3SaEYUuj1reGYPywqqkjUWojBS5l1BY5xD5ZoEdl7QhfLc5+LagUPkeHOeG9oI
UGfcacHkLAj9JLIcy2BMqVxL62lMzQF6czZrDbtTBTcWdeRW679Ua17txk9835ns
Em28CxbKPAOlWPewSTMvdNPYcvUguVMVKL05bhHR2R2bNwA8SkpjXmD1dLV63Tph
M/ymiP3xEQTrIg+djphJ4ga/iJYMhZKMpDA9k96MRQOBZ01hMJY0CWgOvP3RX4sv
1AHBywX6+x9RBEwXWYlOVxbLUIrixwtrm4CZ+PsoE7WELDu0anI9kDYcZmKSiylU
3ly4DgkBXJGD6LFQ350V2EGe2R5t1egv7XpxhsarAKtIAx8uus2HcE6xc5Jbm1Dn
OZIl3exgUG//MyuuGv9k
=4B9E
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,50 @@
-------------------------------------------------------------------
Sat May 24 16:50:50 UTC 2014 - andreas.stieger@gmx.de
- GNU grep 2.19
- Improvements:
* Performance has improved, typically by 10% and in some cases by
a factor of 200. However, performance of grep -P in UTF-8
locales has gotten worse as part of the fix for the crashes
mentioned below.
- Bug fixes:
* grep no longer mishandles patterns like [a-[.z.]], and no
longer mishandles patterns like [^a] in locales that have
multicharacter collating sequences so that [^a] can match a
string of two characters.
* grep no longer mishandles an empty pattern at the end of a
pattern list.
* grep -C NUM now outputs separators consistently even when NUM
is zero, and similarly for grep -A NUM and grep -B NUM.
* grep -f no longer mishandles patterns containing NUL bytes.
* Plain grep, grep -E, and grep -F now treat encoding errors in
patterns the same way the GNU regular expression matcher treats
them, with respect to whether the errors can match parts of
multibyte characters in data.
* grep -w no longer mishandles a potential match adjacent to a
letter that takes up two or more bytes in a multibyte encoding.
Similarly, the patterns '\<', '\>', '\b', and '\B' no longer
mishandle word-boundary matches in multibyte locales.
* grep -P now reports an error and exits when given invalid UTF-8
data. Previously it was unreliable, and sometimes crashed or
looped.
* grep -P now works with -w and -x and backreferences. Before,
echo aa|grep -Pw '(.)\1' would fail to match, yet
echo aa|grep -Pw '(.)\2' would match.
* grep -Pw now works like grep -w in that the matched string has
to be preceded and followed by non-word components or the
beginning and end of the line (as opposed to word boundaries
before). Before, this
echo a@@a| grep -Pw @@ would match, yet this
echo a@@a| grep -w @@ would not. Now, they both fail to match,
per the documentation on how grep's -w works.
* grep -i no longer mishandles patterns containing titlecase
characters. For example, in a locale containing the titlecase
character 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL LETTER
J), 'grep -i Lj' now matches both 'LJ' (U+01C7 LATIN CAPITAL
LETTER LJ) and 'lj' (U+01C9 LATIN SMALL LETTER LJ).
- remove mb-non-UTF8-performance.patch, committed upstream
-------------------------------------------------------------------
Tue Mar 25 15:10:02 UTC 2014 - schwab@suse.de

View File

@ -17,7 +17,7 @@
Name: grep
Version: 2.18
Version: 2.19
Release: 0
Summary: Print lines matching a pattern
License: GPL-3.0+
@ -26,20 +26,16 @@ Url: http://www.gnu.org/software/grep/
Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
Source2: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
Source3: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=grep&download=1#/%{name}.keyring
# PATCH-FIX-UPSTREAM http://git.savannah.gnu.org/cgit/grep.git/commit/?id=6e3ea0dd74426fd394225d3f9dc132e40cd92fd2
Patch0: mb-non-UTF8-performance.patch
BuildRequires: makeinfo
BuildRequires: pcre-devel
BuildRequires: xz
Requires(pre): %{install_info_prereq}
Provides: base:%{_bindir}/grep
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} < 1120
BuildRequires: pcre
%endif
Provides: base:/usr/bin/grep
Requires(pre): %{install_info_prereq}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The grep command searches one or more input files for lines
containing a match to a specified pattern. By default, grep prints
@ -47,7 +43,6 @@ the matching lines.
%prep
%setup -q
%patch0 -p1
%if 0%{?suse_version} < 1120
echo "ac_cv_search_pcre_compile=\${ac_cv_search_pcre_compile=%{_libdir}/libpcre.a}" >config.cache
%endif

View File

@ -1,68 +0,0 @@
Index: grep-2.18/tests/init.cfg
===================================================================
--- grep-2.18.orig/tests/init.cfg
+++ grep-2.18/tests/init.cfg
@@ -103,6 +103,21 @@ require_unibyte_locale()
skip_ 'no unibyte locale found'
}
+# Define hi_res_time_ to a function that prints the current time
+# as a floating point number with greater than 1-second resolution.
+# Otherwise, skip the requiring test.
+require_hi_res_time_()
+{
+ local cmd
+ for cmd in 'date +%s.%N' \
+ 'perl -le "use Time::HiRes qw(time); print scalar time()"'; do
+ case $($cmd) in
+ *.[0-9]*) eval 'hi_res_time_() { '"$cmd"'; }'; break;;
+ esac
+ done
+ type hi_res_time_ || skip_ no high-resolution timer support
+}
+
require_JP_EUC_locale_()
{
local locale=ja_JP.eucJP
Index: grep-2.18/tests/mb-non-UTF8-performance
===================================================================
--- grep-2.18.orig/tests/mb-non-UTF8-performance
+++ grep-2.18/tests/mb-non-UTF8-performance
@@ -1,5 +1,7 @@
#!/bin/sh
# grep-2.17 would take nearly 200x longer to run the command below.
+# The 200x is on an Intel i7-based system.
+# On an AMD FX-4100, it would take up to 2500x longer.
# Copyright 2014 Free Software Foundation, Inc.
@@ -18,15 +20,26 @@
. "${srcdir=.}/init.sh"; path_prepend_ ../src
require_timeout_
+require_hi_res_time_
fail=0
-require_JP_EUC_locale_
-
yes $(printf '%078d' 0) | head -50000 > in || framework_failure_
+start=$(hi_res_time_)
+LC_ALL=C grep -i foobar in; st=$?
+stop=$(hi_res_time_)
+
+# Use a multiple of the LC_ALL=C duration as the timeout for the JP/EUC test.
+# A multiple of 3 seems to be enough for i5,i7, but AMD needs >25.
+timeout=$($AWK 'BEGIN { print 50 * ('$stop' - '$start')}' < /dev/null)
+
+test $st = 1 || fail=1
+
+require_JP_EUC_locale_
+
# Expect no match, i.e., exit status of 1. Anything else is an error.
-timeout 4 grep -i foobar in; st=$?
+timeout $timeout grep -i foobar in; st=$?
test $st = 1 || fail=1
Exit $fail