View | Details | Raw Unified | Return to bug 74344
Collapse All | Expand All

(-)www/jakarta-tomcat4/Makefile (-4 / +7 lines)
Lines 7-12 Link Here
7
7
8
PORTNAME=	jakarta-tomcat
8
PORTNAME=	jakarta-tomcat
9
PORTVERSION=	4.0.6
9
PORTVERSION=	4.0.6
10
PORTREVISION=	1
10
CATEGORIES=	www java
11
CATEGORIES=	www java
11
MASTER_SITES=	http://jakarta.apache.org/builds/jakarta-tomcat-${PORTVERSION:R}/release/v${PORTVERSION}/bin/ \
12
MASTER_SITES=	http://jakarta.apache.org/builds/jakarta-tomcat-${PORTVERSION:R}/release/v${PORTVERSION}/bin/ \
12
		${MASTER_SITE_LOCAL}
13
		${MASTER_SITE_LOCAL}
Lines 27-32 Link Here
27
APP_TITLE=	Jakarta Tomcat
28
APP_TITLE=	Jakarta Tomcat
28
APP_SHORTNAME=	tomcat${MAJOR_VER}
29
APP_SHORTNAME=	tomcat${MAJOR_VER}
29
CONTROL_SCRIPT_NAME=	${APP_SHORTNAME}ctl
30
CONTROL_SCRIPT_NAME=	${APP_SHORTNAME}ctl
31
CONTROL_SCRIPT_CONF=	conf/${APP_SHORTNAME}ctl.conf
30
CONTROL_SCRIPT=	${PREFIX}/bin/${CONTROL_SCRIPT_NAME}
32
CONTROL_SCRIPT=	${PREFIX}/bin/${CONTROL_SCRIPT_NAME}
31
CONTROL_SCRIPT_MANPAGE_TITLE=	${CONTROL_SCRIPT_NAME:U}
33
CONTROL_SCRIPT_MANPAGE_TITLE=	${CONTROL_SCRIPT_NAME:U}
32
STARTUP_ORDER?=	020
34
STARTUP_ORDER?=	020
Lines 45-50 Link Here
45
STOP_TIMEOUT?=	5
47
STOP_TIMEOUT?=	5
46
PID_FILE=	/var/run/${APP_SHORTNAME}.pid
48
PID_FILE=	/var/run/${APP_SHORTNAME}.pid
47
REPLACE_FILES=	${FILESDIR}/daemonctl.c \
49
REPLACE_FILES=	${FILESDIR}/daemonctl.c \
50
		${FILESDIR}/daemonctl.conf \
48
		${FILESDIR}/daemonctl.1 \
51
		${FILESDIR}/daemonctl.1 \
49
		${FILESDIR}/startup.sh \
52
		${FILESDIR}/startup.sh \
50
		${WRKSRC}/conf/server.xml
53
		${WRKSRC}/conf/server.xml
Lines 69-75 Link Here
69
	@${ECHO_CMD} "   Logfile stderr:           ${STDERR_LOG}"
72
	@${ECHO_CMD} "   Logfile stderr:           ${STDERR_LOG}"
70
	@${ECHO_CMD} "   Starting after install:   ${AUTO_START}"
73
	@${ECHO_CMD} "   Starting after install:   ${AUTO_START}"
71
	@${ECHO_CMD} "   Stop time-out:            ${STOP_TIMEOUT} sec."
74
	@${ECHO_CMD} "   Stop time-out:            ${STOP_TIMEOUT} sec."
72
	@PKG_PREFIX=${PREFIX} ${SH} pkg-install ${PKGNAME} PRE-INSTALL
75
	@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
73
76
74
post-patch:
77
post-patch:
75
	@${ECHO_CMD} -n ">> Removing unneeded files..."
78
	@${ECHO_CMD} -n ">> Removing unneeded files..."
Lines 121-131 Link Here
121
124
122
	@${ECHO_CMD} -n ">> Compiling and installing control program..."
125
	@${ECHO_CMD} -n ">> Compiling and installing control program..."
123
	@${SED} \
126
	@${SED} \
124
	-e "/%%JAVA_ARGS%%/s//\"-Dcatalina.home=${APP_HOME:S/\//\\\//g}\",/g" \
127
		-e "/%%JAR_ARGS%%/s//\"start\"/g" \
125
	-e "/%%JAR_ARGS%%/s//\"start\",/g" \
128
		${WRKDIR}/daemonctl.c > ${WRKDIR}/daemonctl_.c
126
	${WRKDIR}/daemonctl.c > ${WRKDIR}/daemonctl_.c
127
	@cd ${WRKDIR} && ${CC} -ansi -o ${CONTROL_SCRIPT_NAME} daemonctl_.c
129
	@cd ${WRKDIR} && ${CC} -ansi -o ${CONTROL_SCRIPT_NAME} daemonctl_.c
128
	@${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT}
130
	@${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT}
131
	@${CP} ${WRKDIR}/daemonctl.conf ${APP_HOME}/${CONTROL_SCRIPT_CONF}
129
	@${CHOWN} ${USER}:${GROUP} ${CONTROL_SCRIPT}
132
	@${CHOWN} ${USER}:${GROUP} ${CONTROL_SCRIPT}
130
	@${CHMOD} 6754 ${CONTROL_SCRIPT}
133
	@${CHMOD} 6754 ${CONTROL_SCRIPT}
131
	@${ECHO_CMD} " [ DONE ]"
134
	@${ECHO_CMD} " [ DONE ]"
(-)www/jakarta-tomcat4/files/daemonctl.c (-1 / +50 lines)
Lines 21-26 Link Here
21
#include <sys/types.h>
21
#include <sys/types.h>
22
#include <sys/uio.h>
22
#include <sys/uio.h>
23
23
24
/* The maximum size of each line of configuration file */
25
#define MAX_ARGS_SIZE			256
26
24
/* The maximum size of the PID file, in bytes */
27
/* The maximum size of the PID file, in bytes */
25
#define MAX_FILE_SIZE			32
28
#define MAX_FILE_SIZE			32
26
29
Lines 39-44 Link Here
39
#define ERR_ACCESS_JAR_FILE					17
42
#define ERR_ACCESS_JAR_FILE					17
40
#define ERR_STDOUT_LOGFILE_OPEN				9
43
#define ERR_STDOUT_LOGFILE_OPEN				9
41
#define ERR_STDERR_LOGFILE_OPEN				10
44
#define ERR_STDERR_LOGFILE_OPEN				10
45
#define ERR_INCORRECT_CONFIGURATION			18
42
#define ERR_FORK_FAILED						11
46
#define ERR_FORK_FAILED						11
43
#define ERR_STAT_JAVA_HOME					12
47
#define ERR_STAT_JAVA_HOME					12
44
#define ERR_JAVA_HOME_NOT_DIR				13
48
#define ERR_JAVA_HOME_NOT_DIR				13
Lines 307-313 Link Here
307
 */
311
 */
308
void start(void) {
312
void start(void) {
309
313
314
	FILE *javaConfFile;
315
    char **args;
316
	char *args_jvm = "/usr/local/jdk1.4.2/bin/java";
317
	char *args_jar = "bin/bootstrap.jar";
318
	char *args_arg = %%JAR_ARGS%%;
319
  	char buffer[MAX_ARGS_SIZE];
320
	int argc;
310
	int file;
321
	int file;
322
	int i;
323
	int line;
324
	int ok;
311
	int pid;
325
	int pid;
312
	int result;
326
	int result;
313
	int stdoutLogFile;
327
	int stdoutLogFile;
Lines 404-409 Link Here
404
	}
418
	}
405
	lseek(stderrLogFile, (off_t) 0, SEEK_END);
419
	lseek(stderrLogFile, (off_t) 0, SEEK_END);
406
420
421
	/* Get java parameters */
422
	argc = 4;
423
	args = (char **) malloc(argc * sizeof(char *));
424
	args[0] = args_jvm;
425
	javaConfFile = fopen("%%APP_HOME%%/%%CONTROL_SCRIPT_CONF%%", "r");
426
	if (javaConfFile >= 0) {
427
		line = 0;
428
	    while (fgets(buffer, MAX_ARGS_SIZE, javaConfFile) != NULL) {
429
		    line++;
430
			if (strlen(buffer) == 0)
431
				continue;
432
433
			ok = 1;
434
			for (i = -1; ok && (++i < strlen(buffer)); )
435
				ok &= (islower(buffer[i]) || isdigit(buffer[i]) || (buffer[i] == '.'));
436
			ok |= (i < strlen(buffer) && (i > 0) && (buffer[i++] == '=') && (i < strlen(buffer)));
437
			for (; ok && (i < strlen(buffer)); i++)
438
				ok &= (isalnum(buffer[i]) || (buffer[i] == '-') || (buffer[i] == '.') || (buffer[i] == '/') || (buffer[i] == 10));
439
440
			if (ok != 1) {
441
				printf(" [ FAILED ]\n");
442
				fprintf(stderr, "%%CONTROL_SCRIPT_NAME%%: Error in %%APP_HOME%%/%%CONTROL_SCRIPT_CONF%%#%i-%i\n", line, i);
443
				exit(ERR_INCORRECT_CONFIGURATION);
444
			}
445
			
446
			argc++;
447
			args = (char **) realloc(args, argc * sizeof(char));
448
			args[argc - 4] = strdup(buffer);
449
		}
450
		fclose(javaConfFile);
451
	}
452
	args[argc - 3] = args_jar;
453
	args[argc - 2] = args_arg;
454
	args[argc - 1] = NULL;
455
407
	/* Split this process in two */
456
	/* Split this process in two */
408
	pid = fork();
457
	pid = fork();
409
	if (pid == -1) {
458
	if (pid == -1) {
Lines 425-431 Link Here
425
		         file using pipe(2) */
474
		         file using pipe(2) */
426
475
427
		/* Execute the command */
476
		/* Execute the command */
428
		execl("%%JAVA_HOME%%/%%JAVA_CMD%%", "%%JAVA_HOME%%/%%JAVA_CMD%%", "-jar", %%JAVA_ARGS%% "%%JAR_FILE%%", %%JAR_ARGS%% NULL);
477
		execv("%%JAVA_HOME%%/%%JAVA_CMD%%", args);
429
478
430
		fprintf(stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to start %%APP_TITLE%% %%PORTVERSION%% since '%%JAVA_HOME%%/%%JAVA_CMD%% -jar %%JAR_FILE%%' in %%APP_HOME%%: ");
479
		fprintf(stderr, "%%CONTROL_SCRIPT_NAME%%: Unable to start %%APP_TITLE%% %%PORTVERSION%% since '%%JAVA_HOME%%/%%JAVA_CMD%% -jar %%JAR_FILE%%' in %%APP_HOME%%: ");
431
		perror(NULL);
480
		perror(NULL);
(-)www/jakarta-tomcat4/files/daemonctl.conf (+2 lines)
Line 0 Link Here
1
catalina.home=%%APP_HOME%%
2
java.io.tmpdir=%%APP_HOME%%/temp/
(-)www/jakarta-tomcat41/Makefile (-5 / +7 lines)
Lines 7-13 Link Here
7
7
8
PORTNAME=	jakarta-tomcat
8
PORTNAME=	jakarta-tomcat
9
PORTVERSION=	4.1.30
9
PORTVERSION=	4.1.30
10
PORTREVISION=	0
10
PORTREVISION=	1
11
CATEGORIES=	www java
11
CATEGORIES=	www java
12
MASTER_SITES=	http://www.apache.org/dist/jakarta/tomcat-4/v${PORTVERSION}/bin/ \
12
MASTER_SITES=	http://www.apache.org/dist/jakarta/tomcat-4/v${PORTVERSION}/bin/ \
13
		${MASTER_SITE_LOCAL}
13
		${MASTER_SITE_LOCAL}
Lines 30-35 Link Here
30
APP_TITLE=	Jakarta Tomcat
30
APP_TITLE=	Jakarta Tomcat
31
APP_SHORTNAME=	tomcat${MAJOR_VER:S/.//}
31
APP_SHORTNAME=	tomcat${MAJOR_VER:S/.//}
32
CONTROL_SCRIPT_NAME=	${APP_SHORTNAME}ctl
32
CONTROL_SCRIPT_NAME=	${APP_SHORTNAME}ctl
33
CONTROL_SCRIPT_CONF=	conf/${APP_SHORTNAME}ctl.conf
33
CONTROL_SCRIPT=	${PREFIX}/bin/${CONTROL_SCRIPT_NAME}
34
CONTROL_SCRIPT=	${PREFIX}/bin/${CONTROL_SCRIPT_NAME}
34
CONTROL_SCRIPT_MANPAGE_TITLE=	${CONTROL_SCRIPT_NAME:U}
35
CONTROL_SCRIPT_MANPAGE_TITLE=	${CONTROL_SCRIPT_NAME:U}
35
STARTUP_ORDER?=	020
36
STARTUP_ORDER?=	020
Lines 48-53 Link Here
48
STOP_TIMEOUT?=	5
49
STOP_TIMEOUT?=	5
49
PID_FILE=	/var/run/${APP_SHORTNAME}.pid
50
PID_FILE=	/var/run/${APP_SHORTNAME}.pid
50
REPLACE_FILES=	${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.c \
51
REPLACE_FILES=	${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.c \
52
		${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.conf \
51
		${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.1 \
53
		${PORTSDIR}/www/jakarta-tomcat4/files/daemonctl.1 \
52
		${PORTSDIR}/www/jakarta-tomcat4/files/startup.sh \
54
		${PORTSDIR}/www/jakarta-tomcat4/files/startup.sh \
53
		${WRKSRC}/conf/server.xml
55
		${WRKSRC}/conf/server.xml
Lines 72-78 Link Here
72
	@${ECHO_CMD} "   Logfile stderr:           ${STDERR_LOG}"
74
	@${ECHO_CMD} "   Logfile stderr:           ${STDERR_LOG}"
73
	@${ECHO_CMD} "   Starting after install:   ${AUTO_START}"
75
	@${ECHO_CMD} "   Starting after install:   ${AUTO_START}"
74
	@${ECHO_CMD} "   Stop time-out:            ${STOP_TIMEOUT} sec."
76
	@${ECHO_CMD} "   Stop time-out:            ${STOP_TIMEOUT} sec."
75
	@PKG_PREFIX=${PREFIX} ${SH} pkg-install ${PKGNAME} PRE-INSTALL
77
	@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
76
78
77
post-patch:
79
post-patch:
78
	@${ECHO_CMD} -n ">> Removing unneeded files..."
80
	@${ECHO_CMD} -n ">> Removing unneeded files..."
Lines 124-134 Link Here
124
126
125
	@${ECHO_CMD} -n ">> Compiling and installing control program..."
127
	@${ECHO_CMD} -n ">> Compiling and installing control program..."
126
	@${SED} \
128
	@${SED} \
127
	-e "/%%JAVA_ARGS%%/s//\"-Dcatalina.home=${APP_HOME:S/\//\\\//g}\",/g" \
129
		-e "/%%JAR_ARGS%%/s//\"start\"/g" \
128
	-e "/%%JAR_ARGS%%/s//\"start\",/g" \
130
		${WRKDIR}/daemonctl.c > ${WRKDIR}/daemonctl_.c
129
	${WRKDIR}/daemonctl.c > ${WRKDIR}/daemonctl_.c
130
	@cd ${WRKDIR} && ${CC} -ansi -o ${CONTROL_SCRIPT_NAME} daemonctl_.c
131
	@cd ${WRKDIR} && ${CC} -ansi -o ${CONTROL_SCRIPT_NAME} daemonctl_.c
131
	@${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT}
132
	@${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT}
133
	@${CP} ${WRKDIR}/daemonctl.conf ${APP_HOME}/${CONTROL_SCRIPT_CONF}
132
	@${CHOWN} ${USER}:${GROUP} ${CONTROL_SCRIPT}
134
	@${CHOWN} ${USER}:${GROUP} ${CONTROL_SCRIPT}
133
	@${CHMOD} 6754 ${CONTROL_SCRIPT}
135
	@${CHMOD} 6754 ${CONTROL_SCRIPT}
134
	@${ECHO_CMD} " [ DONE ]"
136
	@${ECHO_CMD} " [ DONE ]"

Return to bug 74344