Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Sep 2010 16:14:18 GMT
From:      Nagy@FreeBSD.org, Attila <bra@fsn.hu>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/150790: New port: mail/dovecot20-pigeonhole
Message-ID:  <201009211614.o8LGEISI038746@www.freebsd.org>
Resent-Message-ID: <201009211620.o8LGK2mb064246@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         150790
>Category:       ports
>Synopsis:       New port: mail/dovecot20-pigeonhole
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 21 16:20:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Nagy, Attila
>Release:        FreeBSD 8-STABLE
>Organization:
>Environment:
>Description:
Pigeonhole is the name of the project that adds support for the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the Dovecot Secure IMAP Server.

Features

    * The Pigeonhole Sieve implementation aims to be admin- and user-friendly. Much like Dovecot, common error messages are made as easily understandable as possible. Any crash, no matter how it happened, is considered a bug that will be fixed. The compiler does not bail on the first error, but it looks for more script errors to make debugging more efficient.
    * The Pigeonhole Sieve implementation is, much like the language itself, highly extensible with new Sieve capabilities. This includes support for third-party plugins. It should eventually provide the necessary infrastructure for at least all currently known relevant (proposed) Sieve extensions. The goal is to keep the extension interface provided by the Sieve implementation as generic as possible, i.e. without explicit support for specific extensions. New similar extensions can then use the same interface methods without changes to the Sieve engine code. If an extension is not loaded using the require command, the compiler truly does not know of its existance.
    * The Pigeonhole Sieve plugin is backwards compatible with the old CMUSieve plugin. All Sieve extensions supported by the old plugin are also supported by the Pigeonhole Sieve plugin, including those that are now considered to be deprecated.
    * The Pigeonhole Sieve implementation supports executing multiple Sieve scripts sequentially. Using this feature it is possible to execute administrator-controlled Sieve scripts before and after the user's personal Sieve script, guaranteeing that responses and message deliveries are never duplicated. This implementation is based on a draft specification, which defines the Sieve behavior when multiple scripts are executed sequentially on the same message.
    * The Pigeonhole Sieve implementation includes a test suite to automatically assess whether the compiled Sieve engine works correctly. The test suite is an extension to the Sieve language and is therefore easily extended with new tests. Currently, the test suite is mostly limited to testing script processing. The performed actions are not tested fully yet.
    * The Pigeonhole Sieve implementation supports the new and very useful variables extension.
    * The Pigeonhole Sieve plugin is distributed with a sieve-test tool that simplifies testing Sieve scripts and provides additional debugging facilities.

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	dovecot20-pigeonhole
#	dovecot20-pigeonhole/pkg-plist
#	dovecot20-pigeonhole/pkg-descr
#	dovecot20-pigeonhole/Makefile
#	dovecot20-pigeonhole/distinfo
#	dovecot20-pigeonhole/files
#	dovecot20-pigeonhole/files/pkg-message.in
#
echo c - dovecot20-pigeonhole
mkdir -p dovecot20-pigeonhole > /dev/null 2>&1
echo x - dovecot20-pigeonhole/pkg-plist
sed 's/^X//' >dovecot20-pigeonhole/pkg-plist << 'cbbc58944a463c05cfdf694911acb619'
Xbin/sieve-dump
Xbin/sieve-test
Xbin/sievec
Xinclude/dovecot/sieve/pigeonhole-config.h
Xinclude/dovecot/sieve/rfc2822.h
Xinclude/dovecot/sieve/sieve-actions.h
Xinclude/dovecot/sieve/sieve-address-parts.h
Xinclude/dovecot/sieve/sieve-address.h
Xinclude/dovecot/sieve/sieve-ast.h
Xinclude/dovecot/sieve/sieve-binary-dumper.h
Xinclude/dovecot/sieve/sieve-binary-private.h
Xinclude/dovecot/sieve/sieve-binary.h
Xinclude/dovecot/sieve/sieve-code-dumper.h
Xinclude/dovecot/sieve/sieve-code.h
Xinclude/dovecot/sieve/sieve-commands.h
Xinclude/dovecot/sieve/sieve-common.h
Xinclude/dovecot/sieve/sieve-comparators.h
Xinclude/dovecot/sieve/sieve-config.h
Xinclude/dovecot/sieve/sieve-dump.h
Xinclude/dovecot/sieve/sieve-error-private.h
Xinclude/dovecot/sieve/sieve-error.h
Xinclude/dovecot/sieve/sieve-ext-enotify.h
Xinclude/dovecot/sieve/sieve-ext-environment.h
Xinclude/dovecot/sieve/sieve-ext-variables.h
Xinclude/dovecot/sieve/sieve-extensions.h
Xinclude/dovecot/sieve/sieve-generator.h
Xinclude/dovecot/sieve/sieve-interpreter.h
Xinclude/dovecot/sieve/sieve-lexer.h
Xinclude/dovecot/sieve/sieve-limits.h
Xinclude/dovecot/sieve/sieve-match-types.h
Xinclude/dovecot/sieve/sieve-match.h
Xinclude/dovecot/sieve/sieve-message.h
Xinclude/dovecot/sieve/sieve-objects.h
Xinclude/dovecot/sieve/sieve-parser.h
Xinclude/dovecot/sieve/sieve-plugins.h
Xinclude/dovecot/sieve/sieve-result.h
Xinclude/dovecot/sieve/sieve-runtime-trace.h
Xinclude/dovecot/sieve/sieve-runtime.h
Xinclude/dovecot/sieve/sieve-script-private.h
Xinclude/dovecot/sieve/sieve-script.h
Xinclude/dovecot/sieve/sieve-settings.h
Xinclude/dovecot/sieve/sieve-smtp.h
Xinclude/dovecot/sieve/sieve-stringlist.h
Xinclude/dovecot/sieve/sieve-types.h
Xinclude/dovecot/sieve/sieve-validator.h
Xinclude/dovecot/sieve/sieve.h
Xlib/dovecot/lib90_sieve_plugin.a
Xlib/dovecot/lib90_sieve_plugin.la
Xlib/dovecot/lib90_sieve_plugin.so
Xlib/dovecot/libdovecot-sieve.a
Xlib/dovecot/libdovecot-sieve.la
Xlib/dovecot/libdovecot-sieve.so
Xlib/dovecot/libdovecot-sieve.so.0
Xlib/dovecot/settings/libmanagesieve_login_settings.a
Xlib/dovecot/settings/libmanagesieve_login_settings.la
Xlib/dovecot/settings/libmanagesieve_login_settings.so
Xlib/dovecot/settings/libmanagesieve_settings.a
Xlib/dovecot/settings/libmanagesieve_settings.la
Xlib/dovecot/settings/libmanagesieve_settings.so
Xlibexec/dovecot/managesieve
Xlibexec/dovecot/managesieve-login
Xshare/doc/dovecot/example-config/conf.d/20-managesieve.conf
Xshare/doc/dovecot/example-config/conf.d/90-sieve.conf
X@dirrmtry share/doc/dovecot/example-config/conf.d
X@dirrmtry share/doc/dovecot/example-config
X@dirrmtry share/doc/dovecot
X@dirrmtry libexec/dovecot
X@dirrm lib/dovecot/settings
X@dirrmtry lib/dovecot
X@dirrm include/dovecot/sieve
X@dirrmtry include/dovecot
cbbc58944a463c05cfdf694911acb619
echo x - dovecot20-pigeonhole/pkg-descr
sed 's/^X//' >dovecot20-pigeonhole/pkg-descr << 'faaa54a8f2e1bc8630a3b3d35ced5ade'
XSieve language support by a plugin for the Dovecot deliver LDA&LMTP
X
X    * Mail filtering
X    * Mail forwarding
X    * Vacation auto-reply
X
XWWW:	http://wiki2.dovecot.org/Pigeonhole
faaa54a8f2e1bc8630a3b3d35ced5ade
echo x - dovecot20-pigeonhole/Makefile
sed 's/^X//' >dovecot20-pigeonhole/Makefile << '666c627d44f87d43b500a629aa5e309a'
X# New ports collection makefile for:	dovecot-sieve
X# Date created:		2006-12-29
X# Whom:			Nils Vogels <nivo+kw+ports.bfa274@is-root.com>
X#
X# $FreeBSD: ports/mail/dovecot-sieve/Makefile,v 1.13 2010/07/05 05:41:01 sahil Exp $
X#
X
XPORTNAME=	dovecot-pigeonhole
XPORTVERSION=	${DOVECOTVERSION}+${DISTVERSION}
XDISTVERSION=	0.2.0
XCATEGORIES=	mail
XMASTER_SITES=	http://www.rename-it.nl/dovecot/${DOVECOTVERSION}/
XDISTNAME=	${PORTNAME:C/-/-${DOVECOTVERSION}-/}-${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
X
XMAINTAINER=	bra@fsn.hu
XCOMMENT=	A Sieve plugin for the Dovecot 'deliver' LDA and LMTP
X
XBUILD_DEPENDS=	${NONEXISTENT}:${PORTSDIR}/mail/dovecot${DOVECOTVER}:build
XRUN_DEPENDS=	dovecot>=${DOVECOTVERSION}.*:${PORTSDIR}/mail/dovecot${DOVECOTVER}
X
XDOVECOTVERSION=	2.0
XDOVECOTVER:=	${DOVECOTVERSION:S/.//}
X
XGNU_CONFIGURE=	yes
XCONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ARGS=	--prefix=${PREFIX} \
X		--docdir=${DOCSDIR} \
X		--with-dovecot=`${MAKE} -C ${PORTSDIR}/mail/dovecot${DOVECOTVER} -V WRKSRC`
XCONFIGURE_ENV=	LDFLAGS='${LDFLAGS}'
XLDFLAGS+=	-L${LOCALBASE}/lib
XUSE_LDCONFIG=	${PREFIX}/lib/dovecot
X
XSUB_FILES=	pkg-message
X
XMAN1=		sieve-dump.1 sieve-test.1 sievec.1 sieved.1
XMAN7=		pigeonhole.7
X
XDOCSDIR=	${PREFIX}/share/doc/${PORTNAME:S/-/\//}
X
X.if !defined(NOPORTDOCS)
XPORTDOCS=	AUTHORS COPYING COPYING.LGPL INSTALL NEWS README TODO spamtest-virustest.txt
X.endif
X
Xpost-patch:
X	@${REINPLACE_CMD} -e '\
X		s!/doc/$${PACKAGE_TARNAME}!/doc/${PORTNAME:S/-/\//}!g;\
X		s!$${docdir}/dovecot/sieve!$${docdir}!g;\
X		' ${WRKSRC}/configure
X	@${REINPLACE_CMD} -E -e '\
X		/^docfiles = spamtest-virustest.txt$$/D;\
X		/^[[:space:]]+test -z "\$$\(sieve_docdir\)" \|\| \$$\(MKDIR_P\) "\$$\(DESTDIR\)\$$\(sieve_docdir\)"$$/D;\
X		' ${WRKSRC}/doc/Makefile.in
X	@${LN} -f ${WRKSRC}/doc/spamtest-virustest.txt ${WRKSRC}/
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${INSTALL} ${_SHROWNGRP} -m ${BINMODE} -d ${DOCSDIR}
X.for f in ${PORTDOCS}
X	${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
X.endfor
X.endif
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
666c627d44f87d43b500a629aa5e309a
echo x - dovecot20-pigeonhole/distinfo
sed 's/^X//' >dovecot20-pigeonhole/distinfo << '6feb5bdf1ef7f8d28c5a4b064aacc6ab'
XMD5 (dovecot-2.0-pigeonhole-0.2.0.tar.gz) = dcd7e0567c0b9ec2fee0be1708c3d3f7
XSHA256 (dovecot-2.0-pigeonhole-0.2.0.tar.gz) = 77e4a91eb4491b3b670ca718bebf3ed7ced9001b6702f6cdcc9335224bc647d4
XSIZE (dovecot-2.0-pigeonhole-0.2.0.tar.gz) = 1205747
6feb5bdf1ef7f8d28c5a4b064aacc6ab
echo c - dovecot20-pigeonhole/files
mkdir -p dovecot20-pigeonhole/files > /dev/null 2>&1
echo x - dovecot20-pigeonhole/files/pkg-message.in
sed 's/^X//' >dovecot20-pigeonhole/files/pkg-message.in << 'f769a87f37d22142381165f738cdc972'
X---------------------------------------------------------------------
X 
X This port assumes you are familiar with Dovecot and have it installed
X and running on the system you have installed this plugin on.
X
X You can enable the plugin with this directive in your dovecot.conf:
X
X     protocol lda {
X       # Support for dynamically loadable plugins. mail_plugins is
X       # a space separated list of plugins to load.
X       mail_plugins = sieve # ... other plugins like quota
X     }
X
X Further information on configuration can be found at:
X 
X  http://wiki2.dovecot.org/Pigeonhole
X
X---------------------------------------------------------------------
f769a87f37d22142381165f738cdc972
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009211614.o8LGEISI038746>