Date: Monday, September 2, 2013 @ 19:44:50
  Author: spupykin
Revision: 96636

Added:
  libsieve/trunk/crash-fix.patch
Modified:
  libsieve/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   30 +++++++++++++++++++++++++-----
 crash-fix.patch |   23 +++++++++++++++++++++++
 2 files changed, 48 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2013-09-02 16:09:57 UTC (rev 96635)
+++ PKGBUILD    2013-09-02 17:44:50 UTC (rev 96636)
@@ -3,7 +3,7 @@
 
 pkgname=libsieve
 pkgver=2.3.1
-pkgrel=2
+pkgrel=3
 pkgdesc="sieve interpretator lib"
 arch=(i686 x86_64)
 url="http://libsieve.sourceforge.net/";
@@ -10,14 +10,19 @@
 license=('GPL')
 options=('!libtool')
 
source=("https://github.com/downloads/sodabrew/libsieve/libsieve-$pkgver.tar.gz";
-       "glibc-regex.patch")
+       "glibc-regex.patch"
+       "crash-fix.patch")
 md5sums=('bb48eecf877cc7fdb2b0dfe757b48d7a'
-         '0d98d9e8f0583857616b2ba98f1833fa')
+         '0d98d9e8f0583857616b2ba98f1833fa'
+         '47a8b42be9bce4dba695258441572d99')
 
 prepare() {
   cd "$srcdir/$pkgname-$pkgver"
   rm -rf src/sv_regex
+  rm -f src/sv_parser/{addr,header,sieve}.{c,h}
+  rm -f src/sv_parser/{addr,header,sieve}-lex.{c,h}
   patch -p1 <$srcdir/glibc-regex.patch
+  patch -p1 <$srcdir/crash-fix.patch
 }
 
 build() {
@@ -25,7 +30,10 @@
   aclocal
   automake
   autoconf
+#  export CFLAGS="-g -O2"
+#  export LDFLAGS="-g -O2"
   ./configure --prefix=/usr
+  (cd src/sv_parser && for i in `ls -1 *.l | sed 's|\.l||'`; do flex 
--header-file=$i.h -o $i.c $i.l; done)
   make
 }
 
@@ -33,8 +41,20 @@
   cd "$srcdir/$pkgname-$pkgver/src/sv_test"
   ls -1 script* | while read script; do
     ls -1 message* | while read msg; do
-      msg "checking $script $msg"
-      ./example $script $msg || true # upstream bugs?
+      if [ "$script" == "script22.sv" ]; then
+        # script22.sv: syntax errors check
+        msg "checking !$script $msg"
+        ./example $script $msg && false || true
+      else
+        if [ "$script" == "script23.sv" ]; then
+          # script23.sv: enotify looks unsupported or I don't know how to use 
it - skip it
+          msg "skipping $script $msg"
+          true
+        else
+          msg "checking $script $msg"
+          ./example $script $msg
+        fi
+      fi
     done
   done
 }

Added: crash-fix.patch
===================================================================
--- crash-fix.patch                             (rev 0)
+++ crash-fix.patch     2013-09-02 17:44:50 UTC (rev 96636)
@@ -0,0 +1,23 @@
+diff -wbBur libsieve-2.3.1/src/sv_parser/header.y 
libsieve-2.3.1.q/src/sv_parser/header.y
+--- libsieve-2.3.1/src/sv_parser/header.y      2012-05-31 13:16:50.000000000 
+0400
++++ libsieve-2.3.1.q/src/sv_parser/header.y    2013-09-02 20:21:26.000000000 
+0400
+@@ -70,7 +70,7 @@
+                 }
+         | body WRAP             {
+                 TRACE_DEBUG( "body: body WRAP: %s %s", $1, $2 );
+-                $$ = libsieve_strbuf(context->strbuf, libsieve_strconcat( $1, 
$2, NULL ), strlen($1)+strlen($2), FREEME);
++                $$ = libsieve_strbuf(context->strbuf, libsieve_strconcat( $1 
? $1 : "", $2, NULL ), strlen($1 ? $1 : "")+strlen($2), FREEME);
+                 };
+ 
+ %%
+diff -wbBur libsieve-2.3.1/src/sv_parser/addr.y 
libsieve-2.3.1.q/src/sv_parser/addr.y
+--- libsieve-2.3.1/src/sv_parser/addr.y        2012-05-31 13:16:50.000000000 
+0400
++++ libsieve-2.3.1.q/src/sv_parser/addr.y      2013-09-02 21:42:15.267979609 
+0400
+@@ -38,6 +38,7 @@
+ 
+ /* sv_util */
+ #include "src/sv_util/util.h"
++#include "src/sv_interface/context2.h"
+ 
+ /* sv_parser */
+ #include "addr.h"

Reply via email to