java/wildfly: New port

Replacement for JBoss Application Server

WildFly is a flexible, lightweight, managed application runtime that
helps you build amazing applications.  WildFly - new name for JBoss
Application Server

- Fast Startup
- Small Footprint
- Modular Design
- Unified Configuration and Management
And of course Java EE!

WWW: https://wildfly.org/

As the current MAINTAINER is no longer adding any support and all
wildfly versions are about to EXPIRE add this port. Please be informed
that this is still an older version of the port. There was a breaking
change in wildfly which I cannot recollect so I will need to test and
update. But in case someone quickly recollects the breaking version
number give me a heads up. Otherwise I will test and update soonish.
This commit is contained in:
Muhammad Moinur Rahman 2023-12-26 23:49:33 +01:00
parent f4149cf3d2
commit 2e7d20de91
7 changed files with 1497 additions and 0 deletions

View file

@ -107,6 +107,7 @@
SUBDIR += trove4j
SUBDIR += veditor
SUBDIR += visualvm
SUBDIR += wildfly
SUBDIR += wildfly10
.include <bsd.port.subdir.mk>

73
java/wildfly/Makefile Normal file
View file

@ -0,0 +1,73 @@
PORTNAME= wildfly
PORTVERSION= 11.0.0
CATEGORIES= java www
MASTER_SITES= https://download.jboss.org/wildfly/${WILDFLY_VERSION}/
DISTNAME= wildfly-${WILDFLY_VERSION}
MAINTAINER= bofh@FreeBSD.org
COMMENT= Replacement for JBoss Application Server
WWW= https://wildfly.org/
LICENSE= GPLv2
USE_JAVA= 8+
USE_RC_SUBR= wildfly
NO_BUILD= yes
SUB_FILES= pkg-message
SUB_LIST= APP_SHORTNAME=${PORTNAME} \
LOG_DIR=${LOG_DIR} \
USERS=${USERS} \
GROUPS=${GROUPS} \
PID_FILE=${PID_FILE} \
APP_HOME=${PREFIX}/${PORTNAME}
USERS= www
GROUPS= www
PLIST_SUB= APP_HOME=${PORTNAME}
VAR_DIR?= /var
LOG_DIR?= ${VAR_DIR}/log/${PORTNAME}
PID_FILE= ${VAR_DIR}/run/${PORTNAME}.pid
WILDFLY_VERSION=${PORTVERSION}.Final
CONFIG_FILES= appclient/configuration/appclient.xml \
appclient/configuration/logging.properties \
domain/configuration/application-roles.properties \
domain/configuration/application-users.properties \
domain/configuration/default-server-logging.properties \
domain/configuration/domain.xml \
domain/configuration/host-master.xml \
domain/configuration/host-slave.xml \
domain/configuration/host.xml \
domain/configuration/logging.properties \
domain/configuration/mgmt-groups.properties \
domain/configuration/mgmt-users.properties \
standalone/configuration/application-roles.properties \
standalone/configuration/application-users.properties \
standalone/configuration/logging.properties \
standalone/configuration/mgmt-groups.properties \
standalone/configuration/mgmt-users.properties \
standalone/configuration/standalone-full-ha.xml \
standalone/configuration/standalone-full.xml \
standalone/configuration/standalone-ha.xml \
standalone/configuration/standalone.xml
post-extract:
${RM} ${WRKSRC}/bin/add-user.sh.orig
${RM} ${WRKSRC}/bin/*.bat
${RM} ${WRKSRC}/bin/*.ps1
${RM} -r ${WRKSRC}/bin/service
${RM} -r ${WRKSRC}/bin/init.d
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${PORTNAME})
${RMDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/.installation
.for FILE in ${CONFIG_FILES}
${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/${FILE} \
${STAGEDIR}${PREFIX}/${PORTNAME}/${FILE}.sample
.endfor
.include <bsd.port.mk>

3
java/wildfly/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1703628970
SHA256 (wildfly-11.0.0.Final.tar.gz) = a2f5fb4187369196003e31eb086f0a1f7bfc0645a3a61a53ed20ab5853481e71
SIZE (wildfly-11.0.0.Final.tar.gz) = 158031524

View file

@ -0,0 +1,21 @@
[
{ type: install
message: <<EOM
To make WildFly bind to all interfaces add this to rc.conf:
%%APP_SHORTNAME%%_args="-Djboss.bind.address=0.0.0.0"
See
https://community.jboss.org/wiki/JBossProperties
for additional startup properties.
To change JVM args, edit appropriate standalone.conf.
To add the initial admin user:
%%APP_HOME%%/bin/add-user.sh
EOM
}
]

View file

@ -0,0 +1,93 @@
#!/bin/sh
#
# %%APP_SHORTNAME%% startup script.
# PROVIDE: %%APP_SHORTNAME%%
# REQUIRE: NETWORKING SERVERS
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable %%APP_SHORTNAME%%:
# %%APP_SHORTNAME%%_enable (bool): Set to "YES" to enable %%APP_SHORTNAME%%
# %%APP_SHORTNAME%%_args (str): Optional arguments to OAJBoss
# %%APP_SHORTNAME%%_log_stdout (str) JBoss log output stdout, filename.
# %%APP_SHORTNAME%%_log_stderr (str) JBoss log output stderr, filename.
#
. /etc/rc.subr
name="%%APP_SHORTNAME%%"
rcvar=%%APP_SHORTNAME%%_enable
extra_commands="status"
load_rc_config $name
%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%"
%%APP_SHORTNAME%%_enable="${%%APP_SHORTNAME%%_enable:-"NO"}"
%%APP_SHORTNAME%%_log_stdout="${%%APP_SHORTNAME%%_log_stdout:-"${%%APP_SHORTNAME%%_logdir}/log"}"
%%APP_SHORTNAME%%_log_stderr="${%%APP_SHORTNAME%%_log_stderr:-"${%%APP_SHORTNAME%%_logdir}/error"}"
%%APP_SHORTNAME%%_args="${%%APP_SHORTNAME%%_args:-""}"
%%APP_SHORTNAME%%_sleep="${%%APP_SHORTNAME%%_sleep:-"5"}"
%%APP_SHORTNAME%%_kill9="${%%APP_SHORTNAME%%_kill9:-""}"
%%APP_SHORTNAME%%_additional_killall="${%%APP_SHORTNAME%%_additional_killall:-""}"
%%APP_SHORTNAME%%_user="%%USER%%"
%%APP_SHORTNAME%%_group="%%GROUP%%"
start_cmd="%%APP_SHORTNAME%%_start"
stop_cmd="%%APP_SHORTNAME%%_stop"
pidfile="%%PID_FILE%%"
status_cmd="%%APP_SHORTNAME%%_status"
WILDFLY_HOME="%%APP_HOME%%"
%%APP_SHORTNAME%%_start ()
{
if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ]
then
install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir}
fi
echo "%%APP_SHORTNAME%%: making sure all writeable dirs belong to proper user/group"
chown -R ${%%APP_SHORTNAME%%_user}:${%%APP_SHORTNAME%%_group} ${WILDFLY_HOME}/standalone
echo "Starting %%APP_SHORTNAME%%."
daemon -u ${%%APP_SHORTNAME%%_user} ${WILDFLY_HOME}/bin/standalone.sh ${%%APP_SHORTNAME%%_args} >> ${%%APP_SHORTNAME%%_log_stdout} 2>> ${%%APP_SHORTNAME%%_log_stderr}
sleep ${%%APP_SHORTNAME%%_sleep} # let daemon(8) and sh(1) finish before executing pgrep(1)
pgrep -U ${%%APP_SHORTNAME%%_user} -f ${WILDFLY_HOME}/modules > ${pidfile}
chown ${%%APP_SHORTNAME%%_user} $pidfile
}
%%APP_SHORTNAME%%_stop ()
{
# Subvert the check_pid_file procname check.
if [ -f ${pidfile} ]
then
kill `cat ${pidfile}`
# Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way.
if [ ! -z "${%%APP_SHORTNAME%%_kill9}" ]
then
sleep ${%%APP_SHORTNAME%%_sleep}
kill -9 `cat ${pidfile}`
fi
# In some setups, JBoss can spawn some child processess, which could prevent it from stopping, and freeing net ports.
# Let's blindly kill them all, since we are really know what we are doing.
if [ ! -z "${%%APP_SHORTNAME%%_additional_killall}" ]
then
sleep ${%%APP_SHORTNAME%%_sleep}
killall ${%%APP_SHORTNAME%%_additional_killall}
fi
rm ${pidfile}
fi
}
%%APP_SHORTNAME%%_status ()
{
# If running, show pid
if [ -f ${pidfile} ]
then
echo "%%APP_SHORTNAME%% is running as pid" `cat ${pidfile}`
else
echo "%%APP_SHORTNAME%% is not running"
fi
}
run_rc_command "$1"

9
java/wildfly/pkg-descr Normal file
View file

@ -0,0 +1,9 @@
WildFly is a flexible, lightweight, managed application runtime that helps you
build amazing applications. WildFly - new name for JBoss Application Server
- Fast Startup
- Small Footprint
- Modular Design
- Unified Configuration and Management
And of course Java EE!

1297
java/wildfly/pkg-plist Normal file

File diff suppressed because it is too large Load diff