pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/mail/bincimap Add bincimap, an IMAP server for Maildir.
details: https://anonhg.NetBSD.org/pkgsrc/rev/4b41e07aef4d
branches: trunk
changeset: 444987:4b41e07aef4d
user: schmonz <schmonz%pkgsrc.org@localhost>
date: Fri Jan 15 19:50:25 2021 +0000
description:
Add bincimap, an IMAP server for Maildir.
Binc IMAP strives to be stable, fast, flexible, and RFC compliant. Like
qmail-pop3d, it authenticates via a checkpassword program.
diffstat:
mail/bincimap/DESCR | 3 +
mail/bincimap/Makefile | 46 ++++++++++++++++++
mail/bincimap/PLIST | 17 ++++++
mail/bincimap/distinfo | 12 ++++
mail/bincimap/files/bincimapd.sh | 56 ++++++++++++++++++++++
mail/bincimap/options.mk | 30 +++++++++++
mail/bincimap/patches/patch-Makefile.in | 15 +++++
mail/bincimap/patches/patch-conf_Makefile.in | 17 ++++++
mail/bincimap/patches/patch-conf_bincimap.conf.in | 43 ++++++++++++++++
mail/bincimap/patches/patch-doc_manual_Makefile.in | 14 +++++
mail/bincimap/patches/patch-man_bincimap-up.1 | 15 +++++
mail/bincimap/patches/patch-src_convert.h | 15 +++++
12 files changed, 283 insertions(+), 0 deletions(-)
diffs (truncated from 331 to 300 lines):
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/DESCR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/DESCR Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,3 @@
+Binc IMAP is an IMAP4rev1 server for Maildir. It strives to be stable,
+fast, flexible, and RFC compliant. Like qmail-pop3d, it authenticates
+via a checkpassword program.
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/Makefile Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,46 @@
+# $NetBSD: Makefile,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+DISTNAME= bincimap-1.2.13final
+PKGNAME= ${DISTNAME:S/final$//}
+CATEGORIES= mail
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bincimap/}
+
+MAINTAINER= schmonz%NetBSD.org@localhost
+HOMEPAGE= https://sourceforge.net/projects/bincimap/
+COMMENT= IMAP server for Maildir using checkpassword
+LICENSE= gnu-gpl-v2
+
+DEPENDS+= daemontools-[0-9]*:../../sysutils/daemontools
+DEPENDS+= pkg_alternatives-[0-9]*:../../pkgtools/pkg_alternatives
+DEPENDS+= qmail-acceptutils-[0-9]*:../../mail/qmail-acceptutils
+
+USE_LANGUAGES= c c++
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --libexecdir=${PREFIX:Q}/${EGDIR:Q}
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
+INSTALL_MAKE_FLAGS= sysconfdir=${PREFIX:Q}/${EGDIR:Q}
+
+REPLACE_PERL= conf/checkpassword.pl conf/toimapdir conf/tomaildir++
+
+SUBST_CLASSES+= nobody
+SUBST_STAGE.nobody= pre-configure
+SUBST_FILES.nobody= conf/bincimap.conf.in
+SUBST_VARS.nobody= BINCIMAP_USER BINCIMAP_GROUP
+
+PKG_USERS_VARS+= BINCIMAP_USER
+PKG_GROUPS_VARS+= BINCIMAP_GROUP
+PKG_GROUPS+= ${BINCIMAP_GROUP}
+PKG_USERS+= ${BINCIMAP_USER}:${BINCIMAP_GROUP}
+
+EGDIR= share/examples/${PKGBASE}
+CONF_FILES+= ${PREFIX}/${EGDIR}/${PKGBASE}.conf \
+ ${PKG_SYSCONFDIR}/${PKGBASE}.conf
+RCD_SCRIPTS= bincimapd
+
+INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
+INSTALLATION_DIRS+= ${EGDIR}
+
+.include "options.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/PLIST
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/PLIST Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,17 @@
+@comment $NetBSD: PLIST,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+bin/bincimap-up
+bin/bincimapd
+man/man1/bincimap-up.1
+man/man1/bincimapd.1
+man/man5/bincimap.conf.5
+share/doc/bincimap/README
+share/doc/bincimap/bincimap-faq.html
+share/doc/bincimap/bincimap-goals.html
+share/doc/bincimap/bincimap-imapdir.html
+share/doc/bincimap/bincimap-manual.ps
+share/doc/bincimap/bincimap-tech.html
+share/doc/bincimap/bincimap.css
+share/examples/bincimap/bincimap.conf
+share/examples/bincimap/checkpassword.pl
+share/examples/bincimap/toimapdir
+share/examples/bincimap/tomaildir++
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/distinfo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/distinfo Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+SHA1 (bincimap-1.2.13final.tar.gz) = 76e9e96125ef683c7ca3474363723162569e5ec3
+RMD160 (bincimap-1.2.13final.tar.gz) = 454bc8d34c52b5cc1af68e55bfdc82ac0f36ced3
+SHA512 (bincimap-1.2.13final.tar.gz) = 53c4df3b46a433fae5dd441f1613dd1a0f73de43c25a56e1aa210f45b9d0b0201a0fdeb050f0b37646ce3b571d835b06cd6b1a566078aab8a61f352fc718e584
+Size (bincimap-1.2.13final.tar.gz) = 511059 bytes
+SHA1 (patch-Makefile.in) = ddcf628576a3c62c4eecda48899a5820fed912c5
+SHA1 (patch-conf_Makefile.in) = 8a979b150aff3c08a9be255be893cbe28094f7f7
+SHA1 (patch-conf_bincimap.conf.in) = d1083ebf2b12704545de8797d07c02c309f1ddfa
+SHA1 (patch-doc_manual_Makefile.in) = 713308a43bfdfc408de368692ae50b159a7db298
+SHA1 (patch-man_bincimap-up.1) = e052a7575754a6df7904d61718ad433d2d00eb0f
+SHA1 (patch-src_convert.h) = 387c56e49ded666f32680ff6983e1f155024bfde
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/files/bincimapd.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/files/bincimapd.sh Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,56 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: bincimapd.sh,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+#
+
+# PROVIDE: bincimapd mail
+
+name="bincimapd"
+
+# User-settable rc.conf variables and their default values:
+: ${bincimapd_postenv:=""}
+: ${bincimapd_datalimit:="180000000"}
+: ${bincimapd_pretcpserver:=""}
+: ${bincimapd_tcpserver:="@PREFIX@/bin/tcpserver"}
+: ${bincimapd_tcpflags:="-R -H"}
+: ${bincimapd_tcphost:=":0"}
+: ${bincimapd_tcpport:="143"}
+: ${bincimapd_precheckpassword:="@PREFIX@/bin/bincimap-up --conf=@PKG_SYSCONFDIR@/bincimap.conf --"}
+: ${bincimapd_checkpassword:="@PREFIX@/bin/nbcheckpassword"}
+: ${bincimapd_preimapd:="@PREFIX@/bin/checknotroot"}
+: ${bincimapd_imapdcmd:="@PREFIX@/bin/bincimapd"}
+: ${bincimapd_postimapd:=""}
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+rcvar=${name}
+required_files="@PKG_SYSCONFDIR@/bincimap.conf"
+command="${bincimapd_tcpserver}"
+procname=nb${name}
+start_precmd="bincimapd_precmd"
+
+bincimapd_precmd() {
+ # tcpserver(1) is akin to inetd(8), but runs one service per process.
+ # We want to signal only the tcpserver process responsible for this
+ # service. Use argv0(1) to set procname to "nbbincimapd".
+ command="@PREFIX@/bin/pgrphack @SETENV@ - ${bincimapd_postenv} \
+@PREFIX@/bin/softlimit -m ${bincimapd_datalimit} ${bincimapd_pretcpserver} \
+@PREFIX@/bin/argv0 ${bincimapd_tcpserver} ${procname} \
+${bincimapd_tcpflags} \
+${bincimapd_tcphost} ${bincimapd_tcpport} \
+${bincimapd_precheckpassword} ${bincimapd_checkpassword} \
+${bincimapd_preimapd} ${bincimapd_imapdcmd} ${bincimapd_postimapd}"
+ command_args="&"
+ rc_flags=""
+}
+
+if [ -f /etc/rc.subr ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ @ECHO_N@ " ${name}"
+ bincimapd_precmd
+ eval ${command} ${bincimapd_flags} ${command_args}
+fi
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/options.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/options.mk Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,30 @@
+# $NetBSD: options.mk,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.bincimap
+PKG_SUPPORTED_OPTIONS+= inet6 pam tls
+PKG_SUGGESTED_OPTIONS+= inet6 tls
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Minet6)
+DEPENDS+= ucspi-tcp6>=1.10.7nb1:../../net/ucspi-tcp6
+.else
+DEPENDS+= {ucspi-tcp6>=1.10.7nb1,ucspi-tcp-[0-9]*}:../../net/ucspi-tcp
+.endif
+
+.if !empty(PKG_OPTIONS:Mpam)
+DEPENDS+= checkpassword-pam>=0.99nb1:../../sysutils/checkpassword-pam
+.else
+DEPENDS+= checkpassword>=0.90nb1:../../sysutils/checkpassword
+.endif
+
+.if !empty(PKG_OPTIONS:Mtls)
+. include "../../security/openssl/buildlink3.mk"
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= pre-configure
+SUBST_FILES.paths= src/io-ssl.cc doc/bincimap-faq.html \
+ doc/manual/bincimap-manual.ps conf/bincimap.conf.in
+SUBST_SED.paths= -e 's|/usr/share/ssl/certs|${SSLDIR}/certs|g'
+.else
+CONFIGURE_ARGS+= --without-ssl
+.endif
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/patches/patch-Makefile.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/patches/patch-Makefile.in Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-Makefile.in,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+Don't install daemontools service definitions.
+
+--- Makefile.in.orig 2005-07-21 10:02:30.000000000 +0000
++++ Makefile.in
+@@ -87,7 +87,7 @@ datadir = @datadir@
+ prefix = @prefix@
+ sysconfdir = @sysconfdir@
+
+-SUBDIRS = conf contrib doc man service src
++SUBDIRS = conf contrib doc man src
+
+ #--------------------------------------------------------------------------
+ EXTRA_DIST = bincimap.spec config.h COPYING.OpenSSL config.h.in README.SSL
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/patches/patch-conf_Makefile.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/patches/patch-conf_Makefile.in Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-conf_Makefile.in,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+Don't install xinetd service definitions.
+
+--- conf/Makefile.in.orig 2005-07-21 10:02:30.000000000 +0000
++++ conf/Makefile.in
+@@ -201,10 +201,6 @@ install-exec-hook:
+ @rm -f $(srcdir)/../install.log
+ @$(mkinstalldirs) -m 755 $(DESTDIR)$(sysconfdir)
+ @if [ ! -e $(DESTDIR)$(sysconfdir)/bincimap.conf ]; then $(INSTALL_DATA) $(srcdir)/bincimap.conf $(DESTDIR)$(sysconfdir); else $(INSTALL_DATA) $(srcdir)/bincimap.conf
$(DESTDIR)$(sysconfdir)/bincimap.conf.new; echo "- New conf file saved as $(DESTDIR)$(sysconfdir)/bincimap.conf.new" >> $(srcdir)/../install.log; fi;
+- @$(mkinstalldirs) -m 755 $(DESTDIR)$(sysconfdir)/xinetd
+-
+- @if [ ! -e $(DESTDIR)$(sysconfdir)/xinetd/bincimap ]; then $(INSTALL_DATA) $(srcdir)/xinetd-bincimap $(DESTDIR)$(sysconfdir)/xinetd/bincimap; else $(INSTALL_DATA) $(srcdir)/xinetd-bincimap
$(DESTDIR)$(sysconfdir)/xinetd/bincimap.new; echo "- New xinetd/bincimap file saved as $(DESTDIR)$(sysconfdir)/xinetd/bincimap.new" >> $(srcdir)/../install.log; fi;
+- @if [ ! -e $(DESTDIR)$(sysconfdir)/xinetd/bincimaps ]; then $(INSTALL_DATA) $(srcdir)/xinetd-bincimaps $(DESTDIR)$(sysconfdir)/xinetd/bincimaps; else $(INSTALL_DATA)
$(srcdir)/xinetd-bincimaps $(DESTDIR)$(sysconfdir)/xinetd/bincimaps.new; echo "- New xinetd/bincimaps file saved as $(DESTDIR)$(sysconfdir)/xinetd/bincimaps.new" >> $(srcdir)/../install.log; fi;
+
+ @$(mkinstalldirs) -m 755 $(DESTDIR)$(libexecdir)/
+ @if [ ! -e $(DESTDIR)$(libexecdir)/checkpassword.pl ]; then $(INSTALL_DATA) -m 0755 $(srcdir)/checkpassword.pl $(DESTDIR)$(libexecdir)/checkpassword.pl; else $(INSTALL_DATA) -m 0755
$(srcdir)/checkpassword.pl $(DESTDIR)$(libexecdir)/checkpassword.pl.new; echo "- New file saved as $(DESTDIR)$(libexecdir)/checkpassword.pl.new" >> $(srcdir)/../install.log; fi;
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/patches/patch-conf_bincimap.conf.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/patches/patch-conf_bincimap.conf.in Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,43 @@
+$NetBSD: patch-conf_bincimap.conf.in,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+By default, don't specify a cipher list, taking the OpenSSL defaults.
+Leave a decent commented-out list from ssl-config.mozilla.org.
+
+Let SUBST fix up users, groups, and paths.
+
+--- conf/bincimap.conf.in.orig 2005-01-05 15:53:46.000000000 +0000
++++ conf/bincimap.conf.in
+@@ -34,8 +34,8 @@ Authentication {
+ //----------------------------------------------------------------------------
+ Security {
+ jail path = "@prefix@/bin",
+- jail user = "nobody",
+- jail group = "nobody"
++ jail user = "@BINCIMAP_USER@",
++ jail group = "@BINCIMAP_GROUP@"
+ }
+
+ //----------------------------------------------------------------------------
+@@ -100,7 +100,7 @@ Session {
+
+ //----------------------------------------------------------------------------
+ SSL {
+- pem file = "@sysconfdir@/bincimap.pem", /* private key and
++ pem file = "/usr/share/ssl/certs/bincimap.pem",/* private key and
+ certificate
+ chain PEM file
+ name */
+@@ -108,11 +108,11 @@ SSL {
+ ca file = "", /* file to use as
+ certificate
+ authority */
+- ca path = "", /* path to search
++ ca path = "/usr/share/ssl/certs", /* path to search
+ for more certificate
+ authorities */
+
+- cipher list = "!ADH:RC4+RSA:HIGH:MEDIUM:LOW:EXP:+SSLv2:+EXP",
++ //cipher list =
"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
+
+ verify peer = "no"
+ }
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/patches/patch-doc_manual_Makefile.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/patches/patch-doc_manual_Makefile.in Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,14 @@
+$NetBSD: patch-doc_manual_Makefile.in,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+Don't install the .dvi manual.
+
+--- doc/manual/Makefile.in.orig 2005-07-21 10:02:31.000000000 +0000
++++ doc/manual/Makefile.in
+@@ -205,7 +205,6 @@ bincimap-manual.dvi: bincimap-manual.tex
+ install-exec-hook:
+ $(mkinstalldirs) $(DESTDIR)$(datadir)/doc/bincimap
+ $(INSTALL_DATA) $(srcdir)/bincimap-manual.ps $(DESTDIR)$(datadir)/doc/bincimap
+- $(INSTALL_DATA) $(srcdir)/bincimap-manual.dvi $(DESTDIR)$(datadir)/doc/bincimap
+
+ #--------------------------------------------------------------------------
+ uninstall-hook:
diff -r 5691a7b28a75 -r 4b41e07aef4d mail/bincimap/patches/patch-man_bincimap-up.1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/bincimap/patches/patch-man_bincimap-up.1 Fri Jan 15 19:50:25 2021 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-man_bincimap-up.1,v 1.1 2021/01/15 19:50:25 schmonz Exp $
+
+Fix markup.
Home |
Main Index |
Thread Index |
Old Index