Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mbhangui
indimail-spamfilter
_service:extract_file:PKGBUILD
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:extract_file:PKGBUILD of Package indimail-spamfilter
# Maintainer: Manvendra Bhangui <indimail-spamfilter@indimail.org> pkgname=indimail-spamfilter pkgver=1.0.0 pkgrel=1.1 pkgdesc="Fast anti-spam filtering by Bayesian statistical analysis" arch=('i686' 'x86_64') url="https://github.com/mbhangui/indimail-virtualdomains" license=('GPL3') groups=('base-devel') depends=('coreutils') makedepends=('db' 'gsl' 'xmlto' 'sed' 'findutils' 'flex' 'bison' 'gzip') source=("$pkgname-${pkgver}.tar.gz") sha256sums=('SKIP') _sysconfdir=/etc/indimail _myconfdir=$(echo ${_sysconfdir} | cut -c2-) backup=(${_myconfdir}/{'bogofilter.cf','bogofilter.cf.example','perm_list.bogofilter'}) provides=("pkgname") options=('strip' '!libtool' 'docs' 'staticlibs' 'zipman' 'debug') install=archpkg.install changelog=$pkgname.changes _prefix=/usr _servicedir=/service build() { cd $srcdir/$pkgname-${pkgver} HOME='.';export HOME ./configure --prefix=${_prefix} --sbindir=${_prefix}/bin \ --libexecdir=${_prefix}/libexec/indimail \ --sysconfdir=${_sysconfdir} --mandir=${_prefix}/share/man \ --datarootdir=${_prefix}/share/indimail --enable-indimail make -s } package() { depends=('indimail-mta') conflicts=('indimail<3.2') cd $srcdir/$pkgname-${pkgver} make DESTDIR=${pkgdir} install cd $srcdir ( echo "NAME=${pkgname}" echo "Description=\"IndiMail Spamfilter Package\"" echo "SPAMFILTER_version="${pkgver}-${pkgrel}"" echo "ID=${pkgname}" echo "HOME_URL=\"https://github.com/mbhangui/indimail-virtualdomains\"" echo "PACKAGE_BUGREPORT=\"'Manvendra Bhangui <indimail-spamfilter@indimail.org>'\"" ) > ${pkgname}-release install -D -m 0644 ${pkgname}-release "$pkgdir""${_sysconfdir}"/${pkgname}-release } #### INSTALL SCRIPTS #### _prefix=/usr _sysconfdir=/etc/indimail _servicedir=/service fixperms() { if [ $# -eq 3 ] ; then # directory lin=$2 file=$3 if [ ! -d $file ] ; then return 0 fi elif [ $# = 2 ] ; then # file lin=$1 file=$2 if [ ! -f $file ] ; then return 0 fi fi perm=`echo $lin|cut -d\( -f2 | cut -d, -f1` perm_f1=`echo $perm | cut -c1` own=`echo $lin|cut -d\( -f2 | cut -d, -f2` grp=`echo $lin|cut -d\( -f2 | cut -d, -f3|cut -d\) -f1` if [ -f $file ] ; then if [ $perm_f1 -eq 0 ] ; then # perm_f1 is 4755, 0644 /bin/chown $own:$grp $file /bin/chmod $perm $file else echo $file /bin/chown $own:$grp $file /bin/chmod $perm $file fi elif [ -d $file ] ; then /bin/chown $own:$grp $file /bin/chmod $perm $file fi } post_install() { if [ -f ${_sysconfdir}/perm_list.bogofilter ] ; then echo "Fixing Permissions" ( /bin/grep -v "^#" ${_sysconfdir}/perm_list.bogofilter | while read line do if [ " $line" = " " ] ; then continue fi fixperms $line done ) > ${sysconfdir_}/indimail-spamfilter-stat.override fi if [ -d /run ] ; then logfifo="/run/indimail/logfifo" mkdir -p /run/indimail elif [ -d /var/run ] ; then logfifo="/var/run/indimail/logfifo" mkdir -p /var/run/indimail else logfifo="/tmp/logfifo" fi # SMTP # Configure SPAMFILTER, LOGFILTER for port in 465 25 do if [ ! -d ${_servicedir}/qmail-smtpd.$port ] ; then continue fi if [ -f ${_servicedir}/qmail-smtpd.$port/variables/QMAILQUEUE ] ; then mv ${_servicedir}/qmail-smtpd.$port/variables/QMAILQUEUE \ ${_servicedir}/qmail-smtpd.$port/variables/SPAMQUEUE if [ $? -eq 0 ] ; then echo "${_prefix}/sbin/qmail-spamfilter" > ${_servicedir}/qmail-smtpd.$port/variables/QMAILQUEUE fi fi # update SPAMFILTER and also change .options, so that refreshsvc doesn't lose the settings if [ ! -f ${_servicedir}/qmail-smtpd.$port/variables/SPAMFILTER ] ; then echo "${_prefix}/bin/bogofilter -p -d ${_sysconfdir}" > ${_servicedir}/qmail-smtpd.$port/variables/SPAMFILTER elif [ ! -s ${_servicedir}/qmail-smtpd.$port/variables/SPAMFILTER ] ; then echo "${_prefix}/bin/bogofilter -p -d ${_sysconfdir}" > ${_servicedir}/qmail-smtpd.$port/variables/SPAMFILTER fi if [ ! -f ${_servicedir}/qmail-smtpd.$port/variables/SPAMEXITCODE ] ; then echo 0 > ${_servicedir}/qmail-smtpd.$port/variables/SPAMEXITCODE fi if [ ! -f ${_servicedir}/qmail-smtpd.$port/variables/REJECTSPAM ] ; then echo 0 > ${_servicedir}/qmail-smtpd.$port/variables/REJECTSPAM fi if [ ! -f ${_servicedir}/qmail-smtpd.$port/variables/MAKESEEKABLE ] ; then echo 1 > ${_servicedir}/qmail-smtpd.$port/variables/MAKE_SEEKABLE elif [ ! -s ${_servicedir}/qmail-smtpd.$port/variables/MAKESEEKABLE ] ; then echo 1 > ${_servicedir}/qmail-smtpd.$port/variables/MAKE_SEEKABLE fi if [ ! -f ${_servicedir}/qmail-smtpd.$port/variables/LOGFILTER ] ; then echo $logfifo > ${_servicedir}/qmail-smtpd.$port/variables/LOGFILTER fi grep bogofilter ${_servicedir}/qmail-smtpd.$port/variables/.options > /dev/null 2>&1 if [ $? -ne 0 ] ; then options="`cat ${_servicedir}/qmail-smtpd.$port/variables/.options`" options="$options --spamfilter=\"${_prefix}/bin/bogofilter -p -d ${_sysconfdir}\"" options="$options --logfilter=\"$logfifo\" --rejectspam=\"0\" --spamexitcode=\"0\"" if [ -f ${_servicedir}/qmail-smtpd.$port/variables/.options ] ; then cp ${_servicedir}/qmail-smtpd.$port/variables/.options \ ${_servicedir}/qmail-smtpd.$port/variables/.options.nospamfilter fi echo $options > ${_servicedir}/qmail-smtpd.$port/variables/.options fi done if [ -d ${_servicedir}/fetchmail ] ; then if [ -f ${_servicedir}/fetchmail/variables/QMAILQUEUE ] ; then mv ${_servicedir}/fetchmail/variables/QMAILQUEUE \ ${_servicedir}/fetchmail/variables/SPAMQUEUE if [ $? -eq 0 ] ; then echo "${_prefix}/sbin/qmail-spamfilter" > ${_servicedir}/fetchmail/variables/QMAILQUEUE fi fi # update SPAMFILTER and also change .options, so that refreshsvc doesn't lose the settings if [ ! -f ${_servicedir}/fetchmail/variables/SPAMFILTER ] ; then echo "${_prefix}/bin/bogofilter -p -d ${_sysconfdir}" > ${_servicedir}/fetchmail/variables/SPAMFILTER elif [ ! -s ${_servicedir}/fetchmail/variables/SPAMFILTER ] ; then echo "${_prefix}/bin/bogofilter -p -d ${_sysconfdir}" > ${_servicedir}/fetchmail/variables/SPAMFILTER fi if [ ! -f ${_servicedir}/fetchmail/variables/SPAMEXITCODE ] ; then echo 0 > ${_servicedir}/fetchmail/variables/SPAMEXITCODE fi if [ ! -f ${_servicedir}/fetchmail/variables/REJECTSPAM ] ; then echo 0 > ${_servicedir}/fetchmail/variables/REJECTSPAM fi if [ ! -f ${_servicedir}/fetchmail/variables/MAKESEEKABLE ] ; then echo 1 > ${_servicedir}/fetchmail/variables/MAKE_SEEKABLE elif [ ! -s ${_servicedir}/fetchmail/variables/MAKESEEKABLE ] ; then echo 1 > ${_servicedir}/fetchmail/variables/MAKE_SEEKABLE fi if [ ! -f ${_servicedir}/fetchmail/variables/LOGFILTER ] ; then echo $logfifo > ${_servicedir}/fetchmail/variables/LOGFILTER fi grep bogofilter ${_servicedir}/fetchmail/variables/.options > /dev/null 2>&1 if [ $? -ne 0 ] ; then options="`cat ${_servicedir}/fetchmail/variables/.options`" options="$options --spamfilter=\"${_prefix}/bin/bogofilter -p -d ${_sysconfdir}\"" options="$options --logfilter=\"$logfifo\" --rejectspam=\"0\" --spamexitcode=\"0\"" if [ -f ${_servicedir}/fetchmail/variables/.options ] ; then cp ${_servicedir}/fetchmail/variables/.options \ ${_servicedir}/fetchmail/variables/.options.nospamfilter fi echo $options > ${_servicedir}/fetchmail/variables/.options fi fi # # bogofilter configuration # if [ -d ${_sysconfdir} ] ; then if [ -x ${_prefix}/sbin/svctool ] ; then ${_prefix}/sbin/svctool --config=bogofilter fi fi } post_upgrade() { if [ -f ${_sysconfdir}/perm_list.bogofilter ] ; then echo "Fixing Permissions" ( /bin/grep -v "^#" ${_sysconfdir}/perm_list.bogofilter | while read line do if [ " $line" = " " ] ; then continue fi fixperms $line done ) > ${sysconfdir_}/indimail-spamfilter-stat.override fi } post_remove() { for dir in fetchmail qmail-smtpd.465 qmail-smtpd.25 do > ${_servicedir}/$dir/variables/SPAMFILTER > ${_servicedir}/$dir/variables/SPAMEXITCODE > ${_servicedir}/$dir/variables/REJECTSPAM > ${_servicedir}/$dir/variables/LOGFILTER if [ -f ${_servicedir}/$dir/variables/.options.nospamfilter ] ; then mv ${_servicedir}/$dir/variables/.options.nospamfilter \ ${_servicedir}/$dir/variables/.options fi if [ -f ${_servicedir}/$dir/variables/SPAMQUEUE ] ; then mv ${_servicedir}/$dir/variables/SPAMQUEUE \ ${_servicedir}/$dir/variables/QMAILQUEUE fi done }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor