aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/bogofilter
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/bogofilter
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.bz2
openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.zip
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/bogofilter')
-rw-r--r--recipes/bogofilter/bogofilter-0.96.0/configure.ac.patch34
-rw-r--r--recipes/bogofilter/bogofilter_0.96.0.bb38
-rw-r--r--recipes/bogofilter/files/bogohelper.sh12
-rw-r--r--recipes/bogofilter/files/postfix-filter.sh25
-rw-r--r--recipes/bogofilter/files/volatiles1
5 files changed, 110 insertions, 0 deletions
diff --git a/recipes/bogofilter/bogofilter-0.96.0/configure.ac.patch b/recipes/bogofilter/bogofilter-0.96.0/configure.ac.patch
new file mode 100644
index 0000000000..310eaaa16d
--- /dev/null
+++ b/recipes/bogofilter/bogofilter-0.96.0/configure.ac.patch
@@ -0,0 +1,34 @@
+--- bogofilter-0.96.0/configure.ac.orig 2005-09-04 20:42:35.000000000 +0200
++++ bogofilter-0.96.0/configure.ac 2005-09-04 20:45:12.000000000 +0200
+@@ -460,6 +460,7 @@
+ dnl check if run-time link works
+ saveLIBS="$LIBS"
+ LIBS="$LIBS $LIBDB"
++ if test x$cross_compiling = xNO ; then
+ AC_MSG_CHECKING(if a program can be linked against Berkeley DB and run)
+ AC_RUN_IFELSE(
+ AC_LANG_PROGRAM([[
+@@ -500,6 +501,7 @@
+ [AC_MSG_RESULT(no)
+ AC_MSG_ERROR(db.h header file and db library version do not match.)],)
+ AC_MSG_RESULT(yes)
++ fi
+ AC_CHECK_DECLS(db_create,,
+ AC_MSG_ERROR([[Can not locate a suitable Berkeley DB db.h header file.
+ Use --with-libdb-prefix=PATH to specify the path to a v3+ install directory.
+@@ -509,6 +511,7 @@
+ #endif
+ #include <db.h>]]
+ )
++ if test x$cross_compiling = xNO ; then
+ AC_MSG_CHECKING(if Berkeley DB supports shared environments)
+ if test "x$enable_dbshared_test" != xno && test "x$USE_TRANSACTIONS" != xNO ; then
+ AC_RUN_IFELSE(
+@@ -548,6 +551,7 @@
+ else
+ AC_MSG_RESULT(skipped)
+ fi
++ fi
+
+ AC_DEFINE(ENABLE_DB_DATASTORE,1, [Enable Berkeley DB datastore])
+ LIBS="$saveLIBS"
diff --git a/recipes/bogofilter/bogofilter_0.96.0.bb b/recipes/bogofilter/bogofilter_0.96.0.bb
new file mode 100644
index 0000000000..72cec9be3c
--- /dev/null
+++ b/recipes/bogofilter/bogofilter_0.96.0.bb
@@ -0,0 +1,38 @@
+SECTION = "console/network"
+DEPENDS = "virtual/db"
+RDEPENDS = "glibc-gconv glibc-gconv-iso8859-1"
+DESCRIPTION = "Bogofilter is a mail filter that classifies mail as spam or ham (non-spam) \
+by a statistical analysis of the message's header and content (body). \
+The program is able to learn from the user's classifications and corrections."
+LICENSE = "GPL"
+PR = "r7"
+PRIORITY = "optional"
+
+SRC_URI = "http://download.sourceforge.net/bogofilter/bogofilter-${PV}.tar.bz2 \
+ file://${FILESDIR}/configure.ac.patch;patch=1 \
+ file://volatiles \
+ file://postfix-filter.sh \
+ file://bogohelper.sh \
+ "
+
+inherit autotools
+
+EXTRA_OECONF = "--with-libdb-prefix=${libdir}"
+
+do_install_append () {
+ mkdir -p ${D}${sysconfdir}/default/volatiles
+ install -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/01_bogofilter
+ install -m 755 ${WORKDIR}/postfix-filter.sh ${D}${bindir}/postfix-filter.sh
+ install -m 755 ${WORKDIR}/bogohelper.sh ${D}${bindir}/bogohelper.sh
+}
+
+pkg_postinst () {
+ grep filter /etc/group || addgroup filter
+ grep spam /etc/passwd || adduser --disabled-password --home=/var/spool/filter --ingroup filter -g "Bogofilter" spam
+ grep bogo /etc/passwd || adduser --disabled-password --home=/home/bogo --ingroup filter -g "Bogofilter" bogo
+ [ -f "/etc/postfix/master.cf" ] && grep "/usr/bin/postfix-filter.sh" /etc/postfix/master.cf || {
+ echo "bogofilter unix - n n - - pipe" >> /etc/postfix/master.cf
+ echo " flags=R user=bogo argv=/usr/bin/postfix-filter.sh -f ${sender} -- ${recipient}" >> /etc/postfix/master.cf
+ }
+ /etc/init.d/populate-volatile.sh update
+}
diff --git a/recipes/bogofilter/files/bogohelper.sh b/recipes/bogofilter/files/bogohelper.sh
new file mode 100644
index 0000000000..5be7aeae7e
--- /dev/null
+++ b/recipes/bogofilter/files/bogohelper.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if [ -d "$2" ] ; then
+ echo -e "\ncd $2"
+ cd "$2"
+
+ for i in `find . -name '*.' -maxdepth 1` ; do
+ echo "bogofilter -d /opt/var/spool/bogofilter -t -v $1 < $i"
+ bogofilter -d /opt/var/spool/bogofilter -t -v "$1" < "$i"
+ done
+fi
+
diff --git a/recipes/bogofilter/files/postfix-filter.sh b/recipes/bogofilter/files/postfix-filter.sh
new file mode 100644
index 0000000000..156330b43d
--- /dev/null
+++ b/recipes/bogofilter/files/postfix-filter.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+FILTER=/usr/bin/bogofilter
+FILTER_DIR=/var/spool/filter
+POSTFIX=/usr/sbin/sendmail
+export BOGOFILTER_DIR=/home/bogo
+
+# Exit codes from <sysexits.h>
+EX_TEMPFAIL=75
+EX_UNAVAILABLE=69
+
+cd $FILTER_DIR || { echo $FILTER_DIR does not exist; exit $EX_TEMPFAIL; }
+
+# Clean up when done or when aborting.
+trap "rm -f msg.$$ ; exit $EX_TEMPFAIL" 0 1 2 3 15
+
+# bogofilter -e returns: 0 for OK, nonzero for error
+rm -f msg.$$ || exit $EX_TEMPFAIL
+$FILTER -p -u -e > msg.$$ || exit $EX_TEMPFAIL
+
+exec <msg.$$ || exit $EX_TEMPFAIL
+rm -f msg.$$ # safe, we hold the file descriptor
+exec $POSTFIX "$@"
+exit $EX_TEMPFAIL
+
diff --git a/recipes/bogofilter/files/volatiles b/recipes/bogofilter/files/volatiles
new file mode 100644
index 0000000000..f460c91fea
--- /dev/null
+++ b/recipes/bogofilter/files/volatiles
@@ -0,0 +1 @@
+d spam filter 0770 /var/spool/filter none