Summary: | jakarta-tomcat41 port breaks upgrades | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Andrew Gerweck <andy> | ||||
Component: | Individual Port(s) | Assignee: | Herve Quiroz <hq> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | ||||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Andrew Gerweck
2002-10-01 21:00:12 UTC
Responsible Changed From-To: freebsd-ports->znerd I'll handle this. Committed a change for the first request to all Tomcat, Orion and JBoss ports. See forwarded commit message below. ---- Forwarded message --- znerd 2002/10/09 15:37:56 PDT Modified files: www/jakarta-tomcat3 Makefile www/jakarta-tomcat4 Makefile www/jakarta-tomcat41 Makefile www/orion Makefile www/orion-devel Makefile java/jboss2 Makefile java/jboss3 Makefile Log: Changed target installation directory so it does not include the minor version number anymore. Bumped PORTREVISION. PR: 43565 Requested by: Andrew Gerweck <andy@gerweck.dyndns.org> Revision Changes Path 1.7 +2 -2 ports/java/jboss2/Makefile 1.7 +2 -1 ports/java/jboss3/Makefile 1.36 +2 -2 ports/www/jakarta-tomcat3/Makefile 1.41 +2 -1 ports/www/jakarta-tomcat4/Makefile 1.43 +2 -1 ports/www/jakarta-tomcat41/Makefile 1.51 +2 -1 ports/www/orion-devel/Makefile 1.50 +2 -2 ports/www/orion/Makefile This patch gives all tomcat conf files a ".pkg-dist" extension prior to installation. If there is not an existing conf file, the file without the .pkg-dist extension is installed. The working config files are not removed when pkg_delete runs. brent -- "Develop your talent, man, and leave the world something. Records are really gifts from people. To think that an artist would love you enough to share his music with anyone is a beautiful thing." -- Duane Allman State Changed From-To: open->feedback Is this PR still relevant? We are sorry for the delay. Let's sort this out now. Responsible Changed From-To: znerd->freebsd-java With znerd's permission, I'm doing a cleanup of his PRs as he is not active on the FreeBSD ports front for now. Over to the FreeBSD Java community. FYI, here is the patch for www/jakarta-tomcat41, mainly based on the patch provided by Brent Verner, any suggestion is welcome. Kang Index: Makefile =================================================================== RCS file: /home/ncvs/ports/www/jakarta-tomcat41/Makefile,v retrieving revision 1.58 diff -u -r1.58 Makefile --- Makefile 6 Dec 2004 02:35:40 -0000 1.58 +++ Makefile 10 Dec 2004 14:01:48 -0000 @@ -7,6 +7,7 @@ PORTNAME= jakarta-tomcat PORTVERSION= 4.1.31 +PORTREVISION= 1 CATEGORIES= www java MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA} MASTER_SITE_SUBDIR= tomcat-4/v${PORTVERSION}/bin @@ -52,6 +53,8 @@ ${WRKSRC}/conf/server.xml JAR_FILE= bin/bootstrap.jar WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work +CONF_EXT= sample +PLIST_SUB+= CONF_EXT=${CONF_EXT} .include <bsd.port.pre.mk> @@ -116,9 +119,19 @@ @${MKDIR} ${LOG_DIR} @${ECHO_CMD} " [ DONE ]" - @${ECHO_CMD} -n ">> Copying files to destination directory..." + @${ECHO_CMD} ">> Copying files to destination directory..." + @${CP} ${WRKDIR}/server.xml ${WRKSRC}/conf/ + @(cd ${WRKSRC};${FIND} conf -type f | ${SED} -e '/${CONF_EXT}/d') \ + | while read a; do \ + ${MV} ${WRKSRC}/$$a ${WRKSRC}/$$a.${CONF_EXT}; \ + if [ ! -e "${APP_HOME}/$$a" ]; then \ + ${ECHO_CMD} " Installing local configuration file: ${APP_HOME}/$$a"; \ + ${CP} ${WRKSRC}/$$a.${CONF_EXT} ${WRKSRC}/$$a; \ + else \ + ${ECHO_CMD} " Preserving local configuration file: ${APP_HOME}/$$a"; \ + fi; \ + done @${CP} -R ${WRKSRC}/* ${APP_HOME} - @${CP} ${WRKDIR}/server.xml ${APP_HOME}/conf/ @${ECHO_CMD} " [ DONE ]" @${ECHO_CMD} -n ">> Compiling and installing control program..." Index: pkg-plist =================================================================== RCS file: /home/ncvs/ports/www/jakarta-tomcat41/pkg-plist,v retrieving revision 1.23 diff -u -r1.23 pkg-plist --- pkg-plist 6 Dec 2004 02:35:40 -0000 1.23 +++ pkg-plist 10 Dec 2004 13:57:11 -0000 @@ -44,12 +44,12 @@ %%T%%/common/lib/naming-resources.jar %%T%%/common/lib/servlet.jar %%T%%/common/lib/tools.jar -%%T%%/conf/catalina.policy -%%T%%/conf/jk2.properties -%%T%%/conf/server-noexamples.xml.config -%%T%%/conf/server.xml -%%T%%/conf/tomcat-users.xml -%%T%%/conf/web.xml +%%T%%/conf/catalina.policy.%%CONF_EXT%% +%%T%%/conf/jk2.properties.%%CONF_EXT%% +%%T%%/conf/server-noexamples.xml.config.%%CONF_EXT%% +%%T%%/conf/server.xml.%%CONF_EXT%% +%%T%%/conf/tomcat-users.xml.%%CONF_EXT%% +%%T%%/conf/web.xml.%%CONF_EXT%% %%T%%/logs/stderr.log %%T%%/logs/stdout.log %%T%%/server/lib/catalina-ant.jar State Changed From-To: feedback->closed Patch commited. See ports/75152. State Changed From-To: closed->feedback Okay, the patch has been commited for jakarta-tomcat5, and this PR is related to jakarta-tomcat41. Shall I commit this patch also? Responsible Changed From-To: freebsd-java->hq I'll handle this. This patch might be better, with the similar changes in PR: 75152 Index: Makefile =================================================================== RCS file: /home/ncvs/ports/www/jakarta-tomcat41/Makefile,v retrieving revision 1.58 diff -u -r1.58 Makefile --- Makefile 6 Dec 2004 02:35:40 -0000 1.58 +++ Makefile 17 Dec 2004 18:16:47 -0000 @@ -7,6 +7,7 @@ PORTNAME= jakarta-tomcat PORTVERSION= 4.1.31 +PORTREVISION= 1 CATEGORIES= www java MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA} MASTER_SITE_SUBDIR= tomcat-4/v${PORTVERSION}/bin @@ -19,13 +20,15 @@ NO_BUILD= YES LATEST_LINK= ${APP_SHORTNAME} +.if !defined(NOPORTDOCS) MAN1= ${CONTROL_SCRIPT_NAME}.1 +.endif MAJOR_VER= ${PORTVERSION:R} WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} APP_HOME?= ${PREFIX}/${PKGBASE}${PORTVERSION:R} LOG_DIR= ${APP_HOME}/logs -PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} +PLIST_SUB+= T=${APP_HOME:S/^${PREFIX}\///} WWWOWN=${USER} WWWGRP=${GROUP} APP_TITLE= Jakarta Tomcat APP_SHORTNAME= tomcat${MAJOR_VER:S/.//} CONTROL_SCRIPT_NAME= ${APP_SHORTNAME}ctl @@ -52,34 +55,36 @@ ${WRKSRC}/conf/server.xml JAR_FILE= bin/bootstrap.jar WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work +CONF_EXT= sample +PLIST_SUB+= CONF_EXT=${CONF_EXT} .include <bsd.port.pre.mk> pre-patch: - @${ECHO_CMD} "Installation settings:" - @${ECHO_CMD} " Destination directory: ${APP_HOME}" - @${ECHO_CMD} " Control program location: ${CONTROL_SCRIPT}" - @${ECHO_CMD} " Startup script location: ${STARTUP_SCRIPT}" - @${ECHO_CMD} " Location of JDK: ${JAVA_HOME}" - @${ECHO_CMD} " Location of Java port: ${JAVA_PORT}" - @${ECHO_CMD} " Running as (user/group): ${USER}/${GROUP}" - @${ECHO_CMD} " HTTP port: ${HTTP_PORT}" - @${ECHO_CMD} " Shutdown listener port: ${SHUTDOWN_PORT}" - @${ECHO_CMD} " WARP port: ${WARP_PORT}" - @${ECHO_CMD} " AJP 1.3 connector port: ${AJP_1_3_PORT}" - @${ECHO_CMD} " Logfile stdout: ${STDOUT_LOG}" - @${ECHO_CMD} " Logfile stderr: ${STDERR_LOG}" - @${ECHO_CMD} " Starting after install: ${AUTO_START}" - @${ECHO_CMD} " Stop time-out: ${STOP_TIMEOUT} sec." + @${ECHO_MSG} "Installation settings:" + @${ECHO_MSG} " Destination directory: ${APP_HOME}" + @${ECHO_MSG} " Control program location: ${CONTROL_SCRIPT}" + @${ECHO_MSG} " Startup script location: ${STARTUP_SCRIPT}" + @${ECHO_MSG} " Location of JDK: ${JAVA_HOME}" + @${ECHO_MSG} " Location of Java port: ${JAVA_PORT}" + @${ECHO_MSG} " Running as (user/group): ${USER}/${GROUP}" + @${ECHO_MSG} " HTTP port: ${HTTP_PORT}" + @${ECHO_MSG} " Shutdown listener port: ${SHUTDOWN_PORT}" + @${ECHO_MSG} " WARP port: ${WARP_PORT}" + @${ECHO_MSG} " AJP 1.3 connector port: ${AJP_1_3_PORT}" + @${ECHO_MSG} " Logfile stdout: ${STDOUT_LOG}" + @${ECHO_MSG} " Logfile stderr: ${STDERR_LOG}" + @${ECHO_MSG} " Starting after install: ${AUTO_START}" + @${ECHO_MSG} " Stop time-out: ${STOP_TIMEOUT} sec." @PKG_PREFIX=${PREFIX} ${SH} pkg-install ${PKGNAME} PRE-INSTALL post-patch: - @${ECHO_CMD} -n ">> Removing unneeded files..." + @${ECHO_MSG} -n ">> Removing unneeded files..." @${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'` - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" .for f in ${REPLACE_FILES} - @${ECHO_CMD} -n ">> Customizing `basename $f`..." + @${ECHO_MSG} -n ">> Customizing `basename $f`..." @${SED} \ -e "/%%AJP_1_3_PORT%%/s//${AJP_1_3_PORT}/g" \ -e "/%%APP_HOME%%/s//${APP_HOME:S/\//\\\//g}/g" \ @@ -107,21 +112,31 @@ -e "/%%USER%%/s//${USER}/g" \ -e "/%%WARP_PORT%%/s//${WARP_PORT}/g" \ $f > ${WRKDIR}/`basename $f` - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" .endfor do-install: - @${ECHO_CMD} -n ">> Creating destination directory..." + @${ECHO_MSG} -n ">> Creating destination directory..." @${MKDIR} ${APP_HOME} @${MKDIR} ${LOG_DIR} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Copying files to destination directory..." + @${ECHO_MSG} ">> Copying files to destination directory..." + @${CP} ${WRKDIR}/server.xml ${WRKSRC}/conf/ + @(cd ${WRKSRC};${FIND} conf -type f | ${SED} -e '/${CONF_EXT}/d') \ + | while read a; do \ + ${MV} ${WRKSRC}/$$a ${WRKSRC}/$$a.${CONF_EXT}; \ + if [ ! -e "${APP_HOME}/$$a" ]; then \ + ${ECHO_MSG} " Installing local configuration file: ${APP_HOME}/$$a"; \ + ${CP} ${WRKSRC}/$$a.${CONF_EXT} ${WRKSRC}/$$a; \ + else \ + ${ECHO_MSG} " Preserving local configuration file: ${APP_HOME}/$$a"; \ + fi; \ + done @${CP} -R ${WRKSRC}/* ${APP_HOME} - @${CP} ${WRKDIR}/server.xml ${APP_HOME}/conf/ - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Compiling and installing control program..." + @${ECHO_MSG} -n ">> Compiling and installing control program..." @${SED} \ -e "/%%JAVA_ARGS%%/s//\"-Dcatalina.home=${APP_HOME:S/\//\\\//g}\",/g" \ -e "/%%JAR_ARGS%%/s//\"start\",/g" \ @@ -130,47 +145,47 @@ @${CP} ${WRKDIR}/${CONTROL_SCRIPT_NAME} ${CONTROL_SCRIPT} @${CHOWN} ${USER}:${GROUP} ${CONTROL_SCRIPT} @${CHMOD} 6754 ${CONTROL_SCRIPT} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Installing startup script..." + @${ECHO_MSG} -n ">> Installing startup script..." @${CP} ${WRKDIR}/startup.sh ${STARTUP_SCRIPT} @${CHMOD} 0544 ${STARTUP_SCRIPT} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" .if !defined(NOPORTDOCS) - @${ECHO_CMD} -n ">> Installing man pages..." + @${ECHO_MSG} -n ">> Installing man pages..." @${INSTALL_MAN} ${WRKDIR}/daemonctl.1 ${MANPREFIX}/man/man1/${CONTROL_SCRIPT_NAME}.1 - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" .endif - @${ECHO_CMD} -n ">> Creating log files..." + @${ECHO_MSG} -n ">> Creating log files..." @${INSTALL} /dev/null ${STDOUT_LOG} @${INSTALL} /dev/null ${STDERR_LOG} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Creating symlink to tools.jar..." + @${ECHO_MSG} -n ">> Creating symlink to tools.jar..." @${LN} -sf ${JAVA_HOME}/lib/tools.jar ${APP_HOME}/common/lib/tools.jar - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Fixing ownership settings..." + @${ECHO_MSG} -n ">> Fixing ownership settings..." @${CHOWN} -R ${USER}:${GROUP} ${APP_HOME} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Fixing permissions..." + @${ECHO_MSG} -n ">> Fixing permissions..." @${CHMOD} 755 `${FIND} ${APP_HOME} -type d` - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" - @${ECHO_CMD} -n ">> Creating PID file..." + @${ECHO_MSG} -n ">> Creating PID file..." @${TOUCH} ${PID_FILE} @${CHOWN} ${USER}:${GROUP} ${PID_FILE} @${CHMOD} 0600 ${PID_FILE} - @${ECHO_CMD} " [ DONE ]" + @${ECHO_MSG} " [ DONE ]" post-install: - @${ECHO_CMD} "${APP_TITLE} ${PORTVERSION} has been installed in ${APP_HOME}." - @${ECHO_CMD} "If a user should be able to use ${CONTROL_SCRIPT_NAME}, then put this user in the group ${GROUP}." + @${ECHO_MSG} "${APP_TITLE} ${PORTVERSION} has been installed in ${APP_HOME}." + @${ECHO_MSG} "If a user should be able to use ${CONTROL_SCRIPT_NAME}, then put this user in the group ${GROUP}." .if !defined(NOPORTDOCS) - @${ECHO_CMD} "Use 'man ${CONTROL_SCRIPT_NAME}' for information about starting and stopping ${APP_TITLE}." + @${ECHO_MSG} "Use 'man ${CONTROL_SCRIPT_NAME}' for information about starting and stopping ${APP_TITLE}." .endif .if ${AUTO_START} == "YES" @${CONTROL_SCRIPT} start || true Index: pkg-plist =================================================================== RCS file: /home/ncvs/ports/www/jakarta-tomcat41/pkg-plist,v retrieving revision 1.23 diff -u -r1.23 pkg-plist --- pkg-plist 6 Dec 2004 02:35:40 -0000 1.23 +++ pkg-plist 17 Dec 2004 18:11:28 -0000 @@ -1,11 +1,10 @@ @comment $FreeBSD: ports/www/jakarta-tomcat41/pkg-plist,v 1.23 2004/12/06 02:35:40 hq Exp $ -@exec mkdir %D/%%T%%/server || true -@exec mkdir %D/%%T%%/server/classes || true -@exec mkdir %D/%%T%%/server/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters ||true -@exec mkdir %D/%%T%%/shared || true -@exec mkdir %D/%%T%%/shared/classes || true -@exec mkdir %D/%%T%%/shared/lib || true -@exec mkdir %D/%%T%%/webapps/tomcat-docs/jk2/printer ||true +@unexec if cmp -s %D/%%T%%/conf/server.xml %D/%%T%%/conf/server.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/server.xml.%%CONF_EXT%%; else echo If permanently deleting this package, %D/%%T%%/conf/server.xml must be removed manually; fi +@unexec if cmp -s %D/%%T%%/conf/jk2.properties %D/%%T%%/conf/jk2.properties.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/jk2.properties; else echo If permanently deleting this package, %D/%%T%%/conf/jk2.properties must be removed manually; fi +@unexec if cmp -s %D/%%T%%/conf/server-noexamples.xml.config %D/%%T%%/conf/server-noexamples.xml.config.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/server-noexamples.xml.config; else echo If permanently deleting this package, %D/%%T%%/conf/server-noexamples.xml.config must be removed manually; fi +@unexec if cmp -s %D/%%T%%/conf/catalina.policy %D/%%T%%/conf/catalina.policy.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/catalina.policy; else echo If permanently deleting this package, %D/%%T%%/conf/server.xml must be removed manually; fi +@unexec if cmp -s %D/%%T%%/conf/tomcat-users.xml %D/%%T%%/conf/tomcat-users.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/tomcat-users.xml; else echo If permanently deleting this package, %D/%%T%%/conf/tomcat-users.xml must be removed manually; fi +@unexec if cmp -s %D/%%T%%/conf/web.xml %D/%%T%%/conf/web.xml.%%CONF_EXT%%; then rm -f %D/%%T%%/conf/web.xml; else echo If permanently deleting this package, %D/%%T%%/conf/web.xml must be removed manually; fi bin/tomcat41ctl etc/rc.d/020.jakarta-tomcat41.sh %%T%%/LICENSE @@ -44,12 +43,12 @@ %%T%%/common/lib/naming-resources.jar %%T%%/common/lib/servlet.jar %%T%%/common/lib/tools.jar -%%T%%/conf/catalina.policy -%%T%%/conf/jk2.properties -%%T%%/conf/server-noexamples.xml.config -%%T%%/conf/server.xml -%%T%%/conf/tomcat-users.xml -%%T%%/conf/web.xml +%%T%%/conf/catalina.policy.%%CONF_EXT%% +%%T%%/conf/jk2.properties.%%CONF_EXT%% +%%T%%/conf/server-noexamples.xml.config.%%CONF_EXT%% +%%T%%/conf/server.xml.%%CONF_EXT%% +%%T%%/conf/tomcat-users.xml.%%CONF_EXT%% +%%T%%/conf/web.xml.%%CONF_EXT%% %%T%%/logs/stderr.log %%T%%/logs/stdout.log %%T%%/server/lib/catalina-ant.jar @@ -1482,6 +1481,11 @@ %%T%%/webapps/webdav/index.html %%T%%/webapps/webdav/tomcat-power.gif %%T%%/webapps/webdav/tomcat.gif +@exec mkdir %D/%%T%%/server/classes || true +@exec mkdir %D/%%T%%/server/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters ||true +@exec mkdir %D/%%T%%/shared || true +@exec mkdir %D/%%T%%/shared/classes || true +@exec mkdir %D/%%T%%/shared/lib || true @exec mkdir %D/%%T%%/work || true @exec mkdir %D/%%T%%/common/classes ||true @exec chown -R %%WWWOWN%%:%%WWWGRP%% %D/%%T%%/ State Changed From-To: feedback->closed Commited. Thanks for your contribution! |