##
##  tomcat4.spec -- OpenPKG RPM Specification
##  Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH
##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
##  Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
##
##  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:         tomcat4
Summary:      Apache Jakarta Tomcat
URL:          http://jakarta.apache.org/
Vendor:       Apache Software Foundation
Packager:     The OpenPKG Project
Distribution: OpenPKG [EVAL]
Group:        Web
License:      Apache Software License 1.1
Version:      4.1.18
Release:      20030108

#   list of sources
Source0:      http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v%{version}/bin/jakarta-tomcat-%{version}.tar.gz
Source1:      rc.tomcat4

#   build information
Prefix:       %{l_prefix}
BuildRoot:    %{l_buildroot}
BuildPreReq:  OpenPKG, openpkg >= 20021120, JRE
PreReq:       OpenPKG, openpkg >= 20021120, JRE
AutoReq:      no
AutoReqProv:  no
Conflicts:    tomcat

%description
    Apache Jakarta Tomcat %{version} is a complete rewrite of Jserv and
    supplies the functionality of both a Servlet API 2.3 and a JSP 1.2
    compliant container.

%prep
    %setup -q -n jakarta-tomcat-%{version}

%build

%install
    rm -rf $RPM_BUILD_ROOT

    #   create installation tree
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat \
        $RPM_BUILD_ROOT%{l_prefix}/share/tomcat/doc \
        $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/log \
        $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/temp \
        $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/work

    #   unpack vendor distribution and relocate to final location
    %{l_tar} -cf - \
        bin/*.sh bin/*.jar common conf server shared webapps |\
    ( umask 022
      cd $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/
      %{l_tar} -xf - )

    #   move ${jkHome}/conf to var
    mv $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/conf \
       $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/conf

    #   provide symlink for ${jkHome}/work and ${jkHome}/conf
    ln -s \
        %{l_prefix}/var/tomcat/work \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/work
    ln -s \
        %{l_prefix}/var/tomcat/conf \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/conf

    #   patch paths for logs and temp
    %{l_shtool} subst \
        -e 's;directory="logs";directory="%{l_prefix}/var/tomcat/log";' \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/conf/server.xml
    %{l_shtool} subst \
        -e 's;"$CATALINA_BASE"/temp;%{l_prefix}/var/tomcat/temp;' \
        -e 's;"$CATALINA_BASE"/logs;%{l_prefix}/var/tomcat/log;' \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/bin/catalina.sh

    #   make scripts executable
    chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/bin/*

    #   install run-command script
    %{l_shtool} install -c -m 755 \
        -e 's;@l_prefix@;%{l_prefix};g' \
        -e 's;@l_rusr@;%{l_rusr};g' \
        -e 's;@l_rgrp@;%{l_rgrp};g' \
        %{SOURCE rc.tomcat4} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/

    #   determine package files
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
        %{l_files_std} \
        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/log' \
        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/temp' \
        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/work' \
        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/conf'

%files -f files

%clean
    rm -rf $RPM_BUILD_ROOT

%preun
    if [ $1 -eq 0 ]; then
        #   remove log files
        rm -f  $RPM_INSTALL_PREFIX/var/tomcat/log/*
        rm -rf $RPM_INSTALL_PREFIX/var/tomcat/temp/*
        rm -rf $RPM_INSTALL_PREFIX/var/tomcat/work/*
        rm -f  $RPM_INSTALL_PREFIX/var/tomcat/conf/jk2.properties.save
    fi

