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
This commit is contained in:
Rodrigo Osorio 2017-06-19 17:25:57 +00:00
parent 0ce9d8dcab
commit fe3533c1e2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=443886
3 changed files with 61 additions and 1 deletions

View file

@ -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\"#' \

View file

@ -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}'"

View file

@ -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.