aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorrodrigo <rodrigo@FreeBSD.org>2017-06-20 01:25:57 +0800
committerrodrigo <rodrigo@FreeBSD.org>2017-06-20 01:25:57 +0800
commit8227fa3dab1add9095c3bac8bb69f3f302211feb (patch)
treee3c415b06db6c8d1b3762ead54b60eecbce43be1 /mail
parent71945e064b859631973007efccd3f4b7ebe995ae (diff)
downloadfreebsd-ports-gnome-8227fa3dab1add9095c3bac8bb69f3f302211feb.tar.gz
freebsd-ports-gnome-8227fa3dab1add9095c3bac8bb69f3f302211feb.tar.zst
freebsd-ports-gnome-8227fa3dab1add9095c3bac8bb69f3f302211feb.zip
Add profiles suport in davemail.
It is useful when you need to connect to more than one exchange server. Bump portrevioon PR: 218140 Submitted by: jjuanino@gmail.com Approved by: maintainer
Diffstat (limited to 'mail')
-rw-r--r--mail/davmail/Makefile3
-rw-r--r--mail/davmail/files/davmail.in50
-rw-r--r--mail/davmail/files/pkg-message.in9
3 files changed, 61 insertions, 1 deletions
diff --git a/mail/davmail/Makefile b/mail/davmail/Makefile
index 60e8b05888f0..d13d3a125fac 100644
--- a/mail/davmail/Makefile
+++ b/mail/davmail/Makefile
@@ -3,6 +3,7 @@
PORTNAME= davmail
PORTVERSION= 4.8.0
+PORTREVISION= 1
CATEGORIES= mail java
MASTER_SITES= SF/davmail/davmail/${PORTVERSION}
DISTNAME= ${PORTNAME}-src-${PORTVERSION}-${REVISION}
@@ -30,7 +31,7 @@ GROUPS= davmail
DATADIR= ${JAVASHAREDIR}/${PORTNAME}
USE_RC_SUBR= davmail
-SUB_FILES= davmail.sh
+SUB_FILES= davmail.sh pkg-message
post-patch:
@${REINPLACE_CMD} -e 's#exec=\"davmail\"#exec=\"${PREFIX}/bin/davmail\"#' \
diff --git a/mail/davmail/files/davmail.in b/mail/davmail/files/davmail.in
index 10f063ca7f02..92598accbfef 100644
--- a/mail/davmail/files/davmail.in
+++ b/mail/davmail/files/davmail.in
@@ -12,6 +12,7 @@
# davmail_config (path): Set to
# "%%PREFIX%%/etc/davmail.properties"
# by default
+# davmail_profiles: Set to "" by default
. /etc/rc.subr
@@ -39,6 +40,55 @@ pidfile="${pidfiledir}/davmail.pid"
procname="$(davmail_procname)"
required_files=${davmail_config}
+if [ -n "$2" ]; then
+ profile="$2"
+ if [ "x${davmail_profiles}" != "x" ]; then
+ if [ ! -f %%PREFIX%%/etc/davmail.${profile}.properties ]; then
+ echo "You must setup a davmail.${profile}.properties config file"
+ return 1
+ fi
+ eval davmail_enable="\${davmail_${profile}_enable:-${davmail_enable}}"
+ pidfile="${pidfiledir}/davmail.${profile}.pid"
+ davmail_config="%%PREFIX%%/etc/davmail.${profile}.properties"
+ required_files="${davmail_config}"
+ fi
+else
+ if [ "x${davmail_profiles}" != "x" -a "x$1" != "x" ]; then
+ for profile in ${davmail_profiles}; do
+ eval _enable="\${davmail_${profile}_enable}"
+ case "x${_enable:-${davmail_enable}}" in
+ x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
+ continue
+ ;;
+ x[Yy][Ee][Ss])
+ ;;
+ *)
+ if test -z "$_enable"; then
+ _var=davmail_enable
+ else
+ _var=davmail_"${profile}"_enable
+ fi
+ echo "Bad value" \
+ "'${_enable:-${davmail_enable}}'" \
+ "for ${_var}. " \
+ "Profile ${profile} skipped."
+ continue
+ ;;
+ esac
+ echo "===> davmail profile: ${profile}"
+ %%PREFIX%%/etc/rc.d/davmail $1 ${profile}
+ retcode="$?"
+ if [ "0${retcode}" -ne 0 ]; then
+ failed="${profile} (${retcode}) ${failed:-}"
+ else
+ success="${profile} ${success:-}"
+ fi
+ done
+ exit 0
+ fi
+fi
+
+
command="/usr/sbin/daemon"
command_args="-p ${pidfile} %%LOCALBASE%%/bin/java -cp '%%DATADIR%%/davmail.jar:%%DATADIR%%/lib/*' davmail.DavGateway '${davmail_config}'"
diff --git a/mail/davmail/files/pkg-message.in b/mail/davmail/files/pkg-message.in
new file mode 100644
index 000000000000..403be88dd1e0
--- /dev/null
+++ b/mail/davmail/files/pkg-message.in
@@ -0,0 +1,9 @@
+In order to connect to several exchange servers, it is needed setup davmail
+profiles. You have to set davmail_profiles in rc.conf, and configure
+%%LOCALBASE%%/etc/davmail.<profile_name>.properties properly. Example:
+
+davmail_profiles="exchange1 exchange2"
+(and configure both %%LOCALBASE%%/etc/davmail.exchange[12].properties)
+
+You can also disable an specific profile by mean of
+davmail_<profile_name>_enable="NO" in rc.conf.