mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
The Apache Java Enterprise Mail Server (a.k.a. Apache James) is a 100% pure
Java SMTP and POP3 Mail server and NNTP News server. We have designed James to be a complete and portable enterprise mail engine solution based on currently available open protocols. James is also a mail application platform. We have developed a Java API to let you write Java code to process emails that we call the mailet API. A mailet can generate an automatic reply, update a database, prevent spam, build a message archive, or whatever you can imagine. A matcher determines whether your mailet should process an email in the server. The James project hosts the Mailet API, and James provides an implementation of this mail appli -cation platform API. James is based upon the Apache Avalon application framework, formerly a product of the Apache Avalon project. WWW: http://james.apache.org/ PR: ports/111041 Submitted by: Nemo Liu <nemoliu at gmail.com>
This commit is contained in:
parent
e280a64422
commit
18872bb1bb
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=189602
@ -173,6 +173,7 @@
|
||||
SUBDIR += isoqlog
|
||||
SUBDIR += isync
|
||||
SUBDIR += itraxp
|
||||
SUBDIR += james
|
||||
SUBDIR += jamlib
|
||||
SUBDIR += jboss-mailservices
|
||||
SUBDIR += junkfilter
|
||||
|
64
mail/james/Makefile
Normal file
64
mail/james/Makefile
Normal file
@ -0,0 +1,64 @@
|
||||
# New ports collection makefile for: geronimo
|
||||
# Date created: 30 May 2007
|
||||
# Whom: Nemo Liu <nemoliu@gmail.com>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= james
|
||||
PORTVERSION= 2.3.0
|
||||
CATEGORIES= mail java
|
||||
MASTER_SITES= ${MASTER_SITE_APACHE}
|
||||
MASTER_SITE_SUBDIR= ${PORTNAME}/server/binaries
|
||||
|
||||
MAINTAINER= nemoliu@gmail.com
|
||||
COMMENT= Java SMTP and POP3 Mail server and NNTP News server
|
||||
|
||||
USE_JAVA= yes
|
||||
JAVA_VERSION= 1.4+
|
||||
NO_BUILD= YES
|
||||
|
||||
USE_RC_SUBR= james.sh
|
||||
|
||||
APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION}
|
||||
PID_FILE= /var/run/${APP_SHORTNAME}.pid
|
||||
PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///}
|
||||
LATEST_LINK= ${APP_SHORTNAME}
|
||||
|
||||
SUB_LIST= JAVA_HOME=${JAVA_HOME} \
|
||||
PID_FILE=${PID_FILE} \
|
||||
JAMES_HOME=${APP_HOME} \
|
||||
JAMES_VERSION=${PORTVERSION:S/.//g}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
pre-patch:
|
||||
@${ECHO_MSG} "Installation settings:"
|
||||
@${ECHO_MSG} " Destination directory: ${APP_HOME}"
|
||||
@${ECHO_MSG} " Location of JDK: ${JAVA_HOME}"
|
||||
@${ECHO_MSG} " Location of Java port: ${JAVA_PORT}"
|
||||
|
||||
post-patch:
|
||||
@${ECHO_MSG} -n ">> Removing unneeded files..."
|
||||
@${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'`
|
||||
@${ECHO_MSG} " [ DONE ]"
|
||||
|
||||
do-install:
|
||||
@${ECHO_MSG} -n ">> Creating destination directory..."
|
||||
@${MKDIR} ${APP_HOME}
|
||||
@${ECHO_MSG} " [ DONE ]"
|
||||
|
||||
@${ECHO_MSG} ">> Copying files to destination directory..."
|
||||
@${CP} -R ${WRKSRC}/* ${APP_HOME}
|
||||
@${MKDIR} ${APP_HOME}/logs
|
||||
@${MKDIR} ${APP_HOME}/apps
|
||||
@${ECHO_MSG} " [ DONE ]"
|
||||
|
||||
@${ECHO_MSG} -n ">> Creating symlink to tools.jar..."
|
||||
@${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/lib/tools.jar
|
||||
@${ECHO_MSG} " [ DONE ]"
|
||||
|
||||
post-install:
|
||||
@${ECHO_MSG} "${PORTNAME} ${PORTVERSION} has been installed in ${APP_HOME}."
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
mail/james/distinfo
Normal file
3
mail/james/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
MD5 (james-2.3.0.tar.gz) = a0b15c4d259185723a974353b9967126
|
||||
SHA256 (james-2.3.0.tar.gz) = a083a2552a081bdd7a468acccd32479260c530a23e4c82c1c082aa79e81e9250
|
||||
SIZE (james-2.3.0.tar.gz) = 7674091
|
178
mail/james/files/james.sh.in
Normal file
178
mail/james/files/james.sh.in
Normal file
@ -0,0 +1,178 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
#
|
||||
# Configuration settings for geronimo%%GERONIMO_VERSION%% in /etc/rc.conf:
|
||||
#
|
||||
# james%%JAMES_VERSION%%_enable (bool):
|
||||
# Set to "NO" by default.
|
||||
# Set it to "YES" to enable james%%JAMES_VERSION%%
|
||||
#
|
||||
#
|
||||
# james%%JAMES_VERSION%%_home (str)
|
||||
# Set to "%%JAMES_HOME%%" by default.
|
||||
# Set the JAMES_HOME variable for the James process
|
||||
#
|
||||
# james%%JAMES_VERSION%%_base (str)
|
||||
# Set to "%%JAMES_HOME%%" by default.
|
||||
# Set the JAMES_BASE variable for the James process
|
||||
#
|
||||
# james%%JAMES_VERSION%%_tmpdir (str)
|
||||
# Set to "/tmp" by default.
|
||||
#
|
||||
# geronimo%%GERONIMO_VERSION%%_stop_timeout (num)
|
||||
# Set to "10" by default.
|
||||
# Sets the timeout in seconds to allow geronimo to shutdown.
|
||||
# After the timeout has elapsed, geronimo will be killed.
|
||||
#
|
||||
# james%%JAMES_VERSION%%_java_home (str):
|
||||
# james%%JAMES_VERSION%%_java_vendor (str):
|
||||
# james%%JAMES_VERSION%%_java_version (str):
|
||||
# james%%JAMES_VERSION%%_java_os (str):
|
||||
# Specify the requirements of the Java VM to use. See javavm(1).
|
||||
#
|
||||
# james%%JAMES_VERSION%%_classpath (str):
|
||||
# Set to "" by default.
|
||||
# Addtional classes to add to the CLASSPATH
|
||||
#
|
||||
# james%%JAMES_VERSION%%_java_opts (str):
|
||||
# Set to "" by default.
|
||||
# Java VM args to use.
|
||||
#
|
||||
|
||||
james%%JAMES_VERSION%%_enable="${james%%JAMES_VERSION%%_enable:-"NO"}"
|
||||
james%%JAMES_VERSION%%_java_version="${james%%JAMES_VERSION%%_java_version:-"%%JAVA_VERSION%%"}"
|
||||
james%%JAMES_VERSION%%_home="${james%%JAMES_VERSION%%_home:-"%%JAMES_HOME%%"}"
|
||||
james%%JAMES_VERSION%%_base="${james%%JAMES_VERSION%%_base:-"%%JAMES_HOME%%"}"
|
||||
james%%JAMES_VERSION%%_tmpdir="${james%%JAMES_VERSION%%_tmpdir:-"/tmp"}"
|
||||
james%%JAMES_VERSION%%_stop_timeout="${james%%JAMES_VERSION%%_stop_timeout:-"10"}"
|
||||
|
||||
. %%RC_SUBR%%
|
||||
|
||||
name="james%%JAMES_VERSION%%"
|
||||
rcvar=`set_rcvar`
|
||||
pidfile="%%PID_FILE%%"
|
||||
|
||||
JAVA_HOME=%%JAVA_HOME%%
|
||||
JRE_HOME=$JAVA_HOME/jre
|
||||
|
||||
JVM_EXT_DIRS="${james%%JAMES_VERSION%%_home}/lib:${james%%JAMES_VERSION%%_home}/tools/lib"
|
||||
JVM_OPTS="-Djava.ext.dirs=$JVM_EXT_DIRS"
|
||||
|
||||
load_rc_config "${name}"
|
||||
|
||||
if [ -n "${james%%JAMES_VERSION%%_java_home}" ] ; then
|
||||
export JAVA_HOME="${james%%JAMES_VERSION%%_java_home}"
|
||||
fi
|
||||
|
||||
if [ -n "${james%%JAMES_VERSION%%_java_version}" ] ; then
|
||||
export JAVA_VERSION="${james%%JAMES_VERSION%%_java_version}"
|
||||
fi
|
||||
|
||||
if [ -n "${james%%JAMES_VERSION%%_java_vendor}" ] ; then
|
||||
export JAVA_VENDOR="${james%%JAMES_VERSION%%_java_vendor}"
|
||||
fi
|
||||
|
||||
if [ -n "${james%%JAMES_VERSION%%_java_os}" ] ; then
|
||||
export JAVA_OS="${james%%JAMES_VERSION%%_java_os}"
|
||||
fi
|
||||
|
||||
if [ "$JAVA_HOME" = "" ] ; then
|
||||
echo "ERROR: JAVA_HOME not found in your environment."
|
||||
echo
|
||||
echo "Please, set the JAVA_HOME variable in your environment to match the"
|
||||
echo "location of the Java Virtual Machine you want to use."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${james%%JAMES_VERSION%%_tmpdir}" ] ; then
|
||||
# Define the java.io.tmpdir to use for Phoenix
|
||||
james%%JAMES_VERSION%%_tmpdir="${james%%JAMES_VERSION%%_home}"/temp
|
||||
mkdir -p "${james%%JAMES_VERSION%%_tmpdir}"
|
||||
fi
|
||||
|
||||
java_cmd=
|
||||
if [ -z "${JAVA_HOME}" ] ; then
|
||||
java_cmd=%%LOCALBASE%%/bin/java
|
||||
else
|
||||
java_cmd=${JAVA_HOME}/bin/java
|
||||
fi
|
||||
|
||||
|
||||
java_command="$java_cmd $JVM_OPTS \
|
||||
-Djava.security.policy=jar:file:${james%%JAMES_VERSION%%_home}/bin/phoenix-loader.jar!/META-INF/java.policy \
|
||||
-Dphoenix.home=${james%%JAMES_VERSION%%_home} \
|
||||
-Djava.io.tmpdir=${james%%JAMES_VERSION%%_tmpdir} \
|
||||
-jar ${james%%JAMES_VERSION%%_home}/bin/phoenix-loader.jar >/dev/null"
|
||||
|
||||
PHOENIX_CONSOLE="$PHOENIX_TMPDIR/phoenix.console"
|
||||
if [ -z "$PHOENIX_CONSOLE" ]
|
||||
then
|
||||
if [ -w /dev/console ]
|
||||
then
|
||||
PHOENIX_CONSOLE=/dev/console
|
||||
else
|
||||
PHOENIX_CONSOLE=/dev/tty
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Subvert the check_pid_file procname check.
|
||||
if [ -f $pidfile ]; then
|
||||
read rc_pid junk < $pidfile
|
||||
if [ ! -z "$rc_pid" ]; then
|
||||
procname=`ps -o ucomm= $rc_pid`
|
||||
fi
|
||||
fi
|
||||
|
||||
command="/usr/sbin/daemon"
|
||||
flags="-p ${pidfile} ${java_command}"
|
||||
|
||||
start_precmd=pid_touch
|
||||
stop_cmd="james%%JAMES_VERSION%%_stop"
|
||||
|
||||
pid_touch ()
|
||||
{
|
||||
touch $pidfile
|
||||
}
|
||||
|
||||
james%%JAMES_VERSION%%_stop() {
|
||||
rc_pid=$(check_pidfile $pidfile *$procname*)
|
||||
|
||||
if [ -z "$rc_pid" ]; then
|
||||
[ -n "$rc_fast" ] && return 0
|
||||
if [ -n "$pidfile" ]; then
|
||||
echo "${name} not running? (check $pidfile)."
|
||||
else
|
||||
echo "${name} not running?"
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Stopping ${name}."
|
||||
kill ${rc_pid}>/dev/null
|
||||
james_wait_max_for_pid ${james%%JAMES_VERSION%%_stop_timeout} ${rc_pid}
|
||||
kill -KILL ${rc_pid} 2> /dev/null && echo "Killed."
|
||||
echo -n > ${pidfile}
|
||||
}
|
||||
|
||||
james_wait_max_for_pid() {
|
||||
_timeout=$1
|
||||
shift
|
||||
_pid=$1
|
||||
_prefix=
|
||||
while [ $_timeout -gt 0 ] ; do
|
||||
echo -n ${_prefix:-"Waiting (max $_timeout secs) for PIDS: "}$_pid
|
||||
_prefix=", "
|
||||
sleep 2
|
||||
kill -0 $_pid 2> /dev/null || break
|
||||
_timeout=$(($_timeout-2))
|
||||
done
|
||||
if [ -n "$_prefix" ]; then
|
||||
echo "."
|
||||
fi
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
17
mail/james/pkg-descr
Normal file
17
mail/james/pkg-descr
Normal file
@ -0,0 +1,17 @@
|
||||
The Apache Java Enterprise Mail Server (a.k.a. Apache James) is a 100% pure
|
||||
Java SMTP and POP3 Mail server and NNTP News server. We have designed James
|
||||
to be a complete and portable enterprise mail engine solution based on
|
||||
currently available open protocols.
|
||||
|
||||
James is also a mail application platform. We have developed a Java API to
|
||||
let you write Java code to process emails that we call the mailet API. A
|
||||
mailet can generate an automatic reply, update a database, prevent spam,
|
||||
build a message archive, or whatever you can imagine. A matcher determines
|
||||
whether your mailet should process an email in the server. The James project
|
||||
hosts the Mailet API, and James provides an implementation of this mail appli
|
||||
-cation platform API.
|
||||
|
||||
James is based upon the Apache Avalon application framework, formerly a
|
||||
product of the Apache Avalon project.
|
||||
|
||||
WWW: http://james.apache.org/
|
129
mail/james/pkg-plist
Normal file
129
mail/james/pkg-plist
Normal file
@ -0,0 +1,129 @@
|
||||
%%T%%/LICENSE.txt
|
||||
%%T%%/NOTICE.txt
|
||||
%%T%%/README.txt
|
||||
%%T%%/UPGRADE.txt
|
||||
%%T%%/apps/dummy.txt
|
||||
%%T%%/apps/james.sar
|
||||
%%T%%/bin/Wrapper.LICENSE
|
||||
%%T%%/bin/Wrapper.dll
|
||||
%%T%%/bin/derby.properties
|
||||
%%T%%/bin/lib/excalibur-cli-1.0.jar
|
||||
%%T%%/bin/lib/excalibur-extension-1.0a.jar
|
||||
%%T%%/bin/lib/excalibur-instrument-manager-1.0.jar
|
||||
%%T%%/bin/lib/excalibur-io-1.1.jar
|
||||
%%T%%/bin/lib/excalibur-logger-2.1.jar
|
||||
%%T%%/bin/lib/excalibur-monitor-2.1.jar
|
||||
%%T%%/bin/lib/jakarta-oro-2.0.8.jar
|
||||
%%T%%/bin/lib/mx4j-jmx.jar
|
||||
%%T%%/bin/lib/mx4j-tools.jar
|
||||
%%T%%/bin/lib/mx4j.LICENSE
|
||||
%%T%%/bin/lib/phoenix-engine.jar
|
||||
%%T%%/bin/lib/spice-classman-1.0.jar
|
||||
%%T%%/bin/lib/spice-loggerstore-0.5.jar
|
||||
%%T%%/bin/lib/spice-salt-0.8.jar
|
||||
%%T%%/bin/lib/spice-xmlpolicy-1.0.jar
|
||||
%%T%%/bin/lib/spice.LICENSE
|
||||
%%T%%/bin/phoenix-loader.jar
|
||||
%%T%%/bin/phoenix.sh
|
||||
%%T%%/bin/run.sh
|
||||
%%T%%/bin/sendmail.py
|
||||
%%T%%/bin/wrapper.jar
|
||||
%%T%%/conf/kernel.xml
|
||||
%%T%%/conf/phoenix-service.xml
|
||||
%%T%%/conf/wrapper.conf
|
||||
%%T%%/docs/adding_users.html
|
||||
%%T%%/docs/announcement.html
|
||||
%%T%%/docs/architecture.html
|
||||
%%T%%/docs/build_instructions.html
|
||||
%%T%%/docs/changelog.html
|
||||
%%T%%/docs/custom_mailet.html
|
||||
%%T%%/docs/custom_matcher.html
|
||||
%%T%%/docs/design_objectives.html
|
||||
%%T%%/docs/dns_configuration.html
|
||||
%%T%%/docs/fetchmail_configuration.html
|
||||
%%T%%/docs/images/james-logo.jpg
|
||||
%%T%%/docs/images/james_config_load_balance.png
|
||||
%%T%%/docs/images/james_config_secondary.png
|
||||
%%T%%/docs/images/james_config_smart_host.png
|
||||
%%T%%/docs/images/void.gif
|
||||
%%T%%/docs/index.html
|
||||
%%T%%/docs/install.html
|
||||
%%T%%/docs/installation_instructions.html
|
||||
%%T%%/docs/mailet_api.html
|
||||
%%T%%/docs/mailing_lists.html
|
||||
%%T%%/docs/migrating_datasource.html
|
||||
%%T%%/docs/nntp_configuration.html
|
||||
%%T%%/docs/pop3_configuration.html
|
||||
%%T%%/docs/provided_mailets.html
|
||||
%%T%%/docs/provided_matchers.html
|
||||
%%T%%/docs/remotemanager_configuration.html
|
||||
%%T%%/docs/repositories.html
|
||||
%%T%%/docs/serverwide_configuration.html
|
||||
%%T%%/docs/smtp_auth.html
|
||||
%%T%%/docs/smtp_configuration.html
|
||||
%%T%%/docs/spoolmanager.html
|
||||
%%T%%/docs/spoolmanager_configuration.html
|
||||
%%T%%/docs/stylesheet.css
|
||||
%%T%%/docs/stylesheets/project.html
|
||||
%%T%%/docs/summary.html
|
||||
%%T%%/docs/upgrade_instructions.html
|
||||
%%T%%/docs/using_database.html
|
||||
%%T%%/ext/README.txt
|
||||
%%T%%/lib/avalon-framework-api-4.3.jar
|
||||
%%T%%/lib/avalon-framework-impl-4.3.jar
|
||||
%%T%%/lib/avalon-logkit-2.1.jar
|
||||
%%T%%/lib/commons-collections-2.1.1.jar
|
||||
%%T%%/lib/concurrent-1.3.4.jar
|
||||
%%T%%/lib/excalibur-cli-1.0.jar
|
||||
%%T%%/lib/excalibur-extension-1.0a.jar
|
||||
%%T%%/lib/excalibur-instrument-api-2.1.jar
|
||||
%%T%%/lib/excalibur-instrument-manager-1.0.jar
|
||||
%%T%%/lib/excalibur-io-1.1.jar
|
||||
%%T%%/lib/excalibur-logger-2.1.jar
|
||||
%%T%%/lib/excalibur-monitor-2.1.jar
|
||||
%%T%%/lib/excalibur-pool-api-2.1.jar
|
||||
%%T%%/lib/excalibur-pool-impl-2.1.jar
|
||||
%%T%%/lib/excalibur-thread-api-2.1.jar
|
||||
%%T%%/lib/excalibur-thread-impl-2.1.jar
|
||||
%%T%%/lib/jakarta-oro-2.0.8.jar
|
||||
%%T%%/lib/mx4j-jmx.jar
|
||||
%%T%%/lib/mx4j-tools.jar
|
||||
%%T%%/lib/mx4j.LICENSE
|
||||
%%T%%/lib/phoenix-client.jar
|
||||
%%T%%/lib/phoenix-engine.jar
|
||||
%%T%%/lib/spice-classman-1.0.jar
|
||||
%%T%%/lib/spice-loggerstore-0.5.jar
|
||||
%%T%%/lib/spice-salt-0.8.jar
|
||||
%%T%%/lib/spice-xmlpolicy-1.0.jar
|
||||
%%T%%/lib/spice.LICENSE
|
||||
%%T%%/lib/tools.jar
|
||||
%%T%%/logs/readme.txt
|
||||
%%T%%/tools/lib/excalibur-i18n-1.0.jar
|
||||
%%T%%/tools/lib/isorelax-20020414.jar
|
||||
%%T%%/tools/lib/isorelax.LICENSE
|
||||
%%T%%/tools/lib/msv-20020414.jar
|
||||
%%T%%/tools/lib/msv.LICENSE
|
||||
%%T%%/tools/lib/phoenix-tools.jar
|
||||
%%T%%/tools/lib/qdox-1.1.jar
|
||||
%%T%%/tools/lib/qdox.LICENSE
|
||||
%%T%%/tools/lib/relaxngDatatype-20020414.jar
|
||||
%%T%%/tools/lib/relaxngDatatype.LICENSE
|
||||
%%T%%/tools/lib/spice-configkit-1.1.2.jar
|
||||
%%T%%/tools/lib/spice.LICENSE
|
||||
%%T%%/tools/lib/xsdlib-20020414.jar
|
||||
%%T%%/tools/lib/xsdlib.LICENSE
|
||||
@dirrm share/nls/en_US.US-ASCII
|
||||
@dirrm share/nls/POSIX
|
||||
@dirrm %%T%%/tools/lib
|
||||
@dirrm %%T%%/tools
|
||||
@dirrm %%T%%/logs
|
||||
@dirrm %%T%%/lib
|
||||
@dirrm %%T%%/ext
|
||||
@dirrm %%T%%/docs/stylesheets
|
||||
@dirrm %%T%%/docs/images
|
||||
@dirrm %%T%%/docs
|
||||
@dirrm %%T%%/conf
|
||||
@dirrm %%T%%/bin/lib
|
||||
@dirrm %%T%%/bin
|
||||
@dirrm %%T%%/apps
|
||||
@dirrm %%T%%
|
Loading…
Reference in New Issue
Block a user