Date: Wed, 23 Feb 2005 16:48:20 +0100 (CET) From: Jean-Baptiste Quenot <jb.quenot@caraldi.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/77989: Maintainer update: www/resin3 updated to 3.0.11 Message-ID: <20050223154820.82BBB60F2@vision.anyware> Resent-Message-ID: <200502231550.j1NFoLth024696@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 77989 >Category: ports >Synopsis: Maintainer update: www/resin3 updated to 3.0.11 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Wed Feb 23 15:50:21 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Jean-Baptiste Quenot >Release: FreeBSD 5.3-RELEASE i386 >Organization: >Environment: System: FreeBSD vision.anyware 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Fri Nov 5 04:19:18 UTC 2004 root@harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: This is an update of www/resin3 to version 3.0.11. It also replaces Resin's perl wrapper with a new python control script and an rc-ng startup script. Note that a patch has been removed: files/patch-wrapper. >How-To-Repeat: >Fix: diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/Makefile ./Makefile --- /usr/ports/www/resin3/Makefile Thu Oct 14 08:37:41 2004 +++ ./Makefile Mon Feb 21 15:21:28 2005 @@ -2,11 +2,11 @@ # Whom: Jean-Baptiste Quenot <jb.quenot@caraldi.com> # Date Created: 2003-09-29 14:17:14 # -# $FreeBSD: ports/www/resin3/Makefile,v 1.7 2004/10/14 06:37:41 vanilla Exp $ +# $FreeBSD: ports/www/resin3/Makefile,v 1.6 2004/06/24 07:43:26 vs Exp $ # PORTNAME= resin -PORTVERSION= 3.0.9 +PORTVERSION= 3.0.11 CATEGORIES= www java MASTER_SITES= http://www.caucho.com/download/ @@ -15,8 +15,7 @@ USE_JAVA= 1.2+ HAS_CONFIGURE= yes -USE_GMAKE= yes -USE_PERL5_RUN= yes +USE_PYTHON= yes USE_REINPLACE= yes # Customizable settings @@ -33,11 +32,11 @@ APP_HOME?= ${PREFIX}/${APP_NAME} WITH_APACHE?= NO WITH_APACHE2?= NO -PID_FILE?= /var/run/${APP_NAME}.pid +PID_FILE?= ${APP_HOME}/${APP_NAME}.pid +LOG_FILE?= ${APP_HOME}/${APP_NAME}.log # Other settings APXS?= ${LOCALBASE}/sbin/apxs -MOD_DIR?= `${APXS} -q LIBEXECDIR` PKGINSTALL= ${WRKDIR}/pkg-install PKGDEINSTALL= ${WRKDIR}/pkg-deinstall PKGMESSAGE= ${WRKDIR}/pkg-message @@ -51,9 +50,9 @@ ${FILESDIR}/install.sh \ ${FILESDIR}/pkg-message.in \ ${WRKSRC}/conf/resin.conf \ - ${WRKSRC}/bin/wrapper.pl.in \ + ${FILESDIR}/resinctl \ ${FILESDIR}/resin.sh.in -COPYDIRS= lib webapps +COPYDIRS= lib libexec webapps .include <bsd.port.pre.mk> @@ -88,14 +87,6 @@ PLIST_SUB+= APP_NAME=${APP_NAME} PLIST_SUB+= APXS=${APXS} -.if ((defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)) \ -|| (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES))) -LIBEXECDIR!= ${APXS} -q LIBEXECDIR -SYSCONFDIR!= ${APXS} -q SYSCONFDIR -CONFIGURE_ARGS+= --with-apache-libexec=${LIBEXECDIR} -CONFIGURE_ARGS+= --with-apache-conf=${SYSCONFDIR} -.endif - SUBSTITUTIONS= -e "s|%%APP_HOME%%|${APP_HOME}|g" \ -e "s|%%APP_NAME%%|${APP_NAME}|g" \ -e "s|%%APXS%%|${APXS}|g" \ @@ -104,7 +95,9 @@ -e "s|%%GROUP%%|${GROUP}|g" \ -e "s|%%GID%%|${GID}|g" \ -e "s|%%JAVA_HOME%%|${JAVA_HOME}|g" \ - -e "s|%%PERL%%|${PERL}|g" \ + -e "s|%%JAVA%%|${JAVA}|g" \ + -e "s|%%LOG_FILE%%|${LOG_FILE}|g" \ + -e "s|%%PYTHON_CMD%%|${PYTHON_CMD}|g" \ -e "s|%%PID_FILE%%|${PID_FILE}|g" \ -e "s|%%PORT%%|${PORT}|g" \ -e "s|%%PORTNAME%%|${PORTNAME}|g" \ @@ -116,39 +109,38 @@ post-patch: .for FILE in ${REINPLACE_FILES} - @${REINPLACE_CMD} ${SUBSTITUTIONS} ${FILE} + @${REINPLACE_CMD} ${SUBSTITUTIONS} ${FILE} .endfor .for FILE in ${REPLACE_FILES} - @${SED} ${SUBSTITUTIONS} ${FILE} > ${WRKDIR}/`basename ${FILE}` + @${SED} ${SUBSTITUTIONS} ${FILE} > ${WRKDIR}/`basename ${FILE}` .endfor - @fmt -w 80 < ${WRKDIR}/pkg-message.in > ${PKGMESSAGE} + @fmt -w 80 < ${WRKDIR}/pkg-message.in > ${PKGMESSAGE} .if (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES) || \ defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)) - @${ECHO_CMD} >> ${PKGMESSAGE} - @${ECHO_CMD} The Resin Apache module mod_caucho has been activated \ - in the Apache configuration file, where you should also \ - add a line to specify the location of the Resin configuration \ - server, for example: | fmt -w 80 >> ${PKGMESSAGE} - @${ECHO_CMD} >> ${PKGMESSAGE} - @${ECHO_CMD} "<IfModule mod_caucho.c>" >> ${PKGMESSAGE} + @${ECHO_CMD} >> ${PKGMESSAGE} + @${ECHO_CMD} The Resin Apache module mod_caucho has been activated \ + in the Apache configuration file, where you should also \ + add a line to specify the location of the Resin configuration \ + server, for example: | fmt -w 80 >> ${PKGMESSAGE} + @${ECHO_CMD} >> ${PKGMESSAGE} + @${ECHO_CMD} "<IfModule mod_caucho.c>" >> ${PKGMESSAGE} .if (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES)) - @${ECHO_CMD} " ResinConfigServer localhost 6802" >> ${PKGMESSAGE} + @${ECHO_CMD} " ResinConfigServer localhost 6802" >> ${PKGMESSAGE} .endif .if (defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)) @${ECHO_CMD} " CauchoConfigFile ${PREFIX}/etc/${APP_NAME}/resin.xml" >> ${PKGMESSAGE} .endif @${ECHO_CMD} "</IfModule>" >> ${PKGMESSAGE} .endif - @${MV} ${WRKDIR}/wrapper.pl.in ${WRKSRC}/bin/wrapper.pl.in # Resin does not handle installation, so proceed now post-install: - @${SH} ${WRKDIR}/install.sh - @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - @${ECHO_CMD} - @${ECHO_CMD} "********************************************************************************" - @${CAT} ${PKGMESSAGE} - @${ECHO_CMD} "********************************************************************************" - @${ECHO_CMD} + @${SETENV} RUNASUSER=${RUNASUSER} GROUP=${GROUP} ${SH} ${WRKDIR}/install.sh + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + @${ECHO_CMD} + @${ECHO_CMD} "********************************************************************************" + @${CAT} ${PKGMESSAGE} + @${ECHO_CMD} "********************************************************************************" + @${ECHO_CMD} .include <bsd.port.post.mk> diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/distinfo ./distinfo --- /usr/ports/www/resin3/distinfo Thu Oct 14 08:37:41 2004 +++ ./distinfo Mon Feb 21 15:05:35 2005 @@ -1,2 +1,2 @@ -MD5 (resin-3.0.9.tar.gz) = 97a68da3582b7cd98c9e729f136abf27 -SIZE (resin-3.0.9.tar.gz) = 6326402 +MD5 (resin-3.0.11.tar.gz) = 952592162531aaf688cf0172784b1933 +SIZE (resin-3.0.11.tar.gz) = 6954237 diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/files/install.sh ./files/install.sh --- /usr/ports/www/resin3/files/install.sh Thu Jun 24 09:43:27 2004 +++ ./files/install.sh Mon Feb 21 15:05:35 2005 @@ -33,7 +33,7 @@ chmod 755 %%PREFIX%%/etc/rc.d/%%APP_NAME%%.sh echo Installed %%PREFIX%%/etc/rc.d/%%APP_NAME%%.sh -install %%WRKSRC%%/bin/wrapper.pl %%PREFIX%%/sbin/%%APP_NAME%%ctl +install %%WRKDIR%%/resinctl %%PREFIX%%/sbin/%%APP_NAME%%ctl echo Installed %%PREFIX%%/sbin/%%APP_NAME%%ctl test -d %%APP_HOME%% || mkdir %%APP_HOME%% @@ -50,4 +50,4 @@ ( cd %%WRKSRC%% && find %%COPYDIRS%% -type d -empty -delete ) echo Installing in %%APP_HOME%% -list | xargs tar -C %%WRKSRC%% -cf- | tar -C %%APP_HOME%% -xpf- +list | ( cd %%WRKSRC%% && cpio -pdm -L -R $RUNASUSER:$GROUP %%APP_HOME%% ) diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/files/patch-wrapper ./files/patch-wrapper --- /usr/ports/www/resin3/files/patch-wrapper Thu Nov 20 22:44:14 2003 +++ ./files/patch-wrapper Thu Jan 1 01:00:00 1970 @@ -1,8 +0,0 @@ ---- bin/wrapper.pl.in.orig Sat Oct 4 09:45:23 2003 -+++ bin/wrapper.pl.in Sat Oct 4 09:45:43 2003 -@@ -1,4 +1,4 @@ --#! @PERL@ -+#! %%PERL%% - # - # Copyright(c) 1998-2002 Caucho Technology - # diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/files/pkg-message.in ./files/pkg-message.in --- /usr/ports/www/resin3/files/pkg-message.in Thu Jun 24 09:43:27 2004 +++ ./files/pkg-message.in Mon Feb 21 15:05:35 2005 @@ -1,8 +1,14 @@ Resin is now installed in %%APP_HOME%% -You may want to start it using the -startup script installed as %%PREFIX%%/etc/rc.d/%%APP_NAME%%.sh and then point -your web browser to the default home page at http://localhost:%%PORT%%/ to read -the documentation and test the samples. +You may want to activate it in /etc/rc.conf: + +%%APP_NAME%%_enable="YES" + +Then start it: + +env - %%PREFIX%%/etc/rc.d/%%APP_NAME%%.sh start + +And point your web browser to the default home page at +http://localhost:%%PORT%%/ to read the documentation and test the samples. Resin configuration is located at %%PREFIX%%/etc/%%APP_NAME%%/resin.xml diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/files/resin.sh.in ./files/resin.sh.in --- /usr/ports/www/resin3/files/resin.sh.in Thu Jun 24 09:43:27 2004 +++ ./files/resin.sh.in Mon Feb 21 15:05:35 2005 @@ -1,54 +1,31 @@ #!/bin/sh # -# Resin startup script. +# $FreeBSD: ports/www/resin2/files/resin.sh.in,v 1.2 2004/07/02 22:10:15 glewis Exp $ # -# Borrowed from jakarta-tomcat41 + +# PROVIDE: %%APP_NAME%% + # -# $FreeBSD: ports/www/resin3/files/resin.sh.in,v 1.3 2004/06/24 07:43:27 vs Exp $ +# Add the following line to /etc/rc.conf to enable %%APP_NAME%%: # +# %%APP_NAME%%_enable="YES" +# + +. /etc/rc.subr + +name=%%APP_NAME%% +rcvar=`set_rcvar` + +command=%%PREFIX%%/sbin/%%APP_NAME%%ctl +command_args="$1" +pidfile=%%PID_FILE%% +procname=%%JAVA%% + +# set defaults + +%%APP_NAME%%_enable=${%%APP_NAME%%_enable:-"NO"} +%%APP_NAME%%_user=${%%APP_NAME%%_user:-"www"} +%%APP_NAME%%_group=${%%APP_NAME%%_group:-"www"} -# Determine PREFIX -if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${0##*/}\$"); then - echo "$0: Cannot determine the PREFIX" >&2 - exit 1 -fi - -# Set some variables -MYSELF=`basename $0` -ARGS="-conf $PREFIX/etc/%%APP_NAME%%/resin.xml \ --chdir \ --name %%APP_NAME%% \ --class com.caucho.server.resin.Resin \ --pid %%PID_FILE%%" -PATH=/usr/sbin:/usr/bin:/bin - -unset CLASSPATH -export JAVA_HOME=%%JAVA_HOME%% -export RESIN_HOME=$PREFIX/%%APP_NAME%% - -set -e - -case "$1" in - start) - echo -n ' ' - truncate -s 0 %%PID_FILE%% - chown %%RUNASUSER%%:%%GROUP%% %%PID_FILE%% - chmod 600 %%PID_FILE%% - su -f -m %%RUNASUSER%% -c "exec $PREFIX/sbin/%%APP_NAME%%ctl $ARGS start" \ - >/dev/null && echo -n '%%APP_NAME%%' - ;; - - stop) - echo -n ' ' - chown %%RUNASUSER%%:%%GROUP%% %%PID_FILE%% - chmod 600 %%PID_FILE%% - su -f -m %%RUNASUSER%% -c "exec $PREFIX/sbin/%%APP_NAME%%ctl $ARGS stop" \ - >/dev/null 2>&1 ; echo -n '%%APP_NAME%%' - ;; - *) - echo "" - echo "Usage: ${MYSELF} { start | stop }" - echo "" - exit 64 - ;; -esac +load_rc_config ${name} +run_rc_command "$1" diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/files/resinctl ./files/resinctl --- /usr/ports/www/resin3/files/resinctl Thu Jan 1 01:00:00 1970 +++ ./files/resinctl Mon Feb 21 15:19:48 2005 @@ -0,0 +1,190 @@ +#! %%PYTHON_CMD%% + +################################################################################ +# Author: Jean-Baptiste Quenot <jb.quenot@caraldi.com> +# Purpose: Manage resin pid file and log files +# Date Created: 2005-01-21 15:43:19 +# Revision: $FreeBSD: ports/www/cocoon/files/cocoonctl,v 1.1 2004/07/01 22:30:19 glewis Exp $ +################################################################################ +# Copyright (c) 2004, Jean-Baptiste Quenot <jb.quenot@caraldi.com> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * The name of the contributors may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +################################################################################ +# +# Files handled by this script (pid file, log files) must reside in a writable +# directory, ie the directory must be owned by the user running the program. + +import sys, os, signal, time, stat, re + +def classpath(): + classpath = [] + resin_libdir = APP_HOME + "/lib" + java_libdir = os.environ['JAVA_HOME'] + "/lib" + for libdir in [resin_libdir, java_libdir]: + for file in os.listdir(libdir): + if re.search("\.jar$", file): + classpath.append(libdir + "/" + file) + return ':'.join(classpath) + +# -socketwait 12345 +# -stdout $APP_HOME/log/stdout.log +# -stderr $APP_HOME/log/stderr.log + +def readProcessId(): + f = open(PID_FILE, 'r') + pid = int(f.readline()) + f.close() + return pid + +def isProgramRunning(pid): + # Send a dummy signal to the process. If it died, an exception is + # thrown + try: + os.kill(pid, signal.SIGCONT) + return 1 + except OSError: + return 0 + +def usage(): + print >> sys.stderr, "Usage: %s {start|stop|restart}" % sys.argv[0] + +def start(): + cwd = os.getcwd() + if os.path.exists(PID_FILE): + # Read the process id + pid = readProcessId() + + if isProgramRunning(pid): + print >> sys.stderr, '%s already started' % APP_NAME + sys.exit(3) + + if not(os.path.exists(COMMAND)): + print >> sys.stderr, '%s cannot be found' % COMMAND + sys.exit(3) + + # Append program output to a log file + l = open(LOG_FILE, 'a') + orig_stderr = os.dup(sys.stderr.fileno()) + os.dup2(l.fileno(), sys.stdout.fileno()) + os.dup2(l.fileno(), sys.stderr.fileno()) + + finfo = os.stat(COMMAND)[stat.ST_MODE] + executable = stat.S_IMODE(finfo) & 0111 + if not(executable): + sys.stderr = os.fdopen(orig_stderr, 'w') + print >> sys.stderr, 'Cannot run %s, execute bit is missing' % COMMAND + sys.exit(5) + + if APP_HOME: + # Change current directory to APP_HOME + os.chdir(APP_HOME) + + # Start program in the background + pid = os.spawnv(os.P_NOWAIT, COMMAND, ARGS) + + # Wait a little + time.sleep(.4) + (unused_pid, status) = os.waitpid(pid, os.WNOHANG) + + # Check program exit status, if available + if unused_pid != 0 and os.WIFEXITED(status): + sys.stderr = os.fdopen(orig_stderr, 'w') + print >> sys.stderr, 'Could not start %s. Check %s for errors.' % (APP_NAME, LOG_FILE) + sys.exit(2) + + # It's alive, so write down the process id + os.chdir(cwd) + f = open(PID_FILE, 'w') + print >> f, pid + f.close() + +def warnNotRunning(): + if sys.argv[1] == "stop": + print >> sys.stderr, '%s is not running' % APP_NAME + else: + print >> sys.stderr, 'Warning: %s was not running' % APP_NAME + +def cleanup(): + os.unlink(PID_FILE) + +def stop(): + if os.path.exists(PID_FILE): + # Read the process id + pid = readProcessId() + else: + warnNotRunning() + return + + if not(isProgramRunning(pid)): + warnNotRunning() + cleanup() + return + + # Terminate program + os.kill(pid, signal.SIGTERM) + + while isProgramRunning(pid): + time.sleep(.1) + + cleanup() + +if __name__ == '__main__': + LOG_FILE = "%%LOG_FILE%%" + APP_NAME = "%%APP_NAME%%" + APP_HOME = "%%APP_HOME%%" + CONTROL_PROGRAM = "%%APP_NAME%%ctl" + PID_FILE = "%%PID_FILE%%" + COMMAND = "%%JAVA%%" + ARGS = [COMMAND] + + if os.environ.has_key('JAVA_OPTS'): + ARGS += os.environ['JAVA_OPTS'].split(" ") + + ARGS += [ + "-Dresin.home=%%APP_HOME%%", + "-Djava.util.logging.manager=com.caucho.log.LogManagerImpl", + "com.caucho.server.resin.Resin", + "-conf", "%%PREFIX%%/etc/%%APP_NAME%%/resin.xml" + ] + + os.environ['JAVA_HOME'] = "%%JAVA_HOME%%" + os.environ['CLASSPATH'] = classpath() + + if len(sys.argv) != 2: + usage() + sys.exit(1) + + if sys.argv[1] == "start": + start() + + elif sys.argv[1] == "stop": + stop() + + elif sys.argv[1] == "restart": + stop() + start() + + else: + usage() + sys.exit(1) diff --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin3/pkg-plist ./pkg-plist --- /usr/ports/www/resin3/pkg-plist Thu Oct 14 08:37:41 2004 +++ ./pkg-plist Mon Feb 21 15:47:03 2005 @@ -1,5 +1,7 @@ %%APP_NAME%%/lib/LICENSE.isorelax %%APP_NAME%%/lib/LICENSE.retroweaver +%%APP_NAME%%/lib/aopalliance.jar +%%APP_NAME%%/lib/boot.jar %%APP_NAME%%/lib/ejb-20.jar %%APP_NAME%%/lib/ejb-30.jar %%APP_NAME%%/lib/isorelax.jar @@ -14,10 +16,13 @@ %%APP_NAME%%/lib/portlet-10.jar %%APP_NAME%%/lib/resin-jdk15.jar %%APP_NAME%%/lib/resin.jar +%%APP_NAME%%/lib/resinboot.jar %%APP_NAME%%/lib/retroweaver.jar +%%APP_NAME%%/lib/saaj.jar %%APP_NAME%%/lib/webutil.jar %%APP_NAME%%/webapps/ROOT/index.jsp %%APP_NAME%%/webapps/resin-doc.war +%%APP_NAME%%/libexec/libresin_os.so etc/%%APP_NAME%%/app-default.xml etc/rc.d/%%APP_NAME%%.sh sbin/%%APP_NAME%%ctl @@ -27,6 +32,7 @@ @dirrm %%APP_NAME%%/lib @dirrm %%APP_NAME%%/webapps/ROOT @dirrm %%APP_NAME%%/webapps +@dirrm %%APP_NAME%%/libexec @dirrm %%APP_NAME%% @unexec if cmp -s %D/etc/%%APP_NAME%%/resin.xml %D/etc/%%APP_NAME%%/resin.xml-dist; then rm -f %D/etc/%%APP_NAME%%/resin.xml ; else echo If permanently deleting this package, %D/etc/%%APP_NAME%%/resin.xml must be removed manually; fi etc/%%APP_NAME%%/resin.xml-dist >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050223154820.82BBB60F2>