--- UIDs.ori 2020-03-26 20:00:48.622664000 -0700 +++ UIDs 2020-03-26 20:04:22.225960000 -0700 @@ -448,7 +448,7 @@ # free: 500 # free: 501 # free: 502 -# free: 503 +james:*:503:503::0:0:Apache James Mail Server:/nonexistent:/usr/sbin/nologin # free: 504 _bbstored:*:505:505::0:0:Box Backup Store Daemon:/nonexistent:/usr/sbin/nologin radmind:*:506:506::0:0:radmind User:/var/radmind:/usr/sbin/nologin --- GIDs.ori 2020-03-26 20:00:54.210514000 -0700 +++ GIDs 2020-03-26 20:05:58.795184000 -0700 @@ -4,7 +4,7 @@ # /usr/src/etc/group daemon:*:1: operator:*:5:amanda -mail:*:6:postfix,clamav +mail:*:6:postfix,clamav,james ftp:*:14: smmsp:*:25: video:*:44:lightdm @@ -443,7 +443,7 @@ # free: 500 # free: 501 birdvty:*:502: -# free: 503 +james:*:503: # free: 504 _bbstored:*:505: radmind:*:506: diff -urN mail/james.ori/Makefile mail/james/Makefile --- mail/james.ori/Makefile 2020-03-22 23:31:43.709181000 -0700 +++ mail/james/Makefile 2020-03-27 07:33:05.003702000 -0700 @@ -2,61 +2,97 @@ # $FreeBSD: head/mail/james/Makefile 518482 2019-11-26 21:46:12Z jkim $ PORTNAME= james -PORTVERSION= 2.3.2.1 +PORTVERSION= 3.4.0 PORTREVISION= 1 CATEGORIES= mail java -MASTER_SITES= APACHE/${PORTNAME}/server/ -DISTNAME= ${PORTNAME}-binary-${PORTVERSION} +MASTER_SITES= APACHE/${PORTNAME}/server/${PORTVERSION}/ \ + https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-api/2.13.1/:log4jAPI \ + https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-core/2.13.1/:log4jCore \ + https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-1.2-api/2.13.1/:log4jV1 \ + https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-jcl/2.13.1/:log4jJcl \ + https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.13.1/:log4jSlf4j \ + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.30/:slf4j +DISTNAME= ${PORTNAME}-server-app-${PORTVERSION}-app +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + log4j-api-2.13.1.jar:log4jAPI \ + log4j-core-2.13.1.jar:log4jCore \ + log4j-1.2-api-2.13.1.jar:log4jV1 \ + log4j-jcl-2.13.1.jar:log4jJcl \ + log4j-slf4j-impl-2.13.1.jar:log4jSlf4j \ + slf4j-api-1.7.30.jar:slf4j +DIST_SUBDIR= ${PORTNAME} +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER= ports@FreeBSD.org -COMMENT= Java SMTP and POP3 Mail server and NNTP News server +MAINTAINER= tommyhp2@gmail.com +COMMENT= Java IMAP, SMTP and POP3 Mail server and DNS server LICENSE= APACHE20 -LICENSE_FILE= ${WRKSRC}/LICENSE.txt +LICENSE_FILE= ${WRKSRC}/LICENSE -USES= cpe +USES= cpe zip CPE_VENDOR= apache USE_JAVA= yes +JAVA_VERSION= 8+ + +USE_RC_SUBR= ${PKGBASE:C/-/_/} + NO_ARCH= yes NO_BUILD= yes -USE_RC_SUBR= james +PID_FILE= /var/run/${PORTNAME}.pid +JAMES_SUBDIR?= apache-${PKGBASE}-${PORTVERSION:R} +JAMES_HOME= ${PREFIX}/${JAMES_SUBDIR} +WRKSRC= ${WRKDIR}/${PORTNAME}-server-app-${PORTVERSION} -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} -APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION} -PID_FILE= /var/run/${PORTNAME}.pid -PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} +PLIST_SUB= T=${JAMES_SUBDIR} \ + JAMESOWN=${JAMESOWN} \ + JAMESGRP=${JAMESGRP} +SUB_LIST= JAMES_HOME=${JAMES_HOME} \ + JAVA_HOME=${JAVA_HOME} \ + JAMES_USER=${JAMESOWN} \ + PID_FILE=${PID_FILE} -SUB_LIST= JAVA_HOME=${JAVA_HOME} \ - PID_FILE=${PID_FILE} \ - JAMES_HOME=${APP_HOME} +USERS= james +GROUPS= mail maildrop james pre-patch: @${ECHO_MSG} "Installation settings:" - @${ECHO_MSG} " Destination directory: ${APP_HOME}" + @${ECHO_MSG} " Destination directory: ${JAMES_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} `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'` + @${ECHO_MSG} ">> Updating logging and other dependencies:" + @${REINPLACE_CMD} -e 's|%%VERSION%%|${PORTVERSION}|g; s|%%JAVA_HOME%%|${JAVA_HOME}|g' ${WRKSRC}/bin/daemon.sh + @${CHMOD} +x ${WRKSRC}/bin/daemon.sh + @${RM} `${FIND} ${WRKSRC}/lib -name '*slf4j*.jar'` `${FIND} ${WRKSRC}/lib -name '*log4j*.jar'` +.for FILE in ${DISTFILES} +. if "${FILE:C/^(.*)(\:.*)/\1/}" != "${EXTRACT_ONLY}" +. if exists(${PORTSDIR}${DISTDIR}/${DIST_SUBDIR}) + ${CP} ${PORTSDIR}${DISTDIR}/${DIST_SUBDIR}/${FILE:C/^(.*)(\:.*)/\1/} ${WRKSRC}/lib +. elif exists(${DISTDIR}/${DIST_SUBDIR}) + ${CP} ${DISTDIR}/${DIST_SUBDIR}/${FILE:C/^(.*)(\:.*)/\1/} ${WRKSRC}/lib +. else + @${ECHO_MSG} "[ERROR] File not found: ${FILE:C/^(.*)(\:.*)/\1/}" +. endif +. endif +.endfor + @${ECHO_MSG} ">> Removing unneeded files..." + @${RM} ${WRKSRC}/conf/log4j.properties + @${RM} `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.exe'` + @${RM} `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.bak'` + @${RM} `${FIND} ${WRKSRC} -name '*wrapper*'` @${ECHO_MSG} " [ DONE ]" do-install: @${ECHO_MSG} -n ">> Creating destination directory..." - @${MKDIR} ${STAGEDIR}${APP_HOME} + @${MKDIR} ${STAGEDIR}${JAMES_HOME} @${ECHO_MSG} " [ DONE ]" @${ECHO_MSG} ">> Copying files to destination directory..." - @${CP} -R ${WRKSRC}/* ${STAGEDIR}${APP_HOME} - @${MKDIR} ${STAGEDIR}${APP_HOME}/logs - @${MKDIR} ${STAGEDIR}${APP_HOME}/apps + @${CP} -R ${WRKSRC}/* ${STAGEDIR}${JAMES_HOME} @${ECHO_MSG} " [ DONE ]" - @${ECHO_MSG} -n ">> Creating symlink to tools.jar..." - @${LN} -sf ${JAVA_HOME}/lib/tools.jar ${STAGEDIR}${APP_HOME}/lib/tools.jar - @${ECHO_MSG} " [ DONE ]" - - @${ECHO_MSG} "${PORTNAME} ${PORTVERSION} has been installed in ${APP_HOME}." + @${ECHO_MSG} "${PORTNAME} ${PORTVERSION} has been installed in ${JAMES_HOME}." .include diff -urN mail/james.ori/distinfo mail/james/distinfo --- mail/james.ori/distinfo 2020-03-22 23:31:43.662627000 -0700 +++ mail/james/distinfo 2020-03-27 20:14:12.777533000 -0700 @@ -1,2 +1,15 @@ -SHA256 (james-binary-2.3.2.1.tar.gz) = dc7ada2846e2fbbcdb0613240170e89cc61ae66ec89cecd9805dbd24cefcf119 -SIZE (james-binary-2.3.2.1.tar.gz) = 7661407 +TIMESTAMP = 1585365252 +SHA256 (james/james-server-app-3.4.0-app.zip) = 6012054d54bd775225755fa11044c20e7aecb7570babeed0043469e9e12c21a5 +SIZE (james/james-server-app-3.4.0-app.zip) = 88416045 +SHA256 (james/log4j-api-2.13.1.jar) = 307fffc2623d010e3fe67d9f6b101c14bae33ec310e5f56960d491885fd59630 +SIZE (james/log4j-api-2.13.1.jar) = 292244 +SHA256 (james/log4j-core-2.13.1.jar) = 88ebd503b35a0debe18c2707db9de33a8c6d96491270b7f02dd086b8072426b2 +SIZE (james/log4j-core-2.13.1.jar) = 1702809 +SHA256 (james/log4j-1.2-api-2.13.1.jar) = eadc675c802bc3ec372c627511b2d92e7c1e4da9dd9c703cfcbaeb385070b771 +SIZE (james/log4j-1.2-api-2.13.1.jar) = 201684 +SHA256 (james/log4j-jcl-2.13.1.jar) = 8d35e0a5c152966ff042ccd2fd66496c1ec7563a01bc529edf98cc9d63af5212 +SIZE (james/log4j-jcl-2.13.1.jar) = 12657 +SHA256 (james/log4j-slf4j-impl-2.13.1.jar) = 066f6585ec1a8a75d40e303f11b15c8c8c99a1ea6ea32028d217f4678a877587 +SIZE (james/log4j-slf4j-impl-2.13.1.jar) = 23591 +SHA256 (james/slf4j-api-1.7.30.jar) = cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57 +SIZE (james/slf4j-api-1.7.30.jar) = 41472 diff -urN mail/james.ori/files/james.in mail/james/files/james.in --- mail/james.ori/files/james.in 2020-03-22 23:31:43.693927000 -0700 +++ mail/james/files/james.in 2020-03-27 05:18:44.891543000 -0700 @@ -20,19 +20,12 @@ # Set to "%%JAMES_HOME%%" by default. # Set the JAMES_BASE variable for the James process # -# james_tmpdir (str) -# Set to "/tmp" by default. -# # james_stop_timeout (num) # Set to "10" by default. # Sets the timeout in seconds to allow james to shutdown. # After the timeout has elapsed, james will be killed. # # james_java_home (str): -# james_java_vendor (str): -# james_java_version (str): -# james_java_os (str): -# Specify the requirements of the Java VM to use. See javavm(1). # # james_classpath (str): # Set to "" by default. @@ -46,7 +39,6 @@ james_enable="${james_enable:-"NO"}" james_home="${james_home:-"%%JAMES_HOME%%"}" james_base="${james_base:-"%%JAMES_HOME%%"}" -james_tmpdir="${james_tmpdir:-"/tmp"}" james_stop_timeout="${james_stop_timeout:-"10"}" . /etc/rc.subr @@ -64,25 +56,11 @@ JAVA_HOME="%%JAVA_HOME%%" JRE_HOME="$JAVA_HOME/jre" -JVM_EXT_DIRS="${james_home}/lib:${james_home}/tools/lib" -JVM_OPTS="-Djava.ext.dirs=$JVM_EXT_DIRS" if [ -n "${james_java_home}" ] ; then export JAVA_HOME="${james_java_home}" fi -if [ -n "${james_java_version}" ] ; then - export JAVA_VERSION="${james_java_version}" -fi - -if [ -n "${james_java_vendor}" ] ; then - export JAVA_VENDOR="${james_java_vendor}" -fi - -if [ -n "${james_java_os}" ] ; then - export JAVA_OS="${james_java_os}" -fi - if [ "$JAVA_HOME" = "" ] ; then echo "ERROR: JAVA_HOME not found in your environment." echo @@ -91,12 +69,6 @@ return 1 fi -if [ -z "${james_tmpdir}" ] ; then - # Define the java.io.tmpdir to use for Phoenix - james_tmpdir="${james_home}"/temp - mkdir -p "${james_tmpdir}" -fi - java_cmd= if [ -z "${JAVA_HOME}" ] ; then java_cmd=%%LOCALBASE%%/bin/java @@ -104,22 +76,6 @@ java_cmd=${JAVA_HOME}/bin/java fi - -java_command="$java_cmd $JVM_OPTS \ - -Djava.security.policy=jar:file:${james_home}/bin/phoenix-loader.jar!/META-INF/java.policy \ - -Dphoenix.home=${james_home} \ - -Djava.io.tmpdir=${james_tmpdir} \ - -jar ${james_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 @@ -141,8 +97,8 @@ fi echo "Starting ${name}." - nohup sh -c "exec $java_command >>$PHOENIX_CONSOLE 2>&1" >/dev/null & - echo $! > $pidfile + cd $james_home/bin + ./daemon.sh start } james_status() { diff -urN mail/james.ori/files/patch-bin_daemon.sh mail/james/files/patch-bin_daemon.sh --- mail/james.ori/files/patch-bin_daemon.sh 1969-12-31 16:00:00.000000000 -0800 +++ mail/james/files/patch-bin_daemon.sh 2020-03-27 06:58:37.530298000 -0700 @@ -0,0 +1,259 @@ +--- bin/daemon.sh.orig 2020-03-27 13:56:13 UTC ++++ bin/daemon.sh +@@ -0,0 +1,256 @@ ++#!/bin/sh ++ ++# Licensed to the Apache Software Foundation (ASF) under one or more ++# contributor license agreements. See the NOTICE file distributed with ++# this work for additional information regarding copyright ownership. ++# The ASF licenses this file to You under the Apache License, Version 2.0 ++# (the "License"); you may not use this file except in compliance with ++# the License. You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++# ++# ----------------------------------------------------------------------------- ++# Commons Daemon wrapper script. ++# ----------------------------------------------------------------------------- ++ ++# resolve links - $0 may be a softlink ++PRG="$0" ++ ++while [ -h "$PRG" ]; do ++ ls=`ls -ld "$PRG"` ++ link=`expr "$ls" : '.*-> \(.*\)$'` ++ if expr "$link" : '/.*' > /dev/null; then ++ PRG="$link" ++ else ++ PRG=`dirname "$PRG"`/"$link" ++ fi ++done ++ ++DIRNAME="`dirname "$PRG"`" ++PROGRAM="`basename "$PRG"`" ++while [ ".$1" != . ] ++do ++ case "$1" in ++ --java-home ) ++ JAVA_HOME="$2" ++ shift; shift; ++ continue ++ ;; ++ --james-home ) ++ JAMES_HOME="$2" ++ shift; shift; ++ continue ++ ;; ++ --james-base ) ++ JAMES_BASE="$2" ++ shift; shift; ++ continue ++ ;; ++ --james-pid ) ++ JAMES_PID="$2" ++ shift; shift; ++ continue ++ ;; ++ --james-user ) ++ JAMES_USER="$2" ++ shift; shift; ++ continue ++ ;; ++ --service-start-wait-time ) ++ SERVICE_START_WAIT_TIME="$2" ++ shift; shift; ++ continue ++ ;; ++ * ) ++ break ++ ;; ++ esac ++done ++# OS specific support (must be 'true' or 'false'). ++cygwin=false; ++darwin=false; ++case "`uname`" in ++ CYGWIN*) ++ cygwin=true ++ ;; ++ Darwin*) ++ darwin=true ++ ;; ++esac ++ ++# Use the maximum available, or set MAX_FD != -1 to use that ++test ".$MAX_FD" = . && MAX_FD="maximum" ++# Setup parameters for running the jsvc ++# ++test ".$JAMES_USER" = . && JAMES_USER=james ++ ++# Ensure that any user defined CLASSPATH variables are not used on startup, ++# but allow them to be specified in setenv.sh, in rare case when it is needed. ++CLASSPATH= ++JAVA_OPTS= ++if [ -r "$JAMES_BASE/bin/setenv.sh" ]; then ++ . "$JAMES_BASE/bin/setenv.sh" ++elif [ -r "$JAMES_HOME/bin/setenv.sh" ]; then ++ . "$JAMES_HOME/bin/setenv.sh" ++fi ++ ++if [ -z "$JAVA_HOME" ]; then ++ JAVA_HOME=%%JAVA_HOME%% ++# JAVA_BIN="`which java 2>/dev/null || type java 2>&1`" ++# while [ -h "$JAVA_BIN" ]; do ++# ls=`ls -ld "$JAVA_BIN"` ++# link=`expr "$ls" : '.*-> \(.*\)$'` ++# if expr "$link" : '/.*' > /dev/null; then ++# JAVA_BIN="$link" ++# else ++# JAVA_BIN="`dirname "$JAVA_BIN"`/$link" ++# fi ++# done ++# test -x "$JAVA_BIN" && JAVA_HOME="`dirname "$JAVA_BIN"`" ++# test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd` ++#else ++# JAVA_BIN="$JAVA_HOME/bin/java" ++fi ++JAVA_BIN="$JAVA_HOME/bin/java" ++ ++# Only set JAMES_HOME if not already set ++test ".$JAMES_HOME" = . && JAMES_HOME=`cd "$DIRNAME/.." >/dev/null; pwd` ++test ".$JAMES_BASE" = . && JAMES_BASE="$JAMES_HOME" ++test ".$JAMES_MAIN" = . && JAMES_MAIN=org.apache.james.app.spring.JamesAppSpringMain ++# If not explicitly set, look for jsvc in /usr/local ++if [ -z "$JSVC" ]; then ++ JSVC="/usr/local/bin/jsvc" ++fi ++# Set the default service-start wait time if necessary ++test ".$SERVICE_START_WAIT_TIME" = . && SERVICE_START_WAIT_TIME=10 ++ ++REPO="$JAMES_BASE"/lib ++ ++# Add on extra jar files to CLASSPATH ++test ".$CLASSPATH" != . && CLASSPATH="$CLASSPATH:" ++CLASSPATH="$CLASSPATH$JAMES_HOME/conf:$JAMES_BASE/conf/lib/*:$REPO/*" ++#/lib/james-server-app-3.4.0.jar ++ ++JAMES_OPTS="-XX:+HeapDumpOnOutOfMemoryError -Xms128m -Xmx512m" ++JAMES_OPTS="$JAMES_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.address.strict=false" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.base64.ignoreerrors=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.decodeparameters=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.encodeparameters=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.ignoreunknownencoding=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.multipart.ignoremissingboundaryparameter=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.multipart.ignoremissingendboundary=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.multipart.allowempty=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.uudecode.ignoreerrors=true" ++JAMES_OPTS="$JAMES_OPTS -Dmail.mime.uudecode.ignoremissingbeginend=true" ++JAMES_OPTS="$JAMES_OPTS -Djames.message.usememorycopy=false" ++JAMES_OPTS="$JAMES_OPTS -Dapp.repo=\"$REPO\" -Dapp.home=\"$JAMES_HOME\" -Dbasedir=\"$JAMES_BASE\"" ++ ++test ".$JAMES_OUT" = . && JAMES_OUT="$JAMES_BASE/log/james-daemon.out" ++ ++# Set -pidfile ++test ".$JAMES_PID" = . && JAMES_PID="/var/run/james.pid" ++ ++# Increase the maximum file descriptors if we can ++if [ "$cygwin" = "false" ]; then ++ MAX_FD_LIMIT=`ulimit -H -n` ++ if [ "$?" -eq 0 ]; then ++ # Darwin does not allow RLIMIT_INFINITY on file soft limit ++ if [ "$darwin" = "true" ] && [ "$MAX_FD_LIMIT" = "unlimited" ]; then ++ MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc` ++ fi ++ test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT" ++ ulimit -n $MAX_FD ++ if [ "$?" -ne 0 ]; then ++ echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD" ++ fi ++ else ++ echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT" ++ fi ++fi ++ ++# ----- Execute The Requested Command ----------------------------------------- ++case "$1" in ++ run ) ++ shift ++# eval exec "\"$JSVC\"" $* \ ++# "$JSVC_OPTS" \ ++# -java-home "\"$JAVA_HOME\"" \ ++# -pidfile "\"$JAMES_PID\"" \ ++# -wait $SERVICE_START_WAIT_TIME \ ++# -nodetach \ ++# -outfile "\"&1\"" \ ++# -errfile "\"&2\"" \ ++# -Dapp.name="run" \ ++echo "JAVA_HOME: ${JAVA_HOME}" ++echo "JAMES_BASE: ${JAMES_BASE}" ++echo "JAMES_HOME: ${JAMES_HOME}" ++ eval exec $JAVA_BIN \ ++ -classpath "\"$CLASSPATH\"" \ ++ "$JAVA_OPTS" "$JAMES_OPTS" \ ++ -Dapp.name="run" \ ++ -Dapp.pid="$$" \ ++ $JAMES_MAIN ++ exit $? ++ ;; ++ start ) ++ shift ++# eval "\"$JSVC\"" \ ++# "$JSVC_OPTS" \ ++# -java-home "\"$JAVA_HOME\"" \ ++# -user $JAMES_USER \ ++# -pidfile "\"$JAMES_PID\"" \ ++# -wait $SERVICE_START_WAIT_TIME \ ++# -outfile "\"$JAMES_OUT\"" \ ++# -errfile "\"&1\"" \ ++ eval exec $JAVA_BIN \ ++ -classpath "\"$CLASSPATH\"" \ ++ "$JAVA_OPTS" "$JAMES_OPTS" \ ++ -Dapp.name="start" \ ++ -Dapp.pid="$$" \ ++ $JAMES_MAIN >> $JAMES_OUT 2>&1 & ++ echo $! > $JAMES_PID ++ exit $? ++ ;; ++ stop ) ++# eval "\"$JSVC\"" \ ++# "$JSVC_OPTS" \ ++# -stop \ ++# -pidfile "\"$JAMES_PID\"" \ ++# -classpath "\"$CLASSPATH\"" \ ++# -Djames.base="\"$JAMES_BASE\"" \ ++# -Djames.home="\"$JAMES_HOME\"" \ ++# -Djava.io.tmpdir="\"$JAMES_TMP\"" \ ++# eval exec $JAVA_BIN \ ++# -classpath "\"$CLASSPATH\"" \ ++# "$JAVA_OPTS" "$JAMES_OPTS" \ ++# -Dapp.name="stop" \ ++# -Dapp.pid="${JAMES_PID}" \ ++# $JAMES_MAIN ++ kill `cat ${JAMES_PID}` ++# rm -f ${JAMES_PID} ++ exit $? ++ ;; ++ version ) ++ echo "Apache James Server v%%VERSION%%." ++ $JAVA_BIN --version ++ exit $? ++ ;; ++ * ) ++ echo "Unknown command: '$1'" ++ echo "Usage: $PROGRAM ( commands ... )" ++ echo "commands:" ++ echo " run Start James without detaching from console" ++ echo " start Start James" ++ echo " stop Stop James" ++ echo " version What version of commons daemon and James" ++ echo " are you running?" ++ exit 1 ++ ;; ++esac diff -urN mail/james.ori/files/patch-conf_log4j2.xml mail/james/files/patch-conf_log4j2.xml --- mail/james.ori/files/patch-conf_log4j2.xml 1969-12-31 16:00:00.000000000 -0800 +++ mail/james/files/patch-conf_log4j2.xml 2020-03-27 06:58:37.602342000 -0700 @@ -0,0 +1,452 @@ +--- conf/log4j2.xml.orig 2020-03-27 13:57:05 UTC ++++ conf/log4j2.xml +@@ -0,0 +1,449 @@ ++ ++ ++ ++ ++ ${sys:app.home}/log ++ james ++ %d{dd-MMM-yyyy HH:mm:ss.SSS} %level [%t] %C.%M:%L - %msg%n ++ %d %-7level %logger{36} - %msg%n ++ %d %-7level [%t] %C.%M:%L - %msg%n ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff -urN mail/james.ori/files/patch-conf_mailetcontainer.xml mail/james/files/patch-conf_mailetcontainer.xml --- mail/james.ori/files/patch-conf_mailetcontainer.xml 1969-12-31 16:00:00.000000000 -0800 +++ mail/james/files/patch-conf_mailetcontainer.xml 2020-03-27 06:58:37.628076000 -0700 @@ -0,0 +1,11 @@ +--- conf/mailetcontainer.xml.orig 2020-03-27 13:57:18 UTC ++++ conf/mailetcontainer.xml +@@ -57,7 +57,7 @@ + + + +- 8 ++ 8 + + + diff -urN mail/james.ori/pkg-message mail/james/pkg-message --- mail/james.ori/pkg-message 1969-12-31 16:00:00.000000000 -0800 +++ mail/james/pkg-message 2020-03-27 04:46:42.395675000 -0700 @@ -0,0 +1,26 @@ +[ +{ + message: <