Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jun 2004 10:00:54 GMT
From:      Jonathan Chen <jonc@chen.org.nz>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/67917: update java/jboss3 to 3.2.4
Message-ID:  <200406151000.i5FA0sXE066849@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/67917; it has been noted by GNATS.

From: Jonathan Chen <jonc@chen.org.nz>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: ports/67917: update java/jboss3 to 3.2.4
Date: Tue, 15 Jun 2004 21:55:57 +1200

 Here's a re-rolled patch with some fixes.
 
 The original daemonctl.c can be found at:
 
     www/jakarta-tomcat4/files/daemonctl.c
 
 -- 
 Jonathan Chen <jonc@chen.org.nz>
 -----------------------------------------------------------------------
 "One, with God, is always a majority, but many a martyr has been burned
    at the stake while the votes were being counted."  -- Thomas B. Reed
 
 -----------------------------------------------------------------------
 diff -ruN /usr/ports/java/jboss3/Makefile ./Makefile
 --- /usr/ports/java/jboss3/Makefile	Thu Jun  3 23:46:11 2004
 +++ ./Makefile	Tue Jun 15 21:27:42 2004
 @@ -6,8 +6,7 @@
  #
  
  PORTNAME=	${APP_TITLE:L}
 -PORTVERSION=	3.2.3
 -PORTREVISION=	1
 +PORTVERSION=	3.2.4
  CATEGORIES=	java
  MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
  MASTER_SITE_SUBDIR=	${PORTNAME}
 @@ -47,8 +46,10 @@
  AUTO_START?=	NO
  STOP_TIMEOUT?=	5
  PID_FILE=	/var/run/${APP_SHORTNAME}.pid
 -JAR_FILE=	bin/run.jar
 -DAEMONCTL_DIR=	${PORTSDIR}/www/jakarta-tomcat4/files
 +JAVA_OPTS=	
 +JAVA_CP=	bin/run.jar:${JAVA_HOME}/lib/tools.jar
 +JAVA_MAIN=	org.jboss.Main
 +DAEMONCTL_DIR=	${FILESDIR}
  DAEMONCTL_FILES=daemonctl.c daemonctl.1 startup.sh
  MAN1=		${CONTROL_SCRIPT_NAME}.1
  
 @@ -66,17 +67,20 @@
  		-e "s|%%CONTROL_SCRIPT_MANPAGE_TITLE%%|${CONTROL_SCRIPT_MANPAGE_TITLE}|g;" \
  		-e "s|%%CONTROL_SCRIPT_NAME%%|${CONTROL_SCRIPT_NAME}|g;" \
  		-e "s|%%GROUP%%|${GROUP}|g;" \
 -		-e "s|%%JAR_ARGS%%||g;" \
 -		-e "s|%%JAVA_ARGS%%||g;" \
 +		-e "s|%%JAVA_CP%%|${JAVA_CP}|g;" \
  		-e "s|%%JAVA_CMD%%|bin/java|g;" \
  		-e "s|%%JAVA_HOME%%|${JAVA_HOME}|g;" \
 +		-e "s|%%JAVA_MAIN%%|${JAVA_MAIN}|g;" \
 +		-e "s|%%JAVA_OPTS%%|${JAVA_OPTS}|g;" \
 +		-e "s|%%JAVA_PORT_VERSION%%|${JAVA_PORT_VERSION}|g;" \
 +		-e "s|%%JAVA_PORT_OS_DESCRIPTION%%|${JAVA_PORT_OS_DESCRIPTION}|g;" \
  		-e "s|%%JAR_FILE%%|${JAR_FILE}|g;" \
  		-e "s|%%LOG_DIR%%|${LOG_DIR}|g;" \
  		-e "s|%%PID_FILE%%|${PID_FILE}|g;" \
  		-e "s|%%PORTNAME%%|${PORTNAME}|g;" \
  		-e "s|%%PORTVERSION%%|${PORTVERSION}|g;" \
  		-e "s|%%PREFIX%%|${PREFIX}|g;" \
 -		-e "s|%%STARTUP_SCRIPT_NAME%%|${STARTUP_SCRIPT_NAME}|g;" \
 +		-e "s|%%STARTUP_SCRIPT%%|${STARTUP_SCRIPT}|g;" \
  		-e "s|%%STDERR_LOG%%|${STDERR_LOG}|g;" \
  		-e "s|%%STDOUT_LOG%%|${STDOUT_LOG}|g;" \
  		-e "s|%%STOP_TIMEOUT%%|${STOP_TIMEOUT}|g;" \
 @@ -89,10 +93,8 @@
  	@${ECHO_CMD} "   Startup script location:  ${STARTUP_SCRIPT}"
  	@${ECHO_CMD} "   Location of JDK:          ${JAVA_HOME}"
  	@${ECHO_CMD} "   Location of Java port:    ${JAVA_PORT}"
 -	@${ECHO_CMD} "   Using Jikes:              ${WITH_JIKES}"
 +	@${ECHO_CMD} "   Startup Java Options:     ${JAVA_OPTS}"
  	@${ECHO_CMD} "   Running as (user/group):  ${USER}/${GROUP}"
 -	@${ECHO_CMD} "   HTTP port:                ${HTTP_PORT}"
 -	@${ECHO_CMD} "   RMI port:                 ${RMI_PORT}"
  	@${ECHO_CMD} "   Logfile stdout:           ${STDOUT_LOG}"
  	@${ECHO_CMD} "   Logfile stderr:           ${STDERR_LOG}"
  	@${ECHO_CMD} "   Starting after install:   ${AUTO_START}"
 diff -ruN /usr/ports/java/jboss3/distinfo ./distinfo
 --- /usr/ports/java/jboss3/distinfo	Sat Mar 20 17:23:23 2004
 +++ ./distinfo	Mon Jun 14 16:25:17 2004
 @@ -1,2 +1,2 @@
 -MD5 (jboss-3.2.3-src.tar.bz2) = c432fd194205ed4b7b9fd55ae4bfe8f9
 -SIZE (jboss-3.2.3-src.tar.bz2) = 33388734
 +MD5 (jboss-3.2.4-src.tar.bz2) = 9f958a3851a04a844c6f3c6670b8ecc4
 +SIZE (jboss-3.2.4-src.tar.bz2) = 33187987
 diff -ruN /usr/ports/java/jboss3/files/daemonctl.1 ./files/daemonctl.1
 --- /usr/ports/java/jboss3/files/daemonctl.1	Thu Jan  1 12:00:00 1970
 +++ ./files/daemonctl.1	Mon Jun 14 16:25:17 2004
 @@ -0,0 +1,78 @@
 +.Dd February 21, 2002
 +.Dt %%CONTROL_SCRIPT_MANPAGE_TITLE%% 1
 +.Os FreeBSD
 +.Sh NAME
 +.Nm %%CONTROL_SCRIPT_NAME%%
 +.Nd %%APP_TITLE%% server control interface
 +.Sh SYNOPSIS
 +.Nm
 +.Op Fl java-options
 +.Ar {start|restart|stop}
 +.Sh DESCRIPTION
 +The
 +.Nm
 +program provides an restricted interface to the %%APP_TITLE%%
 +application server. The
 +.Nm
 +program is only accessible to users in the 'www' group, and will
 +only invoke the %%JAVA_PORT_OS_DESCRIPTION%% %%JAVA_PORT_VERSION%% JVM.
 +.Pp
 +Any Java options listed are handed off directly to the JVM. Any
 +classpath options will be ignored.
 +.Pp
 +The program expects exactly one of the following terminating commands:
 +.Bl -tag -width indent
 +.It Ar start
 +Start %%APP_TITLE%%, if it is not already running.
 +.It Ar restart
 +Restart %%APP_TITLE%%. If it is already running, then it will be stopped and
 +then started right after that. Otherwise it will just be started up.
 +.It Ar stop
 +Stop %%APP_TITLE%%, if it is actually running.
 +.El
 +.Sh ERRORS
 +The following error conditions are detected. They will be checked in the
 +specified order. In each case an error message is printed with the name of the
 +control program prepended.
 +.Pp
 +If no argument is passed, then a simple help message is printed and the
 +program exists with error code 0.
 +.Pp
 +If at least one argument is passed, but it is different from
 +.Ar start ,
 +.Ar restart
 +or
 +.Ar stop
 +then the help message is printed as well, and the program exits with error
 +code 1.
 +.Pp
 +The following errors conditions are defined:
 +.Bl -tag -width indent
 +.It Em Illegal program argument (error code 1)
 +.It Em PID file not found (error code 2)
 +.It Em PID file too large (error code 3)
 +.It Em PID file contains illegal character (error code 4)
 +.It Em Kill of process failed (error code 5)
 +.It Em %%APP_TITLE%% is already running (error code 6)
 +.It Em %%APP_TITLE%% is not running (error code 7)
 +.It Em Unable to chdir to the %%APP_TITLE%% home directory (error code 8)
 +.It Em Unable to open the stdout log file (error code 9)
 +.It Em Unable to open the stderr log file (error code 10)
 +.It Em Unable to start %%APP_TITLE%% (error code 11)
 +.El
 +.Sh FILES
 +.Bl -tag -width -indent
 +.It Pa %%PID_FILE%%
 +The %%APP_TITLE%% PID file that is used to store the process ID of the
 +currently running process in. It is emptied as soon as the server is stopped
 +and filled with the process ID when it is started. It should never be writable
 +for anyone but
 +.Em www ,
 +.It Pa %%STARTUP_SCRIPT%%
 +A script that starts the
 +.Nm
 +program. It is used to start %%APP_TITLE%% at startup time.
 +.El
 +.Sh AUTHORS
 +.An Ernst de Haan Aq znerd@FreeBSD.org
 +.An Jonathan Chen Aq jonc@chen.org.nz
 diff -ruN /usr/ports/java/jboss3/files/daemonctl.c ./files/daemonctl.c
 --- /usr/ports/java/jboss3/files/daemonctl.c	Thu Jan  1 12:00:00 1970
 +++ ./files/daemonctl.c	Tue Jun 15 21:24:39 2004
 @@ -0,0 +1,563 @@
 +/*
 + * -*- mode: Fundamental; tab-width: 4; -*-
 + * ex:ts=4
 + *
 + * Daemon control program, with Java Startup options.
 + *
 + *	Original by Ernst de Haan <znerd@freebsd.org>
 + *	www/jakarta-tomcat4/files/daemonctl.c
 + *
 + * $FreeBSD: ports/www/jakarta-tomcat4/files/daemonctl.c,v 1.10 2002/10/09 23:10:32 znerd Exp $
 + */
 +
 +#include <assert.h>
 +#include <fcntl.h>
 +#include <signal.h>
 +#include <stdarg.h>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <string.h>
 +#include <syslog.h>
 +#include <unistd.h>
 +#include <sys/errno.h>
 +#include <sys/stat.h>
 +#include <sys/types.h>
 +#include <sys/uio.h>
 +
 +/* The maximum size of the PID file, in bytes */
 +#define MAX_FILE_SIZE			32
 +
 +/* The interval in seconds between the checks to make sure the process
 +   died after a kill */
 +#define STOP_TIME_INTERVAL		1
 +
 +#define ERR_ILLEGAL_ARGUMENT				1
 +#define ERR_PID_FILE_NOT_FOUND				2
 +#define ERR_PID_FILE_TOO_LARGE				3
 +#define ERR_PID_FILE_CONTAINS_ILLEGAL_CHAR	4
 +#define ERR_KILL_FAILED						5
 +#define ERR_ALREADY_RUNNING					6
 +#define ERR_NOT_RUNNING						7
 +#define ERR_CHDIR_TO_APP_HOME				8
 +#define ERR_ACCESS_JAR_FILE					17
 +#define ERR_STDOUT_LOGFILE_OPEN				9
 +#define ERR_STDERR_LOGFILE_OPEN				10
 +#define ERR_FORK_FAILED						11
 +#define ERR_STAT_JAVA_HOME					12
 +#define ERR_JAVA_HOME_NOT_DIR				13
 +#define ERR_STAT_JAVA_CMD					14
 +#define ERR_JAVA_CMD_NOT_FILE				15
 +#define ERR_JAVA_CMD_NOT_EXECUTABLE			16
 +
 +/*
 +	Function declarations.
 + */
 +static void printUsage (void);
 +static int openPIDFile (void);
 +static int readPID (int);
 +static void writePID (int file, int pid);
 +static void start (int optcount, char * opts []);
 +static void stop (void);
 +static void restart (int optcount, char * opts []);
 +
 +/**
 + * Main function. This function is called when this program is executed.
 + *
 + * @param argc
 + *    the number of arguments plus one, so always greater than 0.
 + *
 + * @param argv
 + *    the arguments in an array of character pointers, where the last argument
 + *    element is followed by a NULL element.
 + */
 +int
 +main (
 + int argc,
 + char *argv [])
 +{
 +
 +	/* Declare variables, like all other good ANSI C programs do :) */
 +	int i, jopt;
 +	char *argument, **jargs;
 +
 +	/* Parse the arguments */
 +	if (argc < 2)
 +	{
 +		printUsage ();
 +		return 0;
 +	}
 +
 +	/* XXX: Fix for setting up the environment for the java wrapper script */
 +	setuid (geteuid ());
 +	setgid (getegid ());
 +
 +	/*
 +		Build up java-option block.
 +	 */
 +	jopt = 0;
 +	for (i = 1; i < argc; i++)
 +	{
 +		if (*argv [i] == '-')
 +			jopt++;
 +	}
 +	if (jopt == 0)
 +		jargs = NULL;
 +	else
 +	{
 +		int j = 0;
 +		jargs = malloc (sizeof (char *) * jopt);
 +		for (i = 0; i < argc; i++)
 +		{
 +			if (*argv [i] == '-')
 +				jargs [j++] = argv [i];
 +		}
 +	}
 +
 +	/*
 +		Decide on just what to call.
 +	 */
 +	argument = argv [argc - 1];
 +	if (strcmp ("start", argument) == 0)
 +	{
 +		start (jopt, jargs);
 +
 +	} else if (strcmp ("stop", argument) == 0)
 +	{
 +		stop ();
 +	} else if (strcmp ("restart", argument) == 0)
 +	{
 +		restart (jopt, jargs);
 +
 +	} else {
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Illegal argument \"%s\".\n", argument);
 +		printUsage ();
 +		exit (ERR_ILLEGAL_ARGUMENT);
 +	}
 +
 +	return 0;
 +}
 +
 +
 +/**
 + * Prints usage information to stdout.
 + */
 +static void
 +printUsage (void)
 +{
 +	printf ("Usage: %%CONTROL_SCRIPT_NAME%% [java-options] {start|stop|restart}\n");
 +}
 +
 +/**
 + * Attempts to open the PID file. If that file is successfully opened, then
 + * the file handle (an int) will be returned.
 + *
 + * @return
 + *    the file handle.
 + */
 +static int
 +openPIDFile (void)
 +{
 +
 + 	int file;
 +
 +	/* Attempt to open the PID file */
 +	file = open ("%%PID_FILE%%", O_RDWR);
 +	if (file < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to open %%PID_FILE%% for reading and writing: ");
 +		perror (NULL);
 +		exit (ERR_PID_FILE_NOT_FOUND);
 +	}
 +
 +	return file;
 +}
 +
 +
 +/**
 + * Reads a PID from the specified file. The file is identified by a file
 + * handle.
 + *
 + * @param file
 + *    the file handle.
 + *
 + * @return
 + *    the PID, or -1 if the file was empty.
 + */
 +static int
 +readPID (
 + int file)
 +{
 +
 +	char *buffer;
 +	int hadNewline = 0;
 +	unsigned int count;
 +	unsigned int i;
 +	int pid;
 +
 +	/* Read the PID file contents */
 +	buffer = (char *) malloc ((MAX_FILE_SIZE + 1) * sizeof (char));
 +	count = read (file, buffer, MAX_FILE_SIZE + 1);
 +	if (count > MAX_FILE_SIZE) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: The file %%PID_FILE%% contains more than %d bytes.\n", MAX_FILE_SIZE);
 +		exit (ERR_PID_FILE_TOO_LARGE);
 +	}
 +
 +	/* Convert the bytes to a number */
 +	pid = 0;
 +	for (i=0; i<count; i++) {
 +		char c = buffer[i];
 +		if (c >= '0' && c <= '9') {
 +			char digit = c - '0';
 +			pid *= 10;
 +			pid += digit;
 +		} else if (i == (count - 1) && c == '\n') {
 +			/* XXX: Ignore a newline at the end of the file */
 +			hadNewline = 1;
 +		} else {
 +			printf (" [ FAILED ]\n");
 +			fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: The file %%PID_FILE%% contains an illegal character (%d) at position %d.\n", c, i);
 +			exit (ERR_PID_FILE_CONTAINS_ILLEGAL_CHAR);
 +		}
 +	}
 +	printf (" [ DONE ]\n");
 +
 +	if (count == 0 || (count == 1 && hadNewline == 1)) {
 +		return -1;
 +	}
 +
 +	return pid;
 +}
 +
 +
 +/**
 + * Writes a process ID to the specified file. The file is identified by a file
 + * handle.
 + *
 + * @param file
 + *    the file handle, always greater than 0.
 + *
 + * @param pid
 + *    the PID to store, always greater than 0.
 + */
 +static void
 +writePID (
 + int file,
 + int pid)
 +{
 +
 +	char *buffer;
 +	int nbytes;
 +
 +	/* Check preconditions */
 +	assert (file > 0);
 +	assert (pid > 0);
 +
 +	printf (">> Writing PID file...");
 +
 +	lseek (file, (off_t) 0, SEEK_SET);
 +	ftruncate (file, (off_t) 0);
 +	nbytes = asprintf (&buffer, "%d\n", pid);
 +	write (file, buffer, nbytes);
 +	printf (" [ DONE ]\n");
 +}
 +
 +
 +/**
 + * Checks if the specified process is running.
 + *
 + * @param pid
 + *    the process id, greater than 0.
 + *
 + * @return
 + *    0 if the specified process is not running, a different value otherwise.
 + */
 +static int
 +existsProcess (
 + int pid)
 +{
 +
 +	int result;
 +
 +	/* Check preconditions */
 +	assert (pid > 0);
 +
 +	/* See if the process exists */
 +   	result = kill (pid, 0);
 +
 +	/* If the result is 0, then the process exists */
 +	if (result == 0) {
 +		return 1;
 +	} else {
 +		return 0;
 +	}
 +}
 +
 +
 +/**
 + * Kills the process identified by the specified ID.
 + *
 + * @param pid
 + *    the process id, greater than 0.
 + */
 +static void
 +killProcess (
 + int pid)
 +{
 +
 +	int result;
 +	unsigned int waited;
 +	unsigned int forced;
 +	unsigned int interval = STOP_TIME_INTERVAL;
 +	unsigned int timeout  = %%STOP_TIMEOUT%%;
 +
 +	/* Check preconditions */
 +	assert (pid > 0);
 +
 +	printf (">> Terminating process %d...", pid);
 +	result = kill (pid, SIGTERM);
 +	if (result < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to kill process %d: ", pid);
 +		perror (NULL);
 +		exit (ERR_KILL_FAILED);
 +	}
 +
 +	/* Wait until the process is actually killed */
 +    result = existsProcess (pid);
 +	for (waited=0; result == 1 && waited < timeout; waited += interval)
 +	{
 +		printf (".");
 +		fflush (NULL);
 +		sleep (interval);
 +    	result = existsProcess (pid);
 +	}
 +
 +	/* If the process still exists, then have no mercy and kill it */
 +	forced = 0;
 +	if (result == 1) {
 +
 +		/* Force the process to die */
 +		result = kill (pid, SIGKILL);
 +		if (result == 0) {
 +			forced = 1;
 +			printf (" [ DONE ]\n");
 +			fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Process %d did not terminate within %%STOP_TIMEOUT%% sec. Killed.\n", pid);
 +		} else if (result != ESRCH) {
 +			printf (" [ FAILED ]\n");
 +			fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to kill process %d: ", pid);
 +			perror (NULL);
 +			exit (ERR_KILL_FAILED);
 +		}
 +	}
 +
 +	if (forced == 0) {
 +		printf (" [ DONE ]\n");
 +	}
 +}
 +
 +/**
 + * Starts the daemon.
 + */
 +static void
 +start (
 + int optcount,
 + char * opts [])
 +{
 +	int file;
 +	int pid;
 +	int result;
 +	int stdoutLogFile;
 +	int stderrLogFile;
 +	struct stat sb;
 +
 +	/* Open and read the PID file */
 +	printf (">> Reading PID file (%%PID_FILE%%)...");
 +	file = openPIDFile ();
 +	pid = readPID (file);
 +
 +	printf (">> Starting %%APP_TITLE%% %%PORTVERSION%%...");
 +	if (pid != -1) {
 +
 +		/* Check if the process actually exists */
 +		result = existsProcess (pid);
 +		if (result == 1) {
 +			printf (" [ FAILED ]\n");
 +			fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: %%APP_TITLE%% %%PORTVERSION%% is already running, PID is %d.\n", pid);
 +			exit (ERR_ALREADY_RUNNING);
 +		}
 +	}
 +
 +	/* Check if the JDK home directory is actually a directory */
 +	result = stat ("%%JAVA_HOME%%", &sb);
 +	if (result != 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to stat %%JAVA_HOME%%: ");
 +		perror (NULL);
 +		exit (ERR_STAT_JAVA_HOME);
 +	}
 +	if (!S_ISDIR (sb.st_mode)) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Java home directory %%JAVA_HOME%% is not a directory.\n");
 +		exit (ERR_JAVA_HOME_NOT_DIR);
 +	}
 +
 +	/* Check if the Java command is actually an executable regular file */
 +	result = stat ("%%JAVA_HOME%%/%%JAVA_CMD%%", &sb);
 +	if (result != 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to stat %%JAVA_HOME%%/%%JAVA_CMD%%: ");
 +		perror (NULL);
 +		exit (ERR_STAT_JAVA_CMD);
 +	}
 +	if (!S_ISREG (sb.st_mode)) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Java command %%JAVA_HOME%%/%%JAVA_CMD%% is not a regular file.\n");
 +		exit (ERR_JAVA_CMD_NOT_FILE);
 +	}
 +	result = access ("%%JAVA_HOME%%/%%JAVA_CMD%%", X_OK);
 +	if (result != 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Java command %%JAVA_HOME%%/%%JAVA_CMD%% is not executable: ");
 +		perror (NULL);
 +		exit (ERR_JAVA_CMD_NOT_EXECUTABLE);
 +	}
 +
 +	/* Change directory */
 +	result = chdir ("%%APP_HOME%%");
 +	if (result < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to access directory %%APP_HOME%%: ");
 +		perror (NULL);
 +		exit (ERR_CHDIR_TO_APP_HOME);
 +	}
 +
 +	/* See if the JAR file exists */
 +	result = access ("%%APP_HOME%%/%%JAR_FILE%%", R_OK);
 +	if (result < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to access JAR file %%APP_HOME%%/%%JAR_FILE%%: ");
 +		perror (NULL);
 +		exit (ERR_ACCESS_JAR_FILE);
 +	}
 +
 +	/* Open the stdout log file */
 +	stdoutLogFile = open ("%%STDOUT_LOG%%", O_WRONLY);
 +	if (stdoutLogFile < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to open %%STDOUT_LOG%% for writing: ");
 +		perror (NULL);
 +		exit (ERR_STDOUT_LOGFILE_OPEN);
 +	}
 +	lseek (stdoutLogFile, (off_t) 0, SEEK_END);
 +
 +	/* Open the stderr log file */
 +	stderrLogFile = open ("%%STDERR_LOG%%", O_WRONLY);
 +	if (stderrLogFile < 0) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to open %%STDERR_LOG%% for writing: ");
 +		perror (NULL);
 +		exit (ERR_STDERR_LOGFILE_OPEN);
 +	}
 +	lseek (stderrLogFile, (off_t) 0, SEEK_END);
 +
 +	/* Split this process in two */
 +	pid = fork ();
 +	if (pid == -1) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to fork: ");
 +		perror (NULL);
 +		exit (ERR_FORK_FAILED);
 +	}
 +
 +	if (pid == 0)
 +	{
 +		int i, argc;
 +		char **argv;
 +
 +		/* Redirect stdout to log file */
 +		dup2 (stdoutLogFile, STDOUT_FILENO);
 +
 +		/* Redirect stderr to log file */
 +		dup2 (stderrLogFile, STDERR_FILENO);
 +
 +		/* TODO: Support redirection of both stdout and stderr to the same
 +		         file using pipe (2) */
 +
 +		/*
 +			Build the argument vector, with the java-options if any.
 +		 */
 +		argv = malloc (sizeof (char *) * (optcount + 5));
 +		argc = 0;
 +		argv [argc++] = "%%JAVA_HOME%%/%%JAVA_CMD%%";
 +		for (i = 0; i < optcount; i++)
 +			argv [argc++] = opts [i];
 +		argv [argc++] = "-cp";
 +		argv [argc++] = "%%JAVA_CP%%";
 +		argv [argc++] = "%%JAVA_MAIN%%";
 +		argv [argc++] = NULL;
 +
 +		/* Execute the command */
 +		execv (argv [0], argv);
 +
 +		perror (NULL);
 +	} else
 +	{
 +		printf (" [ DONE ]\n");
 +		writePID (file, pid);
 +	}
 +}
 +
 +/**
 + * Stops the daemon.
 + */
 +static void
 +stop (void)
 +{
 +
 +	int file;
 +	int pid;
 +
 +	/* Open and read the PID file */
 +	printf (">> Reading PID file (%%PID_FILE%%)...");
 +	file = openPIDFile ();
 +	pid = readPID (file);
 +
 +	printf (">> Checking if %%APP_TITLE%% %%PORTVERSION%% is running...");
 +
 +	/* If there is a PID, see if the process still exists */
 +	if (pid != -1) {
 +		int result = kill (pid, 0);
 +		if (result != 0 && errno == ESRCH) {
 +			ftruncate (file, (off_t) 0);
 +			pid = -1;
 +		}
 +	}
 +
 +	/* If there is no running process, produce an error */
 +	if (pid == -1) {
 +		printf (" [ FAILED ]\n");
 +		fprintf (stderr, "%%CONTROL_SCRIPT_NAME%%: %%APP_TITLE%% %%PORTVERSION%% is currently not running.\n");
 +		exit (ERR_NOT_RUNNING);
 +	}
 +	printf (" [ DONE ]\n");
 +
 +	/* Terminate the process */
 +	killProcess (pid);
 +
 +	/* Clear the PID file */
 +	ftruncate (file, (off_t) 0);
 +}
 +
 +
 +/**
 + * Restarts the process. If it not currently running, then it will fail.
 + */
 +static void
 +restart (
 + int optcount,
 + char * opts [])
 +{
 +	stop ();
 +	start (optcount, opts);
 +}
 diff -ruN /usr/ports/java/jboss3/files/startup.sh ./files/startup.sh
 --- /usr/ports/java/jboss3/files/startup.sh	Thu Jan  1 12:00:00 1970
 +++ ./files/startup.sh	Mon Jun 14 16:25:17 2004
 @@ -0,0 +1,35 @@
 +#!/bin/sh
 +# -*- mode: Fundamental; tab-width: 4; -*-
 +# ex:ts=4
 +#
 +# %%APP_TITLE%% startup script.
 +#
 +# $FreeBSD: ports/www/jakarta-tomcat4/files/startup.sh,v 1.4 2002/05/08 21:54:06 znerd Exp $
 +#
 +
 +
 +# Set some variables
 +MYSELF=`basename $0`
 +JAVA_OPTS="%%JAVA_OPTS%%"
 +
 +case "$1" in
 +	start)
 +		echo -n ' '
 +		truncate -s 0 %%PID_FILE%%
 +		chown %%USER%%:%%GROUP%% %%PID_FILE%%
 +		chmod 600 %%PID_FILE%%
 +		su -f -m %%USER%% -c "exec %%CONTROL_SCRIPT%% ${JAVA_OPTS} start" >/dev/null && echo -n '%%APP_SHORTNAME%%'
 +		;;
 +	stop)
 +		echo -n ' '
 +		chown %%USER%%:%%GROUP%% %%PID_FILE%%
 +		chmod 600 %%PID_FILE%%
 +		su -f -m %%USER%% -c "exec %%CONTROL_SCRIPT%% stop" >/dev/null 2>&1 ; echo -n '%%APP_SHORTNAME%%'
 +		;;
 +	*)
 +		echo ""
 +		echo "Usage: ${MYSELF} { start | stop }"
 +		echo ""
 +		exit 64
 +		;;
 +esac
 diff -ruN /usr/ports/java/jboss3/pkg-plist ./pkg-plist
 --- /usr/ports/java/jboss3/pkg-plist	Tue Jan 13 17:41:32 2004
 +++ ./pkg-plist	Mon Jun 14 16:25:17 2004
 @@ -1,9 +1,9 @@
  bin/jboss3ctl
  etc/rc.d/020.jboss3.sh
 -%%T%%/bin/classpath.sh
  %%T%%/bin/deployer.bat
  %%T%%/bin/deployer.sh
  %%T%%/bin/jboss_init_redhat.sh
 +%%T%%/bin/jboss_init_suse.sh
  %%T%%/bin/run.bat
  %%T%%/bin/run.conf
  %%T%%/bin/run.jar
 @@ -15,6 +15,7 @@
  %%T%%/bin/twiddle.jar
  %%T%%/bin/twiddle.sh
  %%T%%/client/auth.conf
 +%%T%%/client/avalon-framework.jar
  %%T%%/client/concurrent.jar
  %%T%%/client/getopt.jar
  %%T%%/client/gnu-regexp.jar
 @@ -31,10 +32,10 @@
  %%T%%/client/jbossall-client.jar
  %%T%%/client/jbosscx-client.jar
  %%T%%/client/jbossha-client.jar
 -%%T%%/client/jbossjmx-ant.jar
  %%T%%/client/jbossmq-client.jar
  %%T%%/client/jbosssx-client.jar
  %%T%%/client/jcert.jar
 +%%T%%/client/jmx-client.jar
  %%T%%/client/jmx-connector-client-factory.jar
  %%T%%/client/jmx-ejb-connector-client.jar
  %%T%%/client/jmx-invoker-adaptor-client.jar
 @@ -47,13 +48,12 @@
  %%T%%/lib/commons-httpclient.jar
  %%T%%/lib/commons-logging.jar
  %%T%%/lib/concurrent.jar
 +%%T%%/lib/dom4j.jar
  %%T%%/lib/getopt.jar
  %%T%%/lib/gnu-regexp.jar
 -%%T%%/lib/jboss-boot.jar
  %%T%%/lib/jboss-common.jar
  %%T%%/lib/jboss-jmx.jar
  %%T%%/lib/jboss-system.jar
 -%%T%%/lib/jdom.jar
  %%T%%/lib/log4j-boot.jar
  %%T%%/lib/webdavlib.jar
  %%T%%/lib/xercesImpl.jar
 @@ -74,14 +74,34 @@
  %%T%%/server/all/conf/xmdesc/ClientUserTransaction-xmbean.xml
  %%T%%/server/all/conf/xmdesc/JNDIView-xmbean.xml
  %%T%%/server/all/conf/xmdesc/TransactionManagerService-xmbean.xml
 +%%T%%/server/all/deploy-hasingleton/jms/hsqldb-jdbc-state-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/hsqldb-jdbc2-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-destinations-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/META-INF/MANIFEST.MF
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/META-INF/jboss-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/META-INF/MANIFEST.MF
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http/servlet/HTTPServerILServlet.class
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/roles.properties
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/users.properties
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/jboss-web.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/web.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jbossmq-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/jvm-il-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/oil-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/oil2-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/rmi-il-service.xml
 +%%T%%/server/all/deploy-hasingleton/jms/uil2-service.xml
  %%T%%/server/all/deploy/cache-invalidation-service.xml
  %%T%%/server/all/deploy/client-deployer-service.xml
  %%T%%/server/all/deploy/cluster-service.xml
 +%%T%%/server/all/deploy/deploy-hasingleton-service.xml
  %%T%%/server/all/deploy/deploy.last/farm-service.xml
  %%T%%/server/all/deploy/hsqldb-ds.xml
  %%T%%/server/all/deploy/http-invoker.sar/META-INF/MANIFEST.MF
  %%T%%/server/all/deploy/http-invoker.sar/META-INF/jboss-service.xml
  %%T%%/server/all/deploy/http-invoker.sar/invoker.war/META-INF/MANIFEST.MF
 +%%T%%/server/all/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet$GetCredentialAction.class
 +%%T%%/server/all/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet$GetPrincipalAction.class
  %%T%%/server/all/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet.class
  %%T%%/server/all/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/NamingFactoryServlet.class
  %%T%%/server/all/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/ReadOnlyAccessFilter.class
 @@ -133,52 +153,46 @@
  %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/server/ClusteredHTTPSessionService$CleanupDaemon.class
  %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/server/ClusteredHTTPSessionService.class
  %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/server/ClusteredHTTPSessionServiceMBean.class
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/META-INF/servletinfo-xmbean.xml
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/ant.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/bootstrap.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/catalina.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/commons-beanutils.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/commons-collections.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/commons-digester.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/commons-logging.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/jakarta-regexp-1.3.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/jasper-compiler.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/jasper-runtime.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/naming-common.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/naming-resources.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/servlets-common.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/servlets-default.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/servlets-invoker.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/servlets-webdav.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/tomcat-coyote.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/tomcat-http11.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/tomcat-jk2.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/tomcat-util.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/tomcat41-service.jar
 -%%T%%/server/all/deploy/jbossweb-tomcat41.sar/web.xml
 -%%T%%/server/all/deploy/jms/hsqldb-jdbc2-service.xml
 -%%T%%/server/all/deploy/jms/jbossmq-destinations-service.xml
 -%%T%%/server/all/deploy/jms/jbossmq-hail.sar/META-INF/MANIFEST.MF
 -%%T%%/server/all/deploy/jms/jbossmq-hail.sar/META-INF/jboss-service.xml
 -%%T%%/server/all/deploy/jms/jbossmq-hail.sar/jbossmq-hail.jar
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/META-INF/MANIFEST.MF
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/META-INF/jboss-service.xml
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/META-INF/MANIFEST.MF
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http/servlet/HTTPServerILServlet.class
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/roles.properties
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/users.properties
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/jboss-web.xml
 -%%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/web.xml
 -%%T%%/server/all/deploy/jms/jbossmq-service.xml
 -%%T%%/server/all/deploy/jms/jms-ds.xml
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/WEB-INF/web.xml
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/index.html
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/jboss.css
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/logo.gif
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/xform.xsl
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/ant.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/catalina-manager.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/catalina-optional.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/catalina.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-beanutils.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-collections.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-digester.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-el.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-logging.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/commons-modeler.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/jakarta-regexp-1.3.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/jasper-compiler.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/jasper-runtime.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/jsp-api.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/naming-common.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/naming-resources.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/server.xml
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/servlet-api.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/servlets-common.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/servlets-default.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/servlets-invoker.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/servlets-webdav.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/sso-channel.xml
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/tomcat-coyote.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/tomcat-http11.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/tomcat-jk2.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/tomcat-util.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/tomcat50-service.jar
 +%%T%%/server/all/deploy/jbossweb-tomcat50.sar/web.xml
 +%%T%%/server/all/deploy/jms/hajndi-jms-ds.xml
  %%T%%/server/all/deploy/jms/jms-ra.rar
 -%%T%%/server/all/deploy/jms/jvm-il-service.xml
 -%%T%%/server/all/deploy/jms/oil-service.xml
 -%%T%%/server/all/deploy/jms/oil2-service.xml
 -%%T%%/server/all/deploy/jms/rmi-il-service.xml
 -%%T%%/server/all/deploy/jms/uil2-service.xml
  %%T%%/server/all/deploy/jmx-console.war/META-INF/MANIFEST.MF
 +%%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/jmx-console-roles.properties
 +%%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/jmx-console-users.properties
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/AddressPort.class
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/AttrResultInfo.class
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/OpResultInfo.class
 @@ -187,8 +201,6 @@
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.class
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/model/DomainData.class
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/model/MBeanData.class
 -%%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/roles.properties
 -%%T%%/server/all/deploy/jmx-console.war/WEB-INF/classes/users.properties
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/jboss-web.xml
  %%T%%/server/all/deploy/jmx-console.war/WEB-INF/web.xml
  %%T%%/server/all/deploy/jmx-console.war/cluster/bootstrap.html
 @@ -205,6 +217,7 @@
  %%T%%/server/all/deploy/mail-service.xml
  %%T%%/server/all/deploy/management/console-mgr.sar
  %%T%%/server/all/deploy/management/web-console.war
 +%%T%%/server/all/deploy/monitoring-service.xml
  %%T%%/server/all/deploy/properties-service.xml
  %%T%%/server/all/deploy/schedule-manager-service.xml
  %%T%%/server/all/deploy/scheduler-service.xml
 @@ -212,7 +225,6 @@
  %%T%%/server/all/deploy/snmp-adaptor.sar/META-INF/jboss-service.xml
  %%T%%/server/all/deploy/snmp-adaptor.sar/castor.jar
  %%T%%/server/all/deploy/snmp-adaptor.sar/managers.xml
 -%%T%%/server/all/deploy/snmp-adaptor.sar/mbeans.xml
  %%T%%/server/all/deploy/snmp-adaptor.sar/notifications.xml
  %%T%%/server/all/deploy/sqlexception-service.xml
  %%T%%/server/all/deploy/transaction-service.xml
 @@ -221,6 +233,7 @@
  %%T%%/server/all/farm/cluster-examples-service.xml
  %%T%%/server/all/lib/activation.jar
  %%T%%/server/all/lib/autonumber-plugin.jar
 +%%T%%/server/all/lib/avalon-framework.jar
  %%T%%/server/all/lib/bcel.jar
  %%T%%/server/all/lib/bindingservice-plugin.jar
  %%T%%/server/all/lib/bsh-core-1.3.0.jar
 @@ -229,13 +242,14 @@
  %%T%%/server/all/lib/hsqldb-plugin.jar
  %%T%%/server/all/lib/hsqldb.jar
  %%T%%/server/all/lib/jacorb.jar
 -%%T%%/server/all/lib/javax.servlet.jar
 +%%T%%/server/all/lib/jboss-cache.jar
  %%T%%/server/all/lib/jboss-common-jdbc-wrapper.jar
  %%T%%/server/all/lib/jboss-iiop.jar
  %%T%%/server/all/lib/jboss-j2ee.jar
  %%T%%/server/all/lib/jboss-jaas.jar
  %%T%%/server/all/lib/jboss-jsr77.jar
  %%T%%/server/all/lib/jboss-management.jar
 +%%T%%/server/all/lib/jboss-monitoring.jar
  %%T%%/server/all/lib/jboss-transaction.jar
  %%T%%/server/all/lib/jboss.jar
  %%T%%/server/all/lib/jbossha.jar
 @@ -249,7 +263,6 @@
  %%T%%/server/all/lib/jpl-pattern.jar
  %%T%%/server/all/lib/jpl-util.jar
  %%T%%/server/all/lib/jsse.jar
 -%%T%%/server/all/lib/jts.jar
  %%T%%/server/all/lib/log4j.jar
  %%T%%/server/all/lib/mail-plugin.jar
  %%T%%/server/all/lib/mail.jar
 @@ -278,6 +291,8 @@
  %%T%%/server/default/deploy/http-invoker.sar/META-INF/MANIFEST.MF
  %%T%%/server/default/deploy/http-invoker.sar/META-INF/jboss-service.xml
  %%T%%/server/default/deploy/http-invoker.sar/invoker.war/META-INF/MANIFEST.MF
 +%%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet$GetCredentialAction.class
 +%%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet$GetPrincipalAction.class
  %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/InvokerServlet.class
  %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/NamingFactoryServlet.class
  %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet/ReadOnlyAccessFilter.class
 @@ -288,30 +303,42 @@
  %%T%%/server/default/deploy/jboss-jca.sar
  %%T%%/server/default/deploy/jboss-local-jdbc.rar
  %%T%%/server/default/deploy/jboss-xa-jdbc.rar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/META-INF/servletinfo-xmbean.xml
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/ant.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/bootstrap.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/catalina.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/commons-beanutils.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/commons-collections.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/commons-digester.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/commons-logging.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/jakarta-regexp-1.3.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/jasper-compiler.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/jasper-runtime.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/naming-common.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/naming-resources.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/servlets-common.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/servlets-default.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/servlets-invoker.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/servlets-webdav.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/tomcat-coyote.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/tomcat-http11.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/tomcat-jk2.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/tomcat-util.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/tomcat41-service.jar
 -%%T%%/server/default/deploy/jbossweb-tomcat41.sar/web.xml
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/WEB-INF/web.xml
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/index.html
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/jboss.css
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/logo.gif
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/xform.xsl
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/ant.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/catalina-manager.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/catalina-optional.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/catalina.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-beanutils.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-collections.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-digester.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-el.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-logging.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/commons-modeler.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/jakarta-regexp-1.3.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/jasper-compiler.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/jasper-runtime.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/jsp-api.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/naming-common.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/naming-resources.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/server.xml
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/servlet-api.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/servlets-common.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/servlets-default.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/servlets-invoker.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/servlets-webdav.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/sso-channel.xml
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/tomcat-coyote.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/tomcat-http11.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/tomcat-jk2.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/tomcat-util.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/tomcat50-service.jar
 +%%T%%/server/default/deploy/jbossweb-tomcat50.sar/web.xml
 +%%T%%/server/default/deploy/jms/hsqldb-jdbc-state-service.xml
  %%T%%/server/default/deploy/jms/hsqldb-jdbc2-service.xml
  %%T%%/server/default/deploy/jms/jbossmq-destinations-service.xml
  %%T%%/server/default/deploy/jms/jbossmq-httpil.sar/META-INF/MANIFEST.MF
 @@ -326,11 +353,10 @@
  %%T%%/server/default/deploy/jms/jms-ds.xml
  %%T%%/server/default/deploy/jms/jms-ra.rar
  %%T%%/server/default/deploy/jms/jvm-il-service.xml
 -%%T%%/server/default/deploy/jms/oil-service.xml
 -%%T%%/server/default/deploy/jms/oil2-service.xml
 -%%T%%/server/default/deploy/jms/rmi-il-service.xml
  %%T%%/server/default/deploy/jms/uil2-service.xml
  %%T%%/server/default/deploy/jmx-console.war/META-INF/MANIFEST.MF
 +%%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/jmx-console-roles.properties
 +%%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/jmx-console-users.properties
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/AddressPort.class
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/AttrResultInfo.class
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/control/OpResultInfo.class
 @@ -339,8 +365,6 @@
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.class
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/model/DomainData.class
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/org/jboss/jmx/adaptor/model/MBeanData.class
 -%%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/roles.properties
 -%%T%%/server/default/deploy/jmx-console.war/WEB-INF/classes/users.properties
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml
  %%T%%/server/default/deploy/jmx-console.war/WEB-INF/web.xml
  %%T%%/server/default/deploy/jmx-console.war/cluster/bootstrap.html
 @@ -357,15 +381,10 @@
  %%T%%/server/default/deploy/mail-service.xml
  %%T%%/server/default/deploy/management/console-mgr.sar
  %%T%%/server/default/deploy/management/web-console.war
 +%%T%%/server/default/deploy/monitoring-service.xml
  %%T%%/server/default/deploy/properties-service.xml
  %%T%%/server/default/deploy/schedule-manager-service.xml
  %%T%%/server/default/deploy/scheduler-service.xml
 -%%T%%/server/default/deploy/snmp-adaptor.sar/META-INF/MANIFEST.MF
 -%%T%%/server/default/deploy/snmp-adaptor.sar/META-INF/jboss-service.xml
 -%%T%%/server/default/deploy/snmp-adaptor.sar/castor.jar
 -%%T%%/server/default/deploy/snmp-adaptor.sar/managers.xml
 -%%T%%/server/default/deploy/snmp-adaptor.sar/mbeans.xml
 -%%T%%/server/default/deploy/snmp-adaptor.sar/notifications.xml
  %%T%%/server/default/deploy/sqlexception-service.xml
  %%T%%/server/default/deploy/transaction-service.xml
  %%T%%/server/default/deploy/user-service.xml
 @@ -378,12 +397,12 @@
  %%T%%/server/default/lib/bsh-deployer.jar
  %%T%%/server/default/lib/hsqldb-plugin.jar
  %%T%%/server/default/lib/hsqldb.jar
 -%%T%%/server/default/lib/javax.servlet.jar
  %%T%%/server/default/lib/jboss-common-jdbc-wrapper.jar
  %%T%%/server/default/lib/jboss-j2ee.jar
  %%T%%/server/default/lib/jboss-jaas.jar
  %%T%%/server/default/lib/jboss-jsr77.jar
  %%T%%/server/default/lib/jboss-management.jar
 +%%T%%/server/default/lib/jboss-monitoring.jar
  %%T%%/server/default/lib/jboss-transaction.jar
  %%T%%/server/default/lib/jboss.jar
  %%T%%/server/default/lib/jbossha.jar
 @@ -396,14 +415,12 @@
  %%T%%/server/default/lib/jpl-pattern.jar
  %%T%%/server/default/lib/jpl-util.jar
  %%T%%/server/default/lib/jsse.jar
 -%%T%%/server/default/lib/jts.jar
  %%T%%/server/default/lib/log4j.jar
  %%T%%/server/default/lib/mail-plugin.jar
  %%T%%/server/default/lib/mail.jar
  %%T%%/server/default/lib/properties-plugin.jar
  %%T%%/server/default/lib/scheduler-plugin-example.jar
  %%T%%/server/default/lib/scheduler-plugin.jar
 -%%T%%/server/default/lib/snmp-adaptor.jar
  %%T%%/server/default/lib/snmp-support.jar
  %%T%%/server/default/lib/xalan.jar
  %%T%%/server/minimal/conf/jboss-service.xml
 @@ -420,8 +437,6 @@
  @dirrm %%T%%/server/minimal/conf
  @dirrm %%T%%/server/minimal
  @dirrm %%T%%/server/default/lib
 -@dirrm %%T%%/server/default/deploy/snmp-adaptor.sar/META-INF
 -@dirrm %%T%%/server/default/deploy/snmp-adaptor.sar
  @dirrm %%T%%/server/default/deploy/management
  @dirrm %%T%%/server/default/deploy/jmx-invoker-adaptor-server.sar/META-INF
  @dirrm %%T%%/server/default/deploy/jmx-invoker-adaptor-server.sar
 @@ -451,8 +466,10 @@
  @dirrm %%T%%/server/default/deploy/jms/jbossmq-httpil.sar/META-INF
  @dirrm %%T%%/server/default/deploy/jms/jbossmq-httpil.sar
  @dirrm %%T%%/server/default/deploy/jms
 -@dirrm %%T%%/server/default/deploy/jbossweb-tomcat41.sar/META-INF
 -@dirrm %%T%%/server/default/deploy/jbossweb-tomcat41.sar
 +@dirrm %%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/WEB-INF
 +@dirrm %%T%%/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war
 +@dirrm %%T%%/server/default/deploy/jbossweb-tomcat50.sar/META-INF
 +@dirrm %%T%%/server/default/deploy/jbossweb-tomcat50.sar
  @dirrm %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http/servlet
  @dirrm %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation/http
  @dirrm %%T%%/server/default/deploy/http-invoker.sar/invoker.war/WEB-INF/classes/org/jboss/invocation
 @@ -488,23 +505,11 @@
  @dirrm %%T%%/server/all/deploy/jmx-console.war/WEB-INF
  @dirrm %%T%%/server/all/deploy/jmx-console.war/META-INF
  @dirrm %%T%%/server/all/deploy/jmx-console.war
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http/servlet
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/META-INF
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar/META-INF
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-httpil.sar
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-hail.sar/META-INF
 -@dirrm %%T%%/server/all/deploy/jms/jbossmq-hail.sar
  @dirrm %%T%%/server/all/deploy/jms
 -@dirrm %%T%%/server/all/deploy/jbossweb-tomcat41.sar/META-INF
 -@dirrm %%T%%/server/all/deploy/jbossweb-tomcat41.sar
 +@dirrm %%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war/WEB-INF
 +@dirrm %%T%%/server/all/deploy/jbossweb-tomcat50.sar/ROOT.war
 +@dirrm %%T%%/server/all/deploy/jbossweb-tomcat50.sar/META-INF
 +@dirrm %%T%%/server/all/deploy/jbossweb-tomcat50.sar
  @dirrm %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/server
  @dirrm %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/beanimpl/interfaces
  @dirrm %%T%%/server/all/deploy/jbossha-httpsession.sar/org/jboss/ha/httpsession/beanimpl
 @@ -542,6 +547,20 @@
  @dirrm %%T%%/server/all/deploy/http-invoker.sar/META-INF
  @dirrm %%T%%/server/all/deploy/http-invoker.sar
  @dirrm %%T%%/server/all/deploy/deploy.last
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http/servlet
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il/http
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq/il
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss/mq
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org/jboss
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/META-INF
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/META-INF
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar
 +@dirrm %%T%%/server/all/deploy-hasingleton/jms
 +@dirrm %%T%%/server/all/deploy-hasingleton
  @dirrm %%T%%/server/all/deploy
  @dirrm %%T%%/server/all/conf/xmdesc
  @dirrm %%T%%/server/all/conf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406151000.i5FA0sXE066849>