## ## tomcat4.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2004 The OpenPKG Project ## Copyright (c) 2000-2004 Ralf S. Engelschall ## Copyright (c) 2000-2004 Cable & Wireless ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## 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. ## # package information Name: tomcat5 Summary: Apache Jakarta Tomcat URL: http://jakarta.apache.org/ Vendor: Apache Software Foundation Packager: The OpenPKG Project Distribution: OpenPKG Class: EVAL Group: Web License: Apache Software License 1.1 Version: 5.0.25 Release: 20040517 # list of sources Source0: http://www.apache.org/dist/jakarta/tomcat-5/v%{version}/bin/jakarta-tomcat-%{version}.tar.gz Source1: rc.tomcat5 # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130 PreReq: OpenPKG, openpkg >= 20040130, JRE AutoReq: no AutoReqProv: no #Conflicts: none %option tomcatUser www %option tomcatGroup www %option tomcatAppGrp alummail %description Apache Jakarta Tomcat %{version} is a complete rewrite of Jserv and supplies the functionality of both a Servlet API 2.4 and a JSP 2.0 compliant container. %track prog tomcat5 = { version = %{version} url = http://www.apache.org/dist/jakarta/tomcat-5/ regex = (v\d+\.\d+\.\d+) url = http://www.apache.org/dist/jakarta/tomcat-5/__NEWVER__/bin/ regex = jakarta-tomcat-(\d+\.\d+\.\d+).tar.gz } %prep %setup -q -n jakarta-tomcat-%{version} %build rm -rf $RPM_BUILD_ROOT JAVA_HOME="`%{l_prefix}/etc/rc --query java_home`"; export JAVA_HOME # create installation tree %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5 \ $RPM_BUILD_ROOT%{l_prefix}/share/tomcat5/doc \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/log \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/temp \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/work # unpack vendor distribution and relocate to final location %{l_tar} -cf - \ bin/*.sh bin/*.jar bin/jsvc.tar.gz common conf server shared webapps |\ ( umask 022 cd $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/ %{l_tar} -xf - ) || exit $? # Build the daemon to run tomcat (jsvc) ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/bin %{l_tar} -zxf jsvc.tar.gz cd jsvc-src %{l_autoconf} sh ./configure --with-java=${JAVA_HOME} %{l_make} cp jsvc .. ) %install # move ${jkHome}/conf to var mv $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/conf \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/conf # move ${jkHome}/webapps to var mv $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/webapps \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/webapps # provide symlink for ${jkHome}/{work,conf,webapps} ln -s \ %{l_prefix}/var/tomcat5/work \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/work ln -s \ %{l_prefix}/var/tomcat5/conf \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/conf ln -s \ %{l_prefix}/var/tomcat5/log \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/logs ln -s \ %{l_prefix}/var/tomcat5/webapps \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/webapps # patch paths for logs and temp %{l_shtool} -d subst \ -e 's;directory="logs";directory="%{l_prefix}/var/tomcat5/log";' \ -e '13,$s;^;;' \ $RPM_BUILD_ROOT%{l_prefix}/var/tomcat5/conf/server.xml %{l_shtool} subst \ -e 's;"$CATALINA_BASE"/temp;%{l_prefix}/var/tomcat5/temp;' \ -e 's;"$CATALINA_BASE"/logs;%{l_prefix}/var/tomcat5/log;' \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/bin/catalina.sh # make scripts executable chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat5/bin/* # install run-command script %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.tomcat5} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # locate conf directory through /etc ln -s \ %{l_prefix}/libexec/tomcat5/conf \ $RPM_BUILD_ROOT%{l_prefix}/etc/tomcat5 # determine package files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/log' \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/temp' \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/work' \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/webapps' \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/conf' \ '%config %attr(660,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/conf/*' \ '%attr(2770,%{tomcatUser},%{tomcatAppGrp}) %{l_prefix}/var/tomcat5/conf/Catalina' \ %files -f files %clean rm -rf $RPM_BUILD_ROOT %post # after upgrade, restart service if [ $1 -eq 2 ]; then eval `%{l_rc} tomcat5 status 2>/dev/null` [ ".$tomcat5_active" = .yes ] && %{l_rc} tomcat5 restart fi exit 0 %preun if [ $1 -eq 0 ]; then # before erase, stop service and remove log files %{l_rc} tomcat5 stop 2>/dev/null rm -f $RPM_INSTALL_PREFIX/var/tomcat5/log/* rm -rf $RPM_INSTALL_PREFIX/var/tomcat5/temp/* rm -rf $RPM_INSTALL_PREFIX/var/tomcat5/work/* rm -f $RPM_INSTALL_PREFIX/var/tomcat5/conf/jk2.properties.save fi exit 0