[arch-commits] Commit in pcre/trunk (PKGBUILD r661.diff)

Allan McRae allan at archlinux.org
Mon Aug 22 11:32:16 UTC 2011


    Date: Monday, August 22, 2011 @ 07:32:16
  Author: allan
Revision: 136062

fix regex issue

Added:
  pcre/trunk/r661.diff
Modified:
  pcre/trunk/PKGBUILD

-----------+
 PKGBUILD  |   19 +++++++++++++++----
 r661.diff |   26 ++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-08-22 11:18:10 UTC (rev 136061)
+++ PKGBUILD	2011-08-22 11:32:16 UTC (rev 136062)
@@ -5,24 +5,35 @@
 
 pkgname=pcre
 pkgver=8.13
-pkgrel=1
+pkgrel=2
 pkgdesc="A library that implements Perl 5-style regular expressions"
 arch=('i686' 'x86_64')
 url="http://www.pcre.org/"
 license=('BSD')
 depends=('gcc-libs')
 options=('!libtool')
-source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('5e595edbcded141813fa1a10dbce05cb')
+source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2
+        r661.diff)
+md5sums=('5e595edbcded141813fa1a10dbce05cb'
+         '70e2725b46ff6f3f114ce5067fd03405')
 
-
 build() {
   cd "${srcdir}"/${pkgname}-${pkgver}
+  
+  # http://bugs.exim.org/show_bug.cgi?id=1136
+  patch -Np2 -i "${srcdir}"/r661.diff
+  sed -i '12140d' testdata/testoutput2
+  
   [ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
   ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties
   make
 }
 
+check() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  make check
+}
+
 package() {
   cd "${srcdir}"/${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install

Added: r661.diff
===================================================================
--- r661.diff	                        (rev 0)
+++ r661.diff	2011-08-22 11:32:16 UTC (rev 136062)
@@ -0,0 +1,26 @@
+--- code/trunk/pcre_compile.c	2011/08/02 11:00:40	654
++++ code/trunk/pcre_compile.c	2011/08/21 09:00:54	661
+@@ -2295,8 +2295,13 @@
+ A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
+ It seems that the appearance of a nested POSIX class supersedes an apparent
+ external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
+-a digit. Also, unescaped square brackets may also appear as part of class
+-names. For example, [:a[:abc]b:] gives unknown class "[:abc]b:]"in Perl.
++a digit. 
++
++In Perl, unescaped square brackets may also appear as part of class names. For
++example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
++[:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
++seem right at all. PCRE does not allow closing square brackets in POSIX class 
++names.
+ 
+ Arguments:
+   ptr      pointer to the initial [
+@@ -2314,6 +2319,7 @@
+   {
+   if (*ptr == CHAR_BACKSLASH && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)
+     ptr++;
++  else if (*ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE;   
+   else
+     {
+     if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)




More information about the arch-commits mailing list