diff options
author | rodrigo <rodrigo@FreeBSD.org> | 2017-06-20 01:25:57 +0800 |
---|---|---|
committer | rodrigo <rodrigo@FreeBSD.org> | 2017-06-20 01:25:57 +0800 |
commit | 8227fa3dab1add9095c3bac8bb69f3f302211feb (patch) | |
tree | e3c415b06db6c8d1b3762ead54b60eecbce43be1 /mail | |
parent | 71945e064b859631973007efccd3f4b7ebe995ae (diff) | |
download | freebsd-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/Makefile | 3 | ||||
-rw-r--r-- | mail/davmail/files/davmail.in | 50 | ||||
-rw-r--r-- | mail/davmail/files/pkg-message.in | 9 |
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. |