Upgrade mail/dbmail to 3.2.0

3.2.0 contains all the stability improvements done in 3.1 over the
last year. On top of that, it has some nice additions of it's own:

- auto-migrations; An admittedly little tested feature is automatic
migrations of the database schema. Running any of the binaries against
an up-to-date and standard 3.1 schema will try to do all the necessary
upgrades if required.

- static code audit; the Coverity service was used to flush out as
many potential problems as possible.

- new capabilities; some interesting new IMAP capabilities have been
added. QRESYNC (rfc5162), LITERAL+ (rfc2088), UIDPLUS (rfc4315) will
improve performance especially for mobile clients.

Also:
- Remove redundant option THREADS
- Add additional mirror
- Rework post-install for auto-migration scripts
- Use @sample framework

PR:		192967
Submitted by:	maintainer
This commit is contained in:
Adam Weinberger 2014-08-24 17:00:04 +00:00
parent e5962a0533
commit def98e151f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=365968
5 changed files with 46 additions and 31 deletions

View File

@ -2,9 +2,10 @@
# $FreeBSD$
PORTNAME= dbmail
PORTVERSION= 3.1.17
PORTVERSION= 3.2.0
CATEGORIES= mail
MASTER_SITES= http://git.dbmail.eu/paul/dbmail/snapshot/
MASTER_SITES= http://git.dbmail.eu/paul/dbmail/snapshot/ \
http://www.dbmail.org/download/3.2/
MAINTAINER= ahicks@p-o.co.uk
COMMENT= SQL database-based mail system (POP3 and IMAP)
@ -22,8 +23,8 @@ BUILD_DEPENDS= asciidoc:${PORTSDIR}/textproc/asciidoc \
CONFLICTS= dbmail22-[0-9]*
OPTIONS_DEFINE= DOCS LDAP SIEVE THREADS
OPTIONS_DEFAULT= SIEVE THREADS
OPTIONS_DEFINE= DOCS LDAP SIEVE
OPTIONS_DEFAULT= SIEVE
SIEVE_DESC= Sieve mail sorting language support
OPTIONS_SUB= yes
@ -50,8 +51,6 @@ SIEVE_LIB_DEPENDS= libsieve.so:${PORTSDIR}/mail/libsieve
LDAP_CONFIGURE_WITH= ldap
LDAP_USE= OPENLDAP=yes
THREADS_EXTRA_PATCHES= ${FILESDIR}/extra-patch-acinclude.m4
DBMAIL_USER?= mailnull
DBMAIL_GROUP?= mail
PIDDIR?= /var/run/dbmail
@ -61,13 +60,14 @@ PLIST_SUB+= DBMAIL_USER="${DBMAIL_USER}" \
PIDDIR="${PIDDIR}"
post-install:
${INSTALL_DATA} ${WRKSRC}/dbmail.conf ${STAGEDIR}${PREFIX}/etc/dbmail.conf-dist
${INSTALL_DATA} ${WRKSRC}/dbmail.conf ${STAGEDIR}${PREFIX}/etc/dbmail.conf.sample
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/dbmail.schema ${STAGEDIR}${DATADIR}
@for f in mysql oracle postgresql sqlite; do \
${MKDIR} ${STAGEDIR}${DATADIR}/$$f ; \
${INSTALL_DATA} ${WRKSRC}/sql/$$f/* ${STAGEDIR}${DATADIR}/$$f; \
done
(cd ${WRKSRC}/sql && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
#@for f in mysql oracle postgresql sqlite; do \
# ${MKDIR} ${STAGEDIR}${DATADIR}/$$f ; \
# ${INSTALL_DATA} ${WRKSRC}/sql/$$f/* ${STAGEDIR}${DATADIR}/$$f; \
#done
@${MKDIR} ${STAGEDIR}${PIDDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}

View File

@ -1,2 +1,2 @@
SHA256 (dbmail-3.1.17.tar.bz2) = d5cb070d1e042b51aa324b9c54de129189b65ec79aa227eecbf5d052aa318432
SIZE (dbmail-3.1.17.tar.bz2) = 2238540
SHA256 (dbmail-3.2.0.tar.bz2) = c532221cce22a43b43fb7fe5f80a2ac4aca0e9737cb4bf8a30909edd6e58009e
SIZE (dbmail-3.2.0.tar.bz2) = 2261235

View File

@ -1,28 +1,29 @@
--- src/clientbase.c.orig 2013-07-22 20:03:36.000000000 +0100
+++ src/clientbase.c 2013-07-23 13:14:56.000000000 +0100
@@ -159,14 +159,14 @@
--- src/clientbase.c.orig 2014-08-23 14:01:38.000000000 +0100
+++ src/clientbase.c 2014-08-24 10:12:06.000000000 +0100
@@ -151,7 +151,7 @@
client->tx = STDOUT_FILENO;
} else {
/* server-side */
- if ((serr = getnameinfo(c->saddr, c->saddr_len, client->dst_ip, NI_MAXHOST, client->dst_port, NI_MAXSERV,
+ if ((serr = getnameinfo(c->saddr, c->saddr->sa_len, client->dst_ip, NI_MAXHOST, client->dst_port, NI_MAXSERV,
NI_NUMERICHOST | NI_NUMERICSERV))) {
- if ((serr = getnameinfo(&c->saddr, c->saddr_len, client->dst_ip,
+ if ((serr = getnameinfo(&c->saddr, c->saddr.sa_len, client->dst_ip,
NI_MAXHOST, client->dst_port,
NI_MAXSERV, NI_NUMERICHOST | NI_NUMERICSERV))) {
TRACE(TRACE_INFO, "getnameinfo::error [%s]", gai_strerror(serr));
}
@@ -159,7 +159,7 @@
/* client-side */
if (server_conf->resolveIP) {
- if ((serr = getnameinfo(c->caddr, c->caddr_len, client->clientname, NI_MAXHOST, NULL, 0,
+ if ((serr = getnameinfo(c->caddr, c->caddr->sa_len, client->clientname, NI_MAXHOST, NULL, 0,
NI_NAMEREQD))) {
- if ((serr = getnameinfo(&c->caddr, c->caddr_len, client->clientname,
+ if ((serr = getnameinfo(&c->caddr, c->caddr.sa_len, client->clientname,
NI_MAXHOST-1, NULL, 0, NI_NAMEREQD))) {
TRACE(TRACE_INFO, "getnameinfo:error [%s]", gai_strerror(serr));
}
@@ -177,7 +177,7 @@
@@ -170,7 +170,7 @@
client->clientname[0] ? client->clientname : "Lookup failed");
} else {
- if ((serr = getnameinfo(c->caddr, c->caddr_len, client->src_ip, NI_MAXHOST, client->src_port,
+ if ((serr = getnameinfo(c->caddr, c->caddr->sa_len, client->src_ip, NI_MAXHOST, client->src_port,
NI_MAXSERV, NI_NUMERICHOST | NI_NUMERICSERV))) {
- if ((serr = getnameinfo(&c->caddr, c->caddr_len, client->src_ip,
+ if ((serr = getnameinfo(&c->caddr, c->caddr.sa_len, client->src_ip,
NI_MAXHOST-1, client->src_port,
NI_MAXSERV-1, NI_NUMERICHOST | NI_NUMERICSERV))) {
TRACE(TRACE_INFO, "getnameinfo:error [%s]", gai_strerror(serr));
}

View File

@ -1,6 +1,4 @@
@unexec if cmp -s %D/etc/dbmail.conf-dist %D/etc/dbmail.conf; then rm -f %D/etc/dbmail.conf; fi
etc/dbmail.conf-dist
@exec if [ ! -f %D/etc/dbmail.conf ] ; then cp -p %D/%F %B/dbmail.conf; fi
@sample etc/dbmail.conf.sample
%%LDAP%%lib/dbmail/libauth_ldap.so
%%LDAP%%lib/dbmail/libauth_ldap.so.0
%%LDAP%%lib/dbmail/libauth_ldap.so.0.0.0
@ -49,6 +47,10 @@ sbin/dbmail-util
%%DATADIR%%/mysql/migrate_from_1.x_to_2.0_innodb.mysql
%%DATADIR%%/mysql/migrate_from_2.0_to_2.2.mysql
%%DATADIR%%/mysql/update_headervalue_01.mysql
%%DATADIR%%/mysql/upgrades/32001.mysql
%%DATADIR%%/mysql/upgrades/32002.mysql
%%DATADIR%%/mysql/upgrades/32003.mysql
%%DATADIR%%/mysql/upgrades/32004.mysql
%%DATADIR%%/oracle/dbmail_grant.sql
%%DATADIR%%/oracle/dbmail_schema.sql
%%DATADIR%%/oracle/dbmail_ts.sql
@ -62,6 +64,10 @@ sbin/dbmail-util
%%DATADIR%%/postgresql/create_tables.pgsql
%%DATADIR%%/postgresql/migrate_from_1.x_to_2.0.pgsql
%%DATADIR%%/postgresql/migrate_from_2.0_to_2.2.pgsql
%%DATADIR%%/postgresql/upgrades/32001.psql
%%DATADIR%%/postgresql/upgrades/32002.psql
%%DATADIR%%/postgresql/upgrades/32003.psql
%%DATADIR%%/postgresql/upgrades/32004.psql
%%DATADIR%%/sqlite/2_1_7-2_2_0.sqlite
%%DATADIR%%/sqlite/2_2-3_0.sqlite
%%DATADIR%%/sqlite/2_2_5-2_3_0.sqlite
@ -71,6 +77,10 @@ sbin/dbmail-util
%%DATADIR%%/sqlite/3_0_2-3_1_0.sqlite
%%DATADIR%%/sqlite/create_tables.sqlite
%%DATADIR%%/sqlite/trigger.tmpl.sql
%%DATADIR%%/sqlite/upgrades/32001.sqlite
%%DATADIR%%/sqlite/upgrades/32002.sqlite
%%DATADIR%%/sqlite/upgrades/32003.sqlite
%%DATADIR%%/sqlite/upgrades/32004.sqlite
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/INSTALL
@ -83,13 +93,17 @@ sbin/dbmail-util
%%PORTDOCS%%%%DOCSDIR%%/README.qmail
%%PORTDOCS%%%%DOCSDIR%%/README.sieve
%%PORTDOCS%%%%DOCSDIR%%/README.smtp
%%PORTDOCS%%%%DOCSDIR%%/README.security-password
%%PORTDOCS%%%%DOCSDIR%%/README.solaris
%%PORTDOCS%%%%DOCSDIR%%/README.usermap
%%PORTDOCS%%%%DOCSDIR%%/THANKS
%%PORTDOCS%%%%DOCSDIR%%/UPGRADING
@dirrm %%DATADIR%%/sqlite/upgrades
@dirrm %%DATADIR%%/sqlite
@dirrm %%DATADIR%%/postgresql/upgrades
@dirrm %%DATADIR%%/postgresql
@dirrm %%DATADIR%%/oracle
@dirrm %%DATADIR%%/mysql/upgrades
@dirrm %%DATADIR%%/mysql
@dirrm %%DATADIR%%
@dirrm lib/dbmail