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"
