# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # . # ./files # ./files/patch-configure # ./files/tomcat.sh # ./files/patch-jsvc-unix.c # ./Makefile # ./distinfo # ./pkg-descr # ./pkg-message # echo c - . mkdir -p . > /dev/null 2>&1 echo c - ./files mkdir -p ./files > /dev/null 2>&1 echo x - ./files/patch-configure sed 's/^X//' >./files/patch-configure << 'END-of-./files/patch-configure' X$FreeBSD$ X XPatch to have configure script recognize FreeBSD 5.x and 6.x X X--- src/native/unix/configure.orig Wed Dec 22 18:53:10 2004 X+++ src/native/unix/configure Wed Dec 22 18:53:30 2004 X@@ -2583,7 +2583,7 @@ X CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN -Kthread" X LDFLAGS="-Kthread $LDFLAGS -ldl" X ;; X- freebsd4.?) X+ freebsd[456].?) X CFLAGS="$CFLAGS -DOS_FREEBSD -DDSO_DLFCN -D_THREAD_SAFE -pthread" X LDFLAGS="-pthread $LDFLAGS" X supported_os="freebsd" END-of-./files/patch-configure echo x - ./files/tomcat.sh sed 's/^X//' >./files/tomcat.sh << 'END-of-./files/tomcat.sh' X#!/bin/sh X# X# $FreeBSD$ X# X X# PROVIDE: tomcat X# REQUIRE: NETWORKING SERVERS X# BEFORE: DAEMON X# KEYWORD: shutdown X X# X# Add the following lines to /etc/rc.conf to enable tomcat: X# tomcat_enable (bool): Set to "NO" by default. X# Set it to "YES" to enable tomcat X### Optional X# tomcat_tcuser (str): User to run tomcat as, Default to "www" X# the used jsvc program has its own method X# to change the user, so use the variable name X# "tcuser" instead of the rcNG-"user" variable X# tomcat_javahome (str): Set to "/usr/local/jdk1.4.2" by default. X# tomcat_jvmtype (str): What JavaVM Type to use, server or client X# Default to "server" X# tomcat_catalinahome (string): Home directory of the Tomcat installation X# defaults to "/usr/local/jakarta-tomcat5.0" X# X# tomcat_catalinaopts (str): Setting system properties X# eg. "-Djava.awt.headless=true" etc. X# X# tomcat_javaopts (str): Setting non-standard options regarding X# the JVM. X# eg. "-Xms128m -Xmx128m", "-Xdebug" etc. X# X X. /etc/rc.subr X Xname="tomcat" Xrcvar=`set_rcvar` X Xtomcat_tcpidfile="/var/run/tomcat.pid" X X[ -z "$tomcat_enable" ] && tomcat_enable="NO" X[ -z "$tomcat_tcuser" ] && tomcat_tcuser="www" X[ -z "$tomcat_javahome" ] && tomcat_javahome="/usr/local/jdk1.4.2" X[ -z "$tomcat_jvmtype" ] && tomcat_jvmtype="server" X[ -z "$tomcat_catalinahome" ] && tomcat_catalinahome="/usr/local/jakarta-tomcat5.0" X Xload_rc_config $name X X# export these explizit Xexport LD_LIBRARY_PATH="$tomcat_javahome/jre/lib/i386/$tomcat_jvmtype:$tomcat_javahome/jre/lib/i386" X Xcommand="/usr/local/sbin/tomcat" Xarguments="-jvm $tomcat_jvmtype \ X -errfile /dev/null \ X -outfile $tomcat_catalinahome/logs/catalina.out \ X -pidfile $tomcat_tcpidfile \ X -user $tomcat_tcuser \ X -home $tomcat_javahome \ X -Dcatalina.home=$tomcat_catalinahome \ X -Djava.io.tmpdir=$tomcat_catalinahome/temp \ X -cp $tomcat_javahome/lib/tools.jar:$tomcat_catalinahome/bin/commons-daemon.jar:$tomcat_catalinahome/bin/bootstrap.jar" X Xbootclassfile="org.apache.catalina.startup.Bootstrap" X Xif [ -n "$tomcat_catalinaopts" ]; then X arguments="$arguments $tomcat_catalinaopts" Xfi X Xif [ -n "$tomcat_javaopts" ]; then X arguments="$arguments $tomcat_javaopts" Xfi X Xcommand_args="$arguments $bootclassfile" X Xrun_rc_command "$1" END-of-./files/tomcat.sh echo x - ./files/patch-jsvc-unix.c sed 's/^X//' >./files/patch-jsvc-unix.c << 'END-of-./files/patch-jsvc-unix.c' X--- src/native/unix/native/jsvc-unix.c.orig Sat Jun 18 15:27:16 2005 X+++ src/native/unix/native/jsvc-unix.c Sat Jun 18 15:27:55 2005 X@@ -601,6 +601,13 @@ X uid_t uid=0; X gid_t gid=0; X X+#ifdef OS_FREEBSD X+ /* to use the rcNG infrastructure properly (stopping the process), X+ it is necessary, to get atleast the processname/path X+ via the ps command. So set this via setproctitle() */ X+ setproctitle("%s", argv[0]); X+#endif /* ifdef OS_FREEBSD */ X+ X /* Parse command line arguments */ X args=arguments(argc,argv); X if (args==NULL) return(1); END-of-./files/patch-jsvc-unix.c echo x - ./Makefile sed 's/^X//' >./Makefile << 'END-of-./Makefile' X# New ports collection makefile for: Jakarta Tomcat Daemon X# Date created: May 18, 2005 X# Whom: mj@freebsd.local X# X# $FreeBSD$ X# X XPORTNAME= tomcat-daemon XPORTVERSION= 1.0.1 XCATEGORIES= sysutils java XMASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA} XMASTER_SITE_SUBDIR= commons/daemon/source XPKGNAMEPREFIX= jakarta- XDISTNAME= daemon-${PORTVERSION} X XMAINTAINER= ports@FreeBSD.org XCOMMENT= Start Jakarta Tomcat as a Unix Daemon X XGNU_CONFIGURE= yes XUSE_GMAKE= yes XNATIVE_WRKSRC= ${WRKSRC}/src/native/unix XCONFIGURE_WRKSRC= ${NATIVE_WRKSRC} X XUSE_JAVA= yes XJAVA_VERSION= 1.3+ X XCONTROL_PROGRAM=jsvc XTOMCAT_SERVICE=tomcat X XPLIST_FILES= sbin/${TOMCAT_SERVICE} \ X etc/rc.d/"${TOMCAT_SERVICE}.sh" X X.include X XCONFIGURE_ARGS+= --with-java="${JAVA_HOME}" X Xdo-build: X cd ${NATIVE_WRKSRC}/native; ${SETENV} ${MAKE_ENV} ${GMAKE} X Xdo-install: X @${ECHO_CMD} "=> Installing ${TOMCAT_SERVICE} in ${PREFIX}/sbin/" X @${INSTALL_PROGRAM} ${NATIVE_WRKSRC}/${CONTROL_PROGRAM} ${PREFIX}/sbin/${TOMCAT_SERVICE} X @${ECHO_CMD} "=> Installing ${PREFIX}/etc/rc.d/${TOMCAT_SERVICE}.sh startup script." X @${INSTALL_SCRIPT} -m 555 ${FILESDIR}/"${TOMCAT_SERVICE}.sh" ${PREFIX}/etc/rc.d/"${TOMCAT_SERVICE}.sh" X Xpost-install: X @${ECHO_CMD} "" X @${CAT} ${PKGMESSAGE} X X.include END-of-./Makefile echo x - ./distinfo sed 's/^X//' >./distinfo << 'END-of-./distinfo' XMD5 (daemon-1.0.1.tar.gz) = df3eb5aafa53ca530843a09d40b8a1c0 XSIZE (daemon-1.0.1.tar.gz) = 301023 END-of-./distinfo echo x - ./pkg-descr sed 's/^X//' >./pkg-descr << 'END-of-./pkg-descr' XRun Tomcat as Unix daemon. X XWWW: http://jakarta.apache.org/commons/daemon/ END-of-./pkg-descr echo x - ./pkg-message sed 's/^X//' >./pkg-message << 'END-of-./pkg-message' XTo run tomcat server from startup, add tomcat_enable="YES" Xin your /etc/rc.conf or /etc/rc.conf.local XExtra options can be found in startup script. END-of-./pkg-message exit