tomcat.spec 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. ##
  2. ## tomcat.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package information
  25. Name: tomcat
  26. Summary: Apache Jakarta Tomcat
  27. URL: http://jakarta.apache.org/tomcat/
  28. Vendor: Apache Software Foundation
  29. Packager: OpenPKG
  30. Distribution: OpenPKG
  31. Class: EVAL
  32. Group: Web
  33. License: Apache Software License 1.1
  34. Version: 5.5.11
  35. Release: 20050822
  36. # list of sources
  37. Source0: http://www.apache.org/dist/jakarta/tomcat-5/v%{version}/bin/jakarta-tomcat-%{version}.tar.gz
  38. Source1: rc.tomcat
  39. # build information
  40. Prefix: %{l_prefix}
  41. BuildRoot: %{l_buildroot}
  42. BuildPreReq: OpenPKG, openpkg >= 20040130
  43. PreReq: OpenPKG, openpkg >= 20040130, j2se >= 1.5
  44. AutoReq: no
  45. AutoReqProv: no
  46. %description
  47. Apache Jakarta Tomcat is the reference implementation of both a
  48. Servlet API 2.4 and JSP Specification 2.0 compliant container.
  49. %track
  50. prog tomcat = {
  51. version = %{version}
  52. url = http://www.apache.org/dist/jakarta/tomcat-5/
  53. regex = (v\d+\.\d+\.\d+)
  54. url = http://www.apache.org/dist/jakarta/tomcat-5/__NEWVER__/bin/
  55. regex = jakarta-tomcat-(\d+\.\d+\.\d+)\.tar\.gz
  56. }
  57. %prep
  58. %setup -q -n jakarta-tomcat-%{version}
  59. %build
  60. %install
  61. rm -rf $RPM_BUILD_ROOT
  62. # create installation tree
  63. %{l_shtool} mkdir -f -p -m 755 \
  64. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  65. $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat \
  66. $RPM_BUILD_ROOT%{l_prefix}/share/tomcat/doc \
  67. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/log \
  68. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/temp \
  69. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/work
  70. # unpack vendor distribution and relocate to final location
  71. %{l_tar} -cf - \
  72. bin/*.sh bin/*.jar common conf server shared webapps |\
  73. ( umask 022
  74. cd $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/
  75. %{l_tar} -xf -
  76. ) || exit $?
  77. # move ${jkHome}/conf to var
  78. mv $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/conf \
  79. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/conf
  80. # move ${jkHome}/webapps to var
  81. mv $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/webapps \
  82. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/webapps
  83. # provide symlink for ${jkHome}/{work,conf,webapps}
  84. ln -s \
  85. %{l_prefix}/var/tomcat/work \
  86. $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/work
  87. ln -s \
  88. %{l_prefix}/var/tomcat/conf \
  89. $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/conf
  90. ln -s \
  91. %{l_prefix}/var/tomcat/webapps \
  92. $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/webapps
  93. # patch paths for logs and temp
  94. %{l_shtool} -d subst \
  95. -e 's;directory="logs";directory="%{l_prefix}/var/tomcat/log";' \
  96. $RPM_BUILD_ROOT%{l_prefix}/var/tomcat/conf/server.xml
  97. %{l_shtool} subst \
  98. -e 's;"$CATALINA_BASE"/temp;%{l_prefix}/var/tomcat/temp;' \
  99. -e 's;"$CATALINA_BASE"/logs;%{l_prefix}/var/tomcat/log;' \
  100. $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/bin/catalina.sh
  101. # make scripts executable
  102. chmod 755 $RPM_BUILD_ROOT%{l_prefix}/libexec/tomcat/bin/*
  103. # install run-command script
  104. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  105. %{SOURCE rc.tomcat} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  106. # locate conf directory through /etc
  107. ln -s \
  108. %{l_prefix}/var/tomcat/conf \
  109. $RPM_BUILD_ROOT%{l_prefix}/etc/tomcat
  110. # determine package files
  111. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  112. %{l_files_std} \
  113. '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/log' \
  114. '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/temp' \
  115. '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/work' \
  116. '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/conf' \
  117. '%config %attr(644,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/tomcat/conf/*'
  118. %files -f files
  119. %clean
  120. rm -rf $RPM_BUILD_ROOT
  121. %post
  122. # after upgrade, restart service
  123. if [ $1 -eq 2 ]; then
  124. eval `%{l_rc} tomcat status 2>/dev/null`
  125. [ ".$tomcat_active" = .yes ] && %{l_rc} tomcat restart
  126. fi
  127. exit 0
  128. %preun
  129. if [ $1 -eq 0 ]; then
  130. # before erase, stop service and remove log files
  131. %{l_rc} tomcat stop 2>/dev/null
  132. rm -f $RPM_INSTALL_PREFIX/var/tomcat/log/*
  133. rm -rf $RPM_INSTALL_PREFIX/var/tomcat/temp/*
  134. rm -rf $RPM_INSTALL_PREFIX/var/tomcat/work/*
  135. rm -f $RPM_INSTALL_PREFIX/var/tomcat/conf/jk2.properties.save
  136. fi
  137. exit 0