aboutsummaryrefslogtreecommitdiffstats
path: root/www/orion
diff options
context:
space:
mode:
authorznerd <znerd@FreeBSD.org>2002-02-04 21:22:37 +0800
committerznerd <znerd@FreeBSD.org>2002-02-04 21:22:37 +0800
commit83871f66a676f651193745e452783cbbb21f0db2 (patch)
treedaa07c58fd94df3f990bfd1f0b32b91f6c452619 /www/orion
parentc7d68b13027e0a7a5c7027668324428ba1301a32 (diff)
downloadfreebsd-ports-graphics-83871f66a676f651193745e452783cbbb21f0db2.tar.gz
freebsd-ports-graphics-83871f66a676f651193745e452783cbbb21f0db2.tar.zst
freebsd-ports-graphics-83871f66a676f651193745e452783cbbb21f0db2.zip
A lot of small changes. It's now possible to change the Java port using the JAVA_PORT variable. Now uses the my public_distfiles instead of those of sobomax. The script installed in /etc/rc.d/ is now prefixed with the startup order, by default it is 020.orion.sh. For the rest the changes are superficial. Just improving the quality and genericity.
Diffstat (limited to 'www/orion')
-rw-r--r--www/orion/Makefile102
-rw-r--r--www/orion/files/orionctl140
-rw-r--r--www/orion/pkg-deinstall2
-rw-r--r--www/orion/pkg-descr26
4 files changed, 146 insertions, 124 deletions
diff --git a/www/orion/Makefile b/www/orion/Makefile
index cf3cf664d7d..3c20dfd12e8 100644
--- a/www/orion/Makefile
+++ b/www/orion/Makefile
@@ -7,30 +7,34 @@
PORTNAME= orion
PORTVERSION= 1.4.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= www java
-MASTER_SITES= ftp://ftp.sunet.se/pub/database/utils/orionserver/ \
+MASTER_SITES= http://www.orionserver.com/distributions/ \
http://www.metaverse.nl/~ernst/ \
${MASTER_SITE_LOCAL}
-MASTER_SITE_SUBDIR= sobomax
+MASTER_SITE_SUBDIR= znerd
DISTNAME= ${PORTNAME}${PORTVERSION}
MAINTAINER= znerd@FreeBSD.org
-BUILD_DEPENDS= ${JAVA_HOME}/bin/java:${PORTSDIR}/java/jdk13
-RUN_DEPENDS= ${JAVA_HOME}/bin/java:${PORTSDIR}/java/jdk13
+BUILD_DEPENDS= ${JAVA_HOME}/bin/javac:${JAVA_PORT}
+RUN_DEPENDS= ${JAVA_HOME}/bin/javac:${JAVA_PORT}
USE_ZIP= YES
NO_BUILD= YES
WRKSRC= ${WRKDIR}/${PORTNAME}
-PLIST_SUB+= T=${ORION_HOME:S/^${PREFIX}\///}
-ORION_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION}
-PORTTITLE= Orion Server
-ORIONCTL_NAME= orionctl
-ORIONCTL_DEST= ${PREFIX}/bin/${ORIONCTL_NAME}
-RC_SCRIPT= ${PREFIX}/etc/rc.d/${PORTNAME}.sh
+APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION}
+LOG_DIR= ${APP_HOME}/log
+PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///}
+APP_TITLE= Orion Server
+APP_SHORTNAME= ${PORTNAME}
+APPCTL_NAME= ${APP_SHORTNAME}ctl
+CTL_SCRIPT= ${PREFIX}/bin/${APPCTL_NAME}
+STARTUP_ORDER?= 020
+RC_SCRIPT= ${PREFIX}/etc/rc.d/${STARTUP_ORDER}.${PORTNAME}.sh
JAVA_HOME?= ${LOCALBASE}/jdk1.3.1
+JAVA_PORT?= ${PORTSDIR}/java/jdk13
JIKES_LOCATION= ${LOCALBASE}/bin/jikes
WITH_JIKES?= YES
.if ${WITH_JIKES} == "YES"
@@ -44,15 +48,13 @@ PW?= /usr/sbin/pw
LISTEN_PORT?= 8090
AUTO_START?= YES
-.include <bsd.port.pre.mk>
-
pre-install:
@${ECHO} "Installation settings:"
- @${ECHO} " Destination directory: ${ORION_HOME}"
- @${ECHO} " Control script location: ${ORIONCTL_DEST}"
- @${ECHO} " Startup script location: ${RC_SCRIPT}"
+ @${ECHO} " Destination directory: ${APP_HOME}"
+ @${ECHO} " Control script location: ${CTL_SCRIPT}"
@${ECHO} " Startup script location: ${RC_SCRIPT}"
@${ECHO} " Location of JDK: ${JAVA_HOME}"
+ @${ECHO} " Location of Java port: ${JAVA_PORT}"
@${ECHO} " Using Jikes: ${WITH_JIKES}"
@${ECHO} " Running as (user/group): ${USER_NAME}/${GROUP_NAME} (${USER_ID}:${GROUP_ID})"
@${ECHO} " Port to listen at: ${LISTEN_PORT}"
@@ -61,73 +63,77 @@ pre-install:
do-install:
@# Add the group and the user if they do not exist
${PW} groupadd -n ${GROUP_NAME} -g ${GROUP_ID} || true
- ${PW} useradd -n ${USER_NAME} -u ${USER_ID} -g ${GROUP_NAME} -c "Orion Server account" -d ${ORION_HOME} -s ${SH} -h - || true
+ ${PW} useradd -n ${USER_NAME} -u ${USER_ID} -g ${GROUP_NAME} -c "${APP_TITLE} account" -d ${APP_HOME} -s ${SH} -h - || true
- @# Create the destination directory for Orion
- ${MKDIR} ${ORION_HOME}
+ @# Create the destination directory
+ ${MKDIR} ${APP_HOME}
- @# Copy all files and make them rwxr-xr-x
- ${CP} -R ${WRKSRC}/* ${ORION_HOME}
- ${CHMOD} 755 `find ${ORION_HOME} -type d`
+ @# Copy all files except .bat and .orig files
+ ${RM} -f `${FIND} ${WRKSRC} -name '*.bat'`
+ ${RM} -f `${FIND} ${WRKSRC} -name '*.orig'`
+ ${CP} -R ${WRKSRC}/* ${APP_HOME}
+ ${CHMOD} 755 `find ${APP_HOME} -type d`
@# Configure for use of Jikes, if necessary
.if ${WITH_JIKES} == "YES"
${CAT} ${WRKSRC}/config/server.xml \
| ${SED} "/\<!-- \<compiler executable=\"jikes\" classpath=\"\/myjdkdir\/jre\/lib\/rt.jar\" \/\> -->/s//\<compiler executable=\"${JIKES_LOCATION:S/\//\\\//g}\" classpath=\"${JAVA_HOME:S/\//\\\//g}\/jre\/lib\/rt.jar\"\/\>/" \
- > ${ORION_HOME}/config/server.xml
+ > ${APP_HOME}/config/server.xml
.endif
@# Configure the port to listen to
${CAT} ${WRKSRC}/config/default-web-site.xml \
| ${SED} "/port=\"80\"/s//port=\"${LISTEN_PORT}\"/" \
- > ${ORION_HOME}/config/default-web-site.xml
+ > ${APP_HOME}/config/default-web-site.xml
- @# Install the 'orionctl' script
- ${CAT} ${FILESDIR}/${ORIONCTL_NAME} \
+ @# Install the control script
+ ${CAT} ${FILESDIR}/${APPCTL_NAME} \
| ${SED} "/%%PORTNAME%%/s//${PORTNAME}/" \
| ${SED} "/%%PORTVERSION%%/s//${PORTVERSION}/" \
- | ${SED} "/%%ORION_HOME%%/s//${ORION_HOME:S/\//\\\//g}/" \
+ | ${SED} "/%%APP_TITLE%%/s//${APP_TITLE}/" \
+ | ${SED} "/%%APP_SHORTNAME%%/s//${APP_SHORTNAME}/" \
+ | ${SED} "/%%APP_HOME%%/s//${APP_HOME:S/\//\\\//g}/" \
+ | ${SED} "/%%LOG_DIR%%/s//${LOG_DIR:S/\//\\\//g}/" \
| ${SED} "/%%RC_SCRIPT_NAME%%/s//${PORTNAME}.sh/" \
| ${SED} "/%%JAVA_HOME%%/s//${JAVA_HOME:S/\//\\\//g}/" \
| ${SED} "/%%USER_NAME%%/s//${USER_NAME}/" \
- > ${ORIONCTL_DEST}
- ${CHMOD} 755 ${ORIONCTL_DEST}
+ > ${CTL_SCRIPT}
+ ${CHMOD} 755 ${CTL_SCRIPT}
+
+ @# Install the startup script
+ ${LN} -sf ${CTL_SCRIPT} ${RC_SCRIPT}
+
+ @# Create the directories that the application will create it at the
+ @# first run
+ ${MKDIR} ${APP_HOME}/application-deployments
@# Fix a small typo in the index.html served as the root
${CAT} ${WRKSRC}/default-web-app/index.html \
| ${SED} "/1\.4\.0/s//${PORTVERSION}/" \
- > ${ORION_HOME}/default-web-app/index.html
-
- @# Install the startup script
- ${LN} -sf ${ORIONCTL_DEST} ${RC_SCRIPT}
-
- @# Create the 'application-deployments' directory, since Orion will
- @# otherwise create it when it is first run
- ${MKDIR} ${ORION_HOME}/application-deployments
+ > ${APP_HOME}/default-web-app/index.html
@# Install the tools.jar file from the JDK, since it is needed by Orion
- ${LN} -sf ${JAVA_HOME}/lib/tools.jar ${ORION_HOME}/tools.jar
+ ${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/tools.jar
@# Change ownership for the files
- ${CHOWN} -R ${USER_NAME}:${GROUP_NAME} ${ORION_HOME}
+ ${CHOWN} -R ${USER_NAME}:${GROUP_NAME} ${APP_HOME}
@# Install the man page
.if !defined(NOPORTDOCS)
- ${CAT} ${FILESDIR}/${ORIONCTL_NAME}.1 \
+ ${CAT} ${FILESDIR}/${APPCTL_NAME}.1 \
| ${SED} "/%%PREFIX%%/s//${PREFIX:S/\//\\\//g}/" \
- > ${WRKDIR}/${ORIONCTL_NAME}.1
- ${INSTALL_MAN} ${WRKDIR}/${ORIONCTL_NAME}.1 ${MANPREFIX}/man/man1
+ > ${WRKDIR}/${APPCTL_NAME}.1
+ ${INSTALL_MAN} ${WRKDIR}/${APPCTL_NAME}.1 ${MANPREFIX}/man/man1
.endif
post-install:
- @${ECHO} "${PORTTITLE} ${PORTVERSION} has been installed in ${ORION_HOME}."
+ @${ECHO} "${APP_TITLE} ${PORTVERSION} has been installed in ${APP_HOME}."
.if !defined(NOPORTDOCS)
- @${ECHO} "Use 'man orionctl' for information about starting and stopping Orion."
+ @${ECHO} "Use 'man ${APPCTL_NAME}' for information about starting and stopping ${APP_TITLE}."
.endif
.if ${AUTO_START} == "YES"
- @${ECHO} -n "Starting..."
- @${RC_SCRIPT} start
- @${ECHO} ""
+ @${ECHO} "Starting ${APP_TITLE}..."
+ @${CTL_SCRIPT} start || true
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/www/orion/files/orionctl b/www/orion/files/orionctl
index a4fb1ce32ec..b6a7193fddd 100644
--- a/www/orion/files/orionctl
+++ b/www/orion/files/orionctl
@@ -1,13 +1,12 @@
#!/bin/sh
# Set some variables
-NAME=%%PORTNAME%%
VERSION=%%PORTVERSION%%
-ORION_HOME=%%ORION_HOME%%
+APP_HOME=%%APP_HOME%%
USER_NAME=%%USER_NAME%%
-LOG=${ORION_HOME}/log/${NAME}.log
-PID_FILE=/var/run/${NAME}.pid
-JAR_FILE=${ORION_HOME}/${NAME}.jar
+LOG=%%LOG_DIR%%/%%APP_SHORTNAME%%.log
+PID_FILE=/var/run/%%PORTNAME%%.pid
+JAR_FILE=${APP_HOME}/%%APP_SHORTNAME%%.jar
MYSELF=`basename $0`
# Check if we're being run as a shell script or as an rc script
@@ -24,82 +23,95 @@ if [ "${JAVA_HOME}a" = "a" ]; then
fi
JAVA_CMD=${JAVA_HOME}/bin/java
-case "$1" in
- start)
- # Make sure Orion is not started previously
- if [ -e ${PID_FILE} ]; then
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo ""
- fi
- echo "${NAME}: ERROR: Found Orion PID file at ${PID_FILE}. Orion is probably already running."
- exit 1
+# Function that starts the application
+start() {
+ # Make sure the application is not started previously
+ if [ -e ${PID_FILE} ]; then
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo ""
fi
+ echo "%%APP_SHORTNAME%%: ERROR: Found %%APP_TITLE%% PID file at ${PID_FILE}. It is probably already running."
+ exit 1
+ fi
- # Make sure the Orion directory does exist
- if [ ! -d ${ORION_HOME} ]; then
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo ""
- fi
- echo "${NAME}: ERROR: Unable to find Orion home directory at ${ORION_HOME}."
- exit 2
+ # Make sure the application directory does exist
+ if [ ! -d ${APP_HOME} ]; then
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo ""
fi
+ echo "%%APP_SHORTNAME%%: ERROR: Unable to find %%APP_TITLE%% home directory at ${APP_HOME}."
+ exit 2
+ fi
- # Make sure the Orion JAR file exists
- if [ ! -r ${JAR_FILE} ]; then
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo ""
- fi
- echo "${NAME}: ERROR: Unable to find Orion JAR file at ${JAR_FILE}."
- exit 3
+ # Make sure the application JAR file exists
+ if [ ! -r ${JAR_FILE} ]; then
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo ""
fi
+ echo "%%APP_SHORTNAME%%: ERROR: Unable to find %%APP_TITLE%% JAR file at ${JAR_FILE}."
+ exit 3
+ fi
- # Make sure the Java VM can be found
- if [ ! -x ${JAVA_CMD} ]; then
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo ""
- fi
- echo "${NAME}: ERROR: Unable to find Java VM at ${JAVA_HOME}."
- exit 4
+ # Make sure the Java VM can be found
+ if [ ! -x ${JAVA_CMD} ]; then
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo ""
fi
+ echo "%%APP_SHORTNAME%%: ERROR: Unable to find Java VM at ${JAVA_HOME}."
+ exit 4
+ fi
- # Create the process ID file
- rm -f ${PID_FILE}
- touch ${PID_FILE}
- chown ${USER_NAME} ${PID_FILE}
- chmod 600 ${PID_FILE}
+ # Create the process ID file
+ rm -f ${PID_FILE}
+ touch ${PID_FILE}
+ chown ${USER_NAME} ${PID_FILE}
+ chmod 600 ${PID_FILE}
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo -n " ${NAME}"
- fi
- touch ${PID_FILE}
- chown ${USER_NAME} ${PID_FILE}
- chmod 600 ${PID_FILE}
- su - ${USER_NAME} -c "(cd ${ORION_HOME} && ${JAVA_CMD} -jar orion.jar & echo \$! > ${PID_FILE}) > ${LOG} 2>&1"
- ;;
- stop)
- if [ ! -e ${PID_FILE} ]; then
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo -n " %%APP_SHORTNAME%%"
+ fi
+ touch ${PID_FILE}
+ chown ${USER_NAME} ${PID_FILE}
+ chmod 600 ${PID_FILE}
+ su - ${USER_NAME} -c "(cd ${APP_HOME} && ${JAVA_CMD} -jar ${JAR_FILE} & echo \$! > ${PID_FILE}) > ${LOG} 2>&1"
+}
- # If run as an rc script, die silently...
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- exit 0
+# Function that stops the application
+stop() {
+ if [ ! -e ${PID_FILE} ]; then
- # ...otherwise complain
- else
- echo "${NAME}: ERROR: Unable to find Orion PID file at ${PID_FILE}. Orion is probably not running."
- exit 16
- fi
+ # If run as an rc script, die silently...
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ exit 0
+
+ # ...otherwise complain
else
- if [ "${AS_RC_SCRIPT}" = "yes" ]; then
- echo -n " ${NAME}"
- fi
- /bin/kill `cat ${PID_FILE}`
- rm -f ${PID_FILE}
+ echo "%%APP_SHORTNAME%%: ERROR: Unable to find %%APP_TITLE%% PID file at ${PID_FILE}. It is probably not running."
+ exit 16
fi
+ else
+ if [ "${AS_RC_SCRIPT}" = "yes" ]; then
+ echo -n " %%APP_SHORTNAME%%"
+ fi
+ /bin/kill `cat ${PID_FILE}`
+ rm -f ${PID_FILE}
+ fi
+}
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
;;
*)
echo ""
- echo "Usage: ${MYSELF} { start | stop }"
+ echo "Usage: ${MYSELF} { start | stop | restart }"
echo ""
exit 64
;;
diff --git a/www/orion/pkg-deinstall b/www/orion/pkg-deinstall
index 3ebd9531328..643e3cdebf3 100644
--- a/www/orion/pkg-deinstall
+++ b/www/orion/pkg-deinstall
@@ -1,7 +1,7 @@
#!/bin/sh
PID_FILE=/var/run/orion.pid
if [ -e ${PID_FILE} ]; then
- echo -n "Orion is still running."
+ echo -n "Orion Server is still running."
/bin/kill `cat ${PID_FILE}`
rm -f ${PID_FILE}
echo " Stopped."
diff --git a/www/orion/pkg-descr b/www/orion/pkg-descr
index 2e3f87b70b8..17d1813623f 100644
--- a/www/orion/pkg-descr
+++ b/www/orion/pkg-descr
@@ -1,16 +1,20 @@
-Orion is a J2EE (Java 2 Enterprise Edition) compliant Application Server. It
-supports all major standards including HTTP/1.1, JSP 1.1, EJB 1.1, Servlet
-2.2, JNDI 1.2 and others. It also offers clustering support and some unique
-auto-deployment features.
+Orion, a J2EE (Java 2 Enterprise Edition) compliant
+Application Server (stable version). It supports all major
+standards including HTTP 1.1, JSP 1.1, EJB 1.1, Servlet 2.2,
+JNDI 1.2 and others. It also offers clustering support and
+some unique auto-deployment features.
-This version is only for development use or for non-commercial
-use. You need to purchase a license from http://www.orionserver.com/
-if you would like to use this server commercially.
+This version is only for development use or for
+non-commercial use. You need to purchase a license from
+http://www.orionserver.com/ if you would like to use this
+server commercially.
-This port will install an 'orionctl' script in ${PREFIX}/bin that can be used
-to start and stop the server. A man page for this script is installed.
+This port will install an 'orionctl' script in ${PREFIX}/bin
+that can be used to start and stop the server. A man page
+for this script is installed.
-A script in ${PREFIX}/etc/rc.d/orion.sh typically causes Orion to be started
-at boot time. This script is in fact a symlink to the orionctl script.
+A script in ${PREFIX}/etc/rc.d typically causes Orion to be
+started at boot time. This script is in fact a symlink to
+the orionctl script.
WWW: http://www.orionserver.com/