diff options
author | Ernst de Haan <znerd@FreeBSD.org> | 2002-02-04 13:22:37 +0000 |
---|---|---|
committer | Ernst de Haan <znerd@FreeBSD.org> | 2002-02-04 13:22:37 +0000 |
commit | 34a9b6c36a63c152af255356f9cf719c1ab686e0 (patch) | |
tree | 7294568dd0b4e7ce57f2f5199a4bb6a694c2c1bf /www/orion | |
parent | Update to patch level w. (diff) |
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.
Notes
Notes:
svn path=/head/; revision=54201
Diffstat (limited to 'www/orion')
-rw-r--r-- | www/orion/Makefile | 102 | ||||
-rw-r--r-- | www/orion/files/orionctl | 140 | ||||
-rw-r--r-- | www/orion/pkg-deinstall | 2 | ||||
-rw-r--r-- | www/orion/pkg-descr | 26 |
4 files changed, 146 insertions, 124 deletions
diff --git a/www/orion/Makefile b/www/orion/Makefile index cf3cf664d7d7..3c20dfd12e80 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 a4fb1ce32ecb..b6a7193fddd8 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 3ebd95313283..643e3cdebf39 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 2e3f87b70b82..17d1813623f8 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/ |