aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/Makefile1
-rw-r--r--mail/popular/Makefile52
-rw-r--r--mail/popular/distinfo2
-rw-r--r--mail/popular/files/0ringd.sh.in37
-rw-r--r--mail/popular/files/patch-configure28
-rw-r--r--mail/popular/files/patch-src-Makefile.in27
-rw-r--r--mail/popular/files/patch-src-io.c12
-rw-r--r--mail/popular/files/patch-src-pcheckd.c10
-rw-r--r--mail/popular/files/patch-src-popular.h12
-rw-r--r--mail/popular/files/patch-src-pproxy.c12
-rw-r--r--mail/popular/files/patch-src-pserv.c12
-rw-r--r--mail/popular/files/patch-src-sig.c18
-rw-r--r--mail/popular/files/pcheckd.sh.in37
-rw-r--r--mail/popular/files/pproxy.sh.in47
-rw-r--r--mail/popular/files/pserv.sh.in47
-rw-r--r--mail/popular/pkg-descr7
-rw-r--r--mail/popular/pkg-plist38
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