diff options
author | root <root@rshg054.dnsready.net> | 2012-07-17 00:01:52 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-07-17 00:01:52 +0000 |
commit | 412d061bfbf23d1e908eed3f8405b1af46fb1ba8 (patch) | |
tree | ee137173c889a2b7279200c20b168f9d9b9fdd64 /testing/grep | |
parent | 50a1eb604b2d5503a06d56b76347faa581160245 (diff) |
Tue Jul 17 00:01:52 UTC 2012
Diffstat (limited to 'testing/grep')
-rw-r--r-- | testing/grep/PKGBUILD | 34 | ||||
-rw-r--r-- | testing/grep/grep-2.11-exclude-dir-crash.patch | 44 | ||||
-rw-r--r-- | testing/grep/grep.install | 21 |
3 files changed, 99 insertions, 0 deletions
diff --git a/testing/grep/PKGBUILD b/testing/grep/PKGBUILD new file mode 100644 index 000000000..0b6547630 --- /dev/null +++ b/testing/grep/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 163569 2012-07-16 02:50:23Z dreisner $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=grep +pkgver=2.13 +pkgrel=2 +pkgdesc="A string search utility" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/grep/grep.html" +groups=('base') +depends=('glibc' 'pcre' 'sh') +makedepends=('texinfo') +install=${pkgname}.install +source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +md5sums=('5894d484e6c02249f9702d0d8a472115' + '99acaa4d45ab931be2ecba49a1766df7') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --without-included-regex + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/grep/grep-2.11-exclude-dir-crash.patch b/testing/grep/grep-2.11-exclude-dir-crash.patch new file mode 100644 index 000000000..6b1731768 --- /dev/null +++ b/testing/grep/grep-2.11-exclude-dir-crash.patch @@ -0,0 +1,44 @@ +From 12c957f786b12a4dd116f9c40a715d671d17fa16 Mon Sep 17 00:00:00 2001 +From: Allan McRae <allan@archlinux.org> +Date: Mon, 12 Mar 2012 09:28:01 +0100 +Subject: [PATCH] grep: fix segfault with -r --exclude-dir and no file operand + +* src/main.c (grepdir): Don't invoke excluded_file_name on NULL. +* NEWS (Bug fixes): Mention it. +--- + NEWS | 5 +++++ + src/main.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/NEWS b/NEWS +index d0a63d5..d4d70f5 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,11 @@ GNU grep NEWS -*- outline -*- + + * Noteworthy changes in release ?.? (????-??-??) [?] + ++** Bug fixes ++ ++ grep no longer segfaults with -r --exclude-dir and no file operand. ++ I.e., ":|grep -r --exclude-dir=D PAT" would segfault. ++ + + * Noteworthy changes in release 2.11 (2012-03-02) [stable] + +diff --git a/src/main.c b/src/main.c +index 2f6c761..f4f1235 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1361,7 +1361,7 @@ grepdir (char const *dir, struct stats const *stats) + struct stats const *ancestor; + char *name_space; + int status = 1; +- if (excluded_directory_patterns ++ if (dir && excluded_directory_patterns + && excluded_file_name (excluded_directory_patterns, dir)) + return 1; + +-- +1.7.9.3 + diff --git a/testing/grep/grep.install b/testing/grep/grep.install new file mode 100644 index 000000000..7cd31301f --- /dev/null +++ b/testing/grep/grep.install @@ -0,0 +1,21 @@ +infodir=usr/share/info +filelist=(grep.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + |