diff options
-rw-r--r-- | mail/Makefile | 1 | ||||
-rw-r--r-- | mail/popular/Makefile | 52 | ||||
-rw-r--r-- | mail/popular/distinfo | 2 | ||||
-rw-r--r-- | mail/popular/files/0ringd.sh.in | 37 | ||||
-rw-r--r-- | mail/popular/files/patch-configure | 28 | ||||
-rw-r--r-- | mail/popular/files/patch-src-Makefile.in | 27 | ||||
-rw-r--r-- | mail/popular/files/patch-src-io.c | 12 | ||||
-rw-r--r-- | mail/popular/files/patch-src-pcheckd.c | 10 | ||||
-rw-r--r-- | mail/popular/files/patch-src-popular.h | 12 | ||||
-rw-r--r-- | mail/popular/files/patch-src-pproxy.c | 12 | ||||
-rw-r--r-- | mail/popular/files/patch-src-pserv.c | 12 | ||||
-rw-r--r-- | mail/popular/files/patch-src-sig.c | 18 | ||||
-rw-r--r-- | mail/popular/files/pcheckd.sh.in | 37 | ||||
-rw-r--r-- | mail/popular/files/pproxy.sh.in | 47 | ||||
-rw-r--r-- | mail/popular/files/pserv.sh.in | 47 | ||||
-rw-r--r-- | mail/popular/pkg-descr | 7 | ||||
-rw-r--r-- | mail/popular/pkg-plist | 38 |
17 files changed, 399 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile index 9634c6738392..e76ffa93dcd3 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -371,6 +371,7 @@ SUBDIR += popper SUBDIR += poppwd SUBDIR += poppy + SUBDIR += popular SUBDIR += postfinger SUBDIR += postfix SUBDIR += postfix-current diff --git a/mail/popular/Makefile b/mail/popular/Makefile new file mode 100644 index 000000000000..3686348b0df1 --- /dev/null +++ b/mail/popular/Makefile @@ -0,0 +1,52 @@ +# New ports collection makefile for: popular +# Date created: 11 July 2005 +# Whom: Pav Lucistnik <pav@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= popular +PORTVERSION= 1.5.5 +CATEGORIES= mail +MASTER_SITES= http://www.remote.org/jochen/mail/popular/download/ + +MAINTAINER= pav@FreeBSD.org +COMMENT= Suite of programs for setting up large POP3 server systems + +BUILD_DEPENDS= ${SITE_PERL}/XML/DOM.pm:${PORTSDIR}/textproc/p5-XML-DOM + +USE_GMAKE= yes +USE_LIBTOOL_VER=15 +USE_OPENSSL= yes +USE_PERL5= yes +PDM_MODULES= any master +CONFIGURE_ARGS= --without-bdb --disable-docbook --with-confdir=${PREFIX}/etc/popular \ + --enable-ssl --with-pdm="${PDM_MODULES}" +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LIBS="-L${LOCALBASE}/lib" + +USE_RC_SUBR= pcheckd.sh pproxy.sh pserv.sh 0ringd.sh + +MAN1= pcheck.1 pcontrol.1 pdeliver.1 pstatus.1 ptestpdm.1 +MAN7= popular-log.7 +MAN8= pcheckd.8 pproxy.8 pserv.8 ringd.8 + +OPTIONS= DB4 "Build db4 pdm module" on + +.include <bsd.port.pre.mk> + +.if !defined(WITHOUT_DB4) +LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4 +PLIST_SUB+= WITH_DB4="" +PDM_MODULES+= db4 +.else +PLIST_SUB+= WITH_DB4="@comment " +.endif + +post-install: + ${MKDIR} ${PREFIX}/etc/popular + ${INSTALL_DATA} ${WRKSRC}/conf/pproxy.rc ${PREFIX}/etc/popular/pproxy.rc.sample + ${INSTALL_DATA} ${WRKSRC}/conf/pserv.rc ${PREFIX}/etc/popular/pserv.rc.sample + ${MKDIR} ${PREFIX}/include/popular + ${FIND} ${WRKSRC}/src -name *.h | ${XARGS} -n 1 -J % ${INSTALL_DATA} % ${PREFIX}/include/popular + +.include <bsd.port.post.mk> diff --git a/mail/popular/distinfo b/mail/popular/distinfo new file mode 100644 index 000000000000..d173be7b2a46 --- /dev/null +++ b/mail/popular/distinfo @@ -0,0 +1,2 @@ +MD5 (popular-1.5.5.tar.gz) = 5288bbd7ae7eeda2b23784e76e464cbc +SIZE (popular-1.5.5.tar.gz) = 1161921 diff --git a/mail/popular/files/0ringd.sh.in b/mail/popular/files/0ringd.sh.in new file mode 100644 index 000000000000..5341113a47f3 --- /dev/null +++ b/mail/popular/files/0ringd.sh.in @@ -0,0 +1,37 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ringd +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# /etc/rc.conf lines: +# ringd_enable="YES" # enable ringd +# ringd_socket_user="pop" # user to own /var/run sockets + +. %%RC_SUBR%% + +name="ringd" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${ringd_enable="NO"} +: ${ringd_socket_user="pop"} + +command="%%PREFIX%%/sbin/ringd" +command_args="--user ${ringd_socket_user}" +start_precmd="${name}_prestart" + +ringd_prestart() +{ + mkdir -p /var/log/popular + chown ${ringd_socket_user} /var/log/popular + mkdir -p /var/run/popular + chown ${ringd_socket_user} /var/run/popular +} + +run_rc_command "$1" diff --git a/mail/popular/files/patch-configure b/mail/popular/files/patch-configure new file mode 100644 index 000000000000..4167af030a67 --- /dev/null +++ b/mail/popular/files/patch-configure @@ -0,0 +1,28 @@ +--- configure.orig Sat Aug 21 12:21:50 2004 ++++ configure Mon Jul 11 17:20:12 2005 +@@ -22157,13 +22157,13 @@ + + + +-echo "$as_me:$LINENO: checking for db_create in -ldb-4.0" >&5 +-echo $ECHO_N "checking for db_create in -ldb-4.0... $ECHO_C" >&6 ++echo "$as_me:$LINENO: checking for db_create in -ldb4" >&5 ++echo $ECHO_N "checking for db_create in -ldb4... $ECHO_C" >&6 + if test "${ac_cv_lib_db_4_0_db_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-ldb-4.0 $LIBS" ++LIBS="-ldb4 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -22221,7 +22221,7 @@ + echo "$as_me:$LINENO: result: $ac_cv_lib_db_4_0_db_create" >&5 + echo "${ECHO_T}$ac_cv_lib_db_4_0_db_create" >&6 + if test $ac_cv_lib_db_4_0_db_create = yes; then +- LIB_DB40=db-4.0 ++ LIB_DB40=db4 + else + LIB_DB40="" + fi diff --git a/mail/popular/files/patch-src-Makefile.in b/mail/popular/files/patch-src-Makefile.in new file mode 100644 index 000000000000..063e4894767f --- /dev/null +++ b/mail/popular/files/patch-src-Makefile.in @@ -0,0 +1,27 @@ +--- src/Makefile.in.orig Sat Aug 21 12:26:23 2004 ++++ src/Makefile.in Mon Jul 11 16:47:17 2005 +@@ -132,7 +132,7 @@ + have_sgml = @have_sgml@ + prefix = @prefix@ + +-CFLAGS = -g -O2 -Wall ++CFLAGS += -Wall + + #LDFLAGS = -static -lc_p + +@@ -166,13 +166,13 @@ + + LDADD = @LIB_STRL@ @LIB_GETOPT@ + +-pproxy_LDADD = $(LDADD) @SSL_LIBS@ -ldl ++pproxy_LDADD = $(LDADD) @SSL_LIBS@ + + pserv_LDADD = $(LDADD) @SSL_LIBS@ + + pcontrol_LDADD = $(LDADD) @LIB_READLINE@ + +-ptestpdm_LDADD = $(LDADD) -ldl ++ptestpdm_LDADD = $(LDADD) + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = ../config.h + CONFIG_CLEAN_FILES = diff --git a/mail/popular/files/patch-src-io.c b/mail/popular/files/patch-src-io.c new file mode 100644 index 000000000000..2763f766ea46 --- /dev/null +++ b/mail/popular/files/patch-src-io.c @@ -0,0 +1,12 @@ +--- src/io.c.orig Sat Aug 21 12:19:29 2004 ++++ src/io.c Mon Jul 11 16:16:50 2005 +@@ -307,7 +307,8 @@ + * A null byte was encountered in input from a network socket. This + * can never happen in a normal POP3 connection. */ + xlog_printf(xlog_adm, 0x0035, "null_byte_in_input ctx='%s' len=%d data='%s'", ioc->io_desc, len, buf); +- errno = EPROTO; ++ /* Uh oh, nice to overload socket errcos for application level signalization */ ++ errno = EPIPE; + return -1; + } + } diff --git a/mail/popular/files/patch-src-pcheckd.c b/mail/popular/files/patch-src-pcheckd.c new file mode 100644 index 000000000000..6d3ac16615d2 --- /dev/null +++ b/mail/popular/files/patch-src-pcheckd.c @@ -0,0 +1,10 @@ +--- src/pcheckd.c.orig Sat Nov 22 22:27:22 2003 ++++ src/pcheckd.c Mon Jul 11 16:20:48 2005 +@@ -511,7 +511,6 @@ + case SIGQUIT: /* fallthrough */ + case SIGINT: /* fallthrough */ + case SIGTERM: /* fallthrough */ +- case SIGPWR: /* fallthrough */ + /* XLOG-DOC:INF:0078:shutdown + * pcheckd received a QUIT, INT, TER, or PWR signal and is + * shutting down. */ diff --git a/mail/popular/files/patch-src-popular.h b/mail/popular/files/patch-src-popular.h new file mode 100644 index 000000000000..8bd38450c96b --- /dev/null +++ b/mail/popular/files/patch-src-popular.h @@ -0,0 +1,12 @@ +--- src/popular.h.orig Thu Nov 28 14:56:03 2002 ++++ src/popular.h Mon Jul 11 16:19:50 2005 +@@ -26,9 +26,7 @@ + + *****************************************************************************/ + +-#include <alloca.h> + #include <arpa/inet.h> +-#include <crypt.h> + #include <ctype.h> + #include <dirent.h> + #include <dlfcn.h> diff --git a/mail/popular/files/patch-src-pproxy.c b/mail/popular/files/patch-src-pproxy.c new file mode 100644 index 000000000000..dc778a2b76a5 --- /dev/null +++ b/mail/popular/files/patch-src-pproxy.c @@ -0,0 +1,12 @@ +--- src/pproxy.c.orig Mon Nov 24 20:23:30 2003 ++++ src/pproxy.c Mon Jul 11 16:21:13 2005 +@@ -580,9 +580,6 @@ + case SIGTERM: + pproxy_shutdown(SHUTDOWN_CHILDREN | SHUTDOWN_SERVER); + break; +- case SIGPWR: +- pproxy_shutdown(SHUTDOWN_DELAYED); +- break; + case SIGHUP: + logfd = xlog_reopen(conf.logfile, PPROXY_LOG_MODE); + break; diff --git a/mail/popular/files/patch-src-pserv.c b/mail/popular/files/patch-src-pserv.c new file mode 100644 index 000000000000..c224f52c0357 --- /dev/null +++ b/mail/popular/files/patch-src-pserv.c @@ -0,0 +1,12 @@ +--- src/pserv.c.orig Sun Sep 15 14:27:16 2002 ++++ src/pserv.c Mon Jul 11 16:23:03 2005 +@@ -484,9 +484,6 @@ + case SIGTERM: + pserv_shutdown(SHUTDOWN_CHILDREN | SHUTDOWN_SERVER); + break; +- case SIGPWR: +- pserv_shutdown(SHUTDOWN_DELAYED); +- break; + case SIGHUP: + xlog_reopen(conf.logfile, PSERV_LOG_MODE); + break; diff --git a/mail/popular/files/patch-src-sig.c b/mail/popular/files/patch-src-sig.c new file mode 100644 index 000000000000..db84e86ce737 --- /dev/null +++ b/mail/popular/files/patch-src-sig.c @@ -0,0 +1,18 @@ +--- src/sig.c.orig Sun Sep 15 14:27:16 2002 ++++ src/sig.c Mon Jul 11 16:21:23 2005 +@@ -114,7 +114,6 @@ + signal_set(sigHandler, SIGQUIT, 0); + signal_set(sigHandler, SIGUSR1, 0); + signal_set(sigHandler, SIGUSR2, 0); +- signal_set(sigHandler, SIGPWR, 0); + } + + +@@ -138,7 +137,6 @@ + signal_set(sigDefault, SIGQUIT, 0); + signal_set(sigDefault, SIGUSR1, 0); + signal_set(sigDefault, SIGUSR2, 0); +- signal_set(sigDefault, SIGPWR, 0); + + if (signal_remember[SIGTERM] || signal_remember[SIGINT]) { + /* XLOG-DOC:INF:0133:got_term_signal diff --git a/mail/popular/files/pcheckd.sh.in b/mail/popular/files/pcheckd.sh.in new file mode 100644 index 000000000000..382d613960d9 --- /dev/null +++ b/mail/popular/files/pcheckd.sh.in @@ -0,0 +1,37 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: pcheckd +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# /etc/rc.conf lines: +# pcheckd="YES" # enable pcheckd +# pcheckd="pop" # user for pcheckd + +. %%RC_SUBR%% + +name="pcheckd" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${pcheckd="NO"} +: ${pcheckd="pop"} + +command="%%PREFIX%%/sbin/pcheckd" +start_precmd="${name}_prestart" +extra_commands="reload" + +pproxy_prestart() +{ + mkdir -p /var/log/popular + chown ${pproxy_user} /var/log/popular + mkdir -p /var/run/popular + chown ${pproxy_user} /var/run/popular +} + +run_rc_command "$1" diff --git a/mail/popular/files/pproxy.sh.in b/mail/popular/files/pproxy.sh.in new file mode 100644 index 000000000000..41876b4cbd33 --- /dev/null +++ b/mail/popular/files/pproxy.sh.in @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: pproxy +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# /etc/rc.conf lines: +# pproxy_enable="YES" # enable pproxy +# pproxy_user="pop" # user to pproxy + +. %%RC_SUBR%% + +name="pproxy" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${pproxy_enable="NO"} +: ${pproxy_user="pop"} + +command="%%PREFIX%%/sbin/pproxy" +start_precmd="${name}_prestart" +start_postcmd="${name}_configure" +extra_commands="reload" +reload_cmd="${name}_configure" + +pproxy_prestart() +{ + mkdir -p /var/log/popular + chown ${pproxy_user} /var/log/popular + mkdir -p /var/run/popular + chown ${pproxy_user} /var/run/popular +} + +pproxy_configure() +{ + if [ -f %%PREFIX%%/etc/popular/pproxy.rc ]; then + sleep 1; + su -m ${pproxy_user} -c "%%PREFIX%%/bin/pcontrol --program=pproxy %%PREFIX%%/etc/popular/pproxy.rc" + fi +} + +run_rc_command "$1" diff --git a/mail/popular/files/pserv.sh.in b/mail/popular/files/pserv.sh.in new file mode 100644 index 000000000000..1084711d577a --- /dev/null +++ b/mail/popular/files/pserv.sh.in @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: pserv +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# /etc/rc.conf lines: +# pserv="YES" # enable pserv +# pserv="pop" # user for pserv + +. %%RC_SUBR%% + +name="pserv" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${pserv="NO"} +: ${pserv="pop"} + +command="%%PREFIX%%/sbin/pserv" +start_precmd="${name}_prestart" +start_postcmd="${name}_configure" +extra_commands="reload" +reload_cmd="${name}_configure" + +pproxy_prestart() +{ + mkdir -p /var/log/popular + chown ${pproxy_user} /var/log/popular + mkdir -p /var/run/popular + chown ${pproxy_user} /var/run/popular +} + +pproxy_configure() +{ + if [ -f %%PREFIX%%/etc/popular/pserv.rc ]; then + sleep 1; + su -m ${pproxy_user} -c "%%PREFIX%%/bin/pcontrol --program=pserv %%PREFIX%%/etc/popular/pserv.rc" + fi +} + +run_rc_command "$1" diff --git a/mail/popular/pkg-descr b/mail/popular/pkg-descr new file mode 100644 index 000000000000..92003e0864db --- /dev/null +++ b/mail/popular/pkg-descr @@ -0,0 +1,7 @@ +POPular is a suite of programs for setting up large POP3 server systems. It +consists of a POP3 proxy, a storage server and lots of utility programs. Note +that this program is intended to be used in large email systems and is +therefore quite complex to configure. If you only have a few thousand +mailboxes, you are probably better of with a different POP3 server. + +WWW: http://www.remote.org/jochen/mail/popular/ diff --git a/mail/popular/pkg-plist b/mail/popular/pkg-plist new file mode 100644 index 000000000000..fb1d949d4719 --- /dev/null +++ b/mail/popular/pkg-plist @@ -0,0 +1,38 @@ +bin/pcheck +bin/pstatus +bin/pdeliver +bin/pcontrol +bin/ptestpdm +etc/popular/pproxy.rc.sample +etc/popular/pserv.rc.sample +include/popular/ctrl.h +include/popular/daemon.h +include/popular/info.h +include/popular/io.h +include/popular/mailbox.h +include/popular/net.h +include/popular/pconfig.h +include/popular/pdm.h +include/popular/pop3.h +include/popular/popular.h +include/popular/pproxy.h +include/popular/pserv.h +include/popular/ringd.h +include/popular/sig.h +include/popular/smtp_after_pop.h +include/popular/uds.h +include/popular/util.h +include/popular/xlog.h +lib/popular/libpdm_any-1.5.5.so +lib/popular/libpdm_any.so +lib/popular/libpdm_master-1.5.5.so +lib/popular/libpdm_master.so +%%WITH_DB4%%lib/popular/libpdm_db4-1.5.5.so +%%WITH_DB4%%lib/popular/libpdm_db4.so +sbin/pcheckd +sbin/pproxy +sbin/pserv +sbin/ringd +@dirrm include/popular +@dirrm lib/popular +@unexec rmdir %D/etc/popular 2>/dev/null || true |