Commit a1971216 authored by Rene Ladan's avatar Rene Ladan
Browse files

mail/james: Remove expired port

2026-06-30 mail/james: This is a version that is over 10 years old and has multiple vulnerabilities
parent 081765bf
Loading
Loading
Loading
Loading
+1 −0
Changes for MOVED: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -5589,3 +5589,4 @@ www/py-dj42-djangosaml2||2026-08-31|Has expired: Serves as a transition only for
www/py-dj42-django-ranged-response||2026-08-31|Has expired: Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
www/py-django42||2026-08-31|Has expired: Django 4.2 is now in Extended Support, receives security fixes only and will reach End-Of-Life in April 2026. Upgrade to a later Django version. See https://www.djangoproject.com/download/
www/py-seafdav||2026-08-31|Removed, depended on net-mgmt/seafile-server
mail/james||2026-08-31|Has expired: This is a version that is over 10 years old and has multiple vulnerabilities
+0 −1
Changes for mail/Makefile: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -171,7 +171,6 @@
    SUBDIR += isbg
    SUBDIR += isoqlog
    SUBDIR += isync
    SUBDIR += james
    SUBDIR += jamlib
    SUBDIR += jmba
    SUBDIR += junkfilter

mail/james/Makefile

deleted100644 → 0
+0 −63
Changes for mail/james/Makefile: 0 added lines, 63 removed lines.
Original line number Diff line number Diff line
PORTNAME=	james
PORTVERSION=	2.3.2.1
PORTREVISION=	4
CATEGORIES=	mail java
MASTER_SITES=	APACHE/${PORTNAME}/server/
DISTNAME=	${PORTNAME}-binary-${PORTVERSION}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Java SMTP and POP3 Mail server and NNTP News server
WWW=		https://james.apache.org/

LICENSE=	APACHE20
LICENSE_FILE=	${WRKSRC}/LICENSE.txt

DEPRECATED=	This is a version that is over 10 years old and has multiple vulnerabilities
EXPIRATION_DATE=2026-06-30

USES=		cpe java
CPE_VENDOR=	apache

NO_ARCH=	yes
NO_BUILD=	yes

USE_RC_SUBR=	james

WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
APP_HOME?=	${PREFIX}/${PKGBASE}${PORTVERSION}
PID_FILE=	/var/run/${PORTNAME}.pid
PLIST_SUB+=	T=${APP_HOME:S/^${PREFIX}\///}

SUB_LIST=	JAVA_HOME=${JAVA_HOME} \
		PID_FILE=${PID_FILE} \
		JAMES_HOME=${APP_HOME}

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} `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'`
	@${ECHO_MSG} " [ DONE ]"

do-install:
	@${ECHO_MSG} -n ">> Creating destination directory..."
	@${MKDIR} ${STAGEDIR}${APP_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
	@${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}."

.include <bsd.port.mk>

mail/james/distinfo

deleted100644 → 0
+0 −2
Changes for mail/james/distinfo: 0 added lines, 2 removed lines.
Original line number Diff line number Diff line
SHA256 (james-binary-2.3.2.1.tar.gz) = dc7ada2846e2fbbcdb0613240170e89cc61ae66ec89cecd9805dbd24cefcf119
SIZE (james-binary-2.3.2.1.tar.gz) = 7661407

mail/james/files/james.in

deleted100644 → 0
+0 −195
Changes for mail/james/files/james.in: 0 added lines, 195 removed lines.
Original line number Diff line number Diff line
#!/bin/sh

# PROVIDE: james
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Configuration settings for james in /etc/rc.conf:
#
# james_enable (bool):
#   Set to "NO" by default.
#   Set it to "YES" to enable james
#
# james_home (str)
#   Set to "%%JAMES_HOME%%" by default.
#   Set the JAMES_HOME variable for the James process
#
# james_base (str)
#   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.
#   Addtional classes to add to the CLASSPATH
#
# james_java_opts (str):
#   Set to "" by default.
#   Java VM args to use.
#

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

name=james
rcvar=james_enable
pidfile="%%PID_FILE%%"

load_rc_config "${name}"

for var in $(list_vars "james[0-9]*"); do
        echo "WARNING: \$$var is deprecated, use \$james_${var#*_} instead."
        eval james_${var#*_}=\"\$$var\"
done

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
	echo "Please, set the JAVA_HOME variable in your environment to match the"
	echo "location of the Java Virtual Machine you want to use."
	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
else
	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
	if [ ! -z "$rc_pid" ]; then
		procname=`ps -o ucomm= $rc_pid`
	fi
fi

start_cmd=james_start
status_cmd=james_status
stop_cmd=james_stop

james_start() {
	rc_pid=$(check_pidfile $pidfile *$procname*)

	if [ ! -z "$rc_pid" ]; then
		echo "Already running!"
		return 1
	fi

	echo "Starting ${name}."
        nohup sh -c "exec $java_command >>$PHOENIX_CONSOLE 2>&1" >/dev/null &
        echo $! > $pidfile
}

james_status() {
	rc_pid=$(check_pidfile $pidfile *$procname*)

	if [ -z "$rc_pid" ]; then
		echo "${name} not running"
		return 1
	else
		echo "${name} is running as pid $rc_pid"
		return 0
	fi
}

james_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_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"
Loading