]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - tomcat.spec
- up to 7.0.94
[packages/tomcat.git] / tomcat.spec
index 2e63545ed27f75ad9e1ab37b65b456215776aa0a..4b3fc1da6ba9de92fd410709ceb55482355f71b4 100644 (file)
@@ -1,23 +1,26 @@
 
 # Conditional build:
 %bcond_without javadoc         # skip building javadocs
+%bcond_without extras          # skip building extras
 
 %define                jspapiver       2.2
 %define                servletapiver   3.0
 
+%define                tomcatnatver    1.1.27
+
 # Java Commons Logging version. Must be >= 1.1.
-%define                jclver  1.1.1
+%define                jclver  1.2
 
 %include       /usr/lib/rpm/macros.java
 Summary:       Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver} API
 Summary(pl.UTF-8):     Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
 Name:          tomcat
-Version:       7.0.32
+Version:       7.0.94
 Release:       1
 License:       Apache v2.0
 Group:         Networking/Daemons/Java
 Source0:       http://www.apache.org/dist/tomcat/tomcat-7/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
-# Source0-md5: daf3de124ec09702560931e87219deb6
+# Source0-md5: ab9ce1e8190fbfed2b4843c2ca69106c
 Source1:       apache-%{name}.init
 Source2:       apache-%{name}.sysconfig
 Source3:       %{name}-build.properties
@@ -26,31 +29,38 @@ Source11:   %{name}-context-docs.xml
 Source12:      %{name}-context-manager.xml
 Source13:      %{name}-context-host-manager.xml
 Source14:      %{name}-context-examples.xml
+Source15:      %{name}.logrotate
+Source16:      log4j.properties
 Source100:     http://www.apache.org/dist/commons/logging/source/commons-logging-%{jclver}-src.tar.gz
-# Source100-md5:       e5cfa8cca13152d7545fde6b1783c60a
+# Source100-md5:       ce977548f1cbf46918e93cd38ac35163
 Patch0:                %{name}-build.xml.patch
 Patch1:                server.xml-URIEncoding-utf8.patch
 Patch2:                %{name}-LDAPUserDatabase.patch
 Patch3:                %{name}-catalina.policy-javadir.patch
 Patch4:                %{name}-userdir.patch
+Patch5:                logging.patch
+Patch6:                jcl.patch
+Patch7:                %{name}-build.patch
 Patch100:      jcl-build.xml.patch
 URL:           http://tomcat.apache.org/
 BuildRequires: ant >= 1.5.3
-BuildRequires: eclipse-jdt >= 3.2
 BuildRequires: java(JSR109)
+BuildRequires: java-avalon-framework
 BuildRequires: java-avalon-logkit
 BuildRequires: java-commons-daemon >= 1.0
 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
 BuildRequires: java-commons-pool-tomcat5
+BuildRequires: java-eclipse-jdt >= 4.4.2
 BuildRequires: java-geronimo-spec-jaxrpc
 BuildRequires: java-jdbc-mysql
 BuildRequires: java-junit
 BuildRequires: java-log4j
 BuildRequires: java-mail
-BuildRequires: jdk
+BuildRequires: jdk >= 1.6
 BuildRequires: jpackage-utils
+BuildRequires: rpm >= 4.4.9-56
 BuildRequires: rpm-javaprov
-BuildRequires: rpmbuild(macros) >= 1.553
+BuildRequires: rpmbuild(macros) >= 1.657
 BuildRequires: sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
@@ -73,12 +83,17 @@ Requires:   jpackage-utils
 Requires:      jre >= 1.2
 Requires:      jsvc
 Requires:      rc-scripts
-Suggests:      tomcat-native
+Suggests:      logrotate
+Suggests:      tomcat-native >= %{tomcatnatver}
 Provides:      group(servlet)
 Provides:      group(tomcat)
 Provides:      user(tomcat)
 Obsoletes:     apache-tomcat
 Obsoletes:     jakarta-tomcat
+%if "%{pld_release}" != "ac"
+Conflicts:     logrotate < 3.8.0
+%endif
+Conflicts:     tomcat-native < %{tomcatnatver}
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -86,8 +101,6 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define        _logdir         %{_var}/log
 %define                _vardir         %{_var}/lib/tomcat
 
-%define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
-
 %description
 Tomcat is the servlet container that is used in the official Reference
 Implementation for the Java Servlet and JavaServer Pages technologies.
@@ -108,6 +121,7 @@ Community Process.
 Summary:       The Apache Tomcat Servlet/JSP Container documentation
 Summary(pl.UTF-8):     Dokumentacja do Tomcata - kontenera Servlet/JSP
 Group:         Documentation
+Requires:      %{name} = %{version}-%{release}
 Obsoletes:     apache-tomcat-doc
 Obsoletes:     jakarta-tomcat-doc
 Obsoletes:     tomcat-doc
@@ -215,7 +229,7 @@ Biblioteki Javy zawierające serwer HTTP 1.1 dla Tomcata.
 Summary:       JSP compiler
 Summary(pl.UTF-8):     Kompilator JSP
 Group:         Libraries/Java
-Requires:      java-eclipse-jdt >= 3.2
+Requires:      java-eclipse-jdt >= 4.2.2
 Requires:      jpackage-utils
 Obsoletes:     apache-tomcat-jasper
 Obsoletes:     tomcat-jasper
@@ -254,9 +268,12 @@ javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 # Prepare java-commmons-logging sources
-mkdir -p output/extras/logging
+install -d output/extras/logging
 mv commons-logging-%{jclver}-src output/extras/logging
 cd output/extras/logging/commons-logging-%{jclver}-src
 %undos build.xml
@@ -267,33 +284,39 @@ cd -
 rm bin/*.bat
 rm bin/{startup,shutdown}.sh
 
-cp -a %{SOURCE3} build.properties
-cat >>build.properties <<EOF
-
-log4j.jar=%(find-jar log4j)
-log4j12.jar=%(find-jar log4j)
-junit.jar=%(find-jar junit)
-logkit.jar=%(find-jar avalon-logkit)
-avalon-framework-impl.jar=%(find-jar avalon-framework-impl.jar)
-avalon-framework-api.jar=%(find-jar avalon-framework-api.jar)
-servletapi.jar=$(pwd)/output/build/lib/servlet-api.jar
-EOF
+cp -p %{SOURCE3} build.properties
 
 %build
+if test ! -e build.properties.local; then
+       cat > build.properties.local <<-EOF
+       log4j.jar=$(find-jar log4j)
+       log4j12.jar=$(find-jar log4j)
+       junit.jar=$(find-jar junit)
+       logkit.jar=$(find-jar avalon-logkit)
+       avalon-framework-impl.jar=$(find-jar avalon-framework-impl.jar)
+       avalon-framework-api.jar=$(find-jar avalon-framework-api.jar)
+       servletapi.jar=$(pwd)/output/build/lib/servlet-api.jar
+       commons-logging.version=%{jclver}
+       java.7.home=%{java_home}
+       EOF
+       cat build.properties.local >> build.properties
+fi
+if grep '=$' build.properties; then
+       : Some .jar could not be found
+       exit 1
+fi
+
 export LC_ALL=en_US
 
 # Base package
-%ant \
-       -Drpm.javadir=%{_javadir} \
-       -Drpm.libdir=%{_libdir}
-
-# Extras
-mkdir -p output/extras/webservices
+%ant
 
+%if %{with extras}
+install -d output/extras/webservices
 ln -sf %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
 ln -sf %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
-
-%ant -Dcommons-logging-version=%{jclver} extras
+%ant extras
+%endif
 
 # Javadoc
 %if %{with javadoc}
@@ -310,27 +333,30 @@ CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
 # useful for constructing relative symlinks. Is there a better way?
 TOMCATDIRREV=$(echo %{_tomcatdir} | sed 's#[^/]\+#..#g;s#^/##')
 CATALINADIRREV=$(echo /var/lib/tomcat | sed 's#[^/]\+#..#g;s#^/##')
-SYSCONFDIRREV=$(echo %{_sysconfdir} | sed 's#[^/]\+#..#g;s#^/##')
 
 install -d $TOMCATDIR \
-           $CATALINADIR/temp \
-           $RPM_BUILD_ROOT%{_vardir}/webapps \
-           $RPM_BUILD_ROOT%{_vardir}/work \
-           $RPM_BUILD_ROOT%{_vardir}/conf \
-           $RPM_BUILD_ROOT%{_logdir}/tomcat \
-           $RPM_BUILD_ROOT/etc/sysconfig \
-           $RPM_BUILD_ROOT/etc/rc.d/init.d
+       $CATALINADIR/temp \
+       $RPM_BUILD_ROOT%{_vardir}/webapps \
+       $RPM_BUILD_ROOT%{_vardir}/work \
+       $RPM_BUILD_ROOT%{_logdir}/{archive/,}tomcat \
+       $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost \
+       $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d}
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
-
-cp -a conf/* $CATALINADIR/conf
-install -d $CATALINADIR/conf/Catalina/localhost
-cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
-cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
-cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
-cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
-cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+
+cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+ln -sf $CATALINADIRREV%{_sysconfdir}/%{name} $RPM_BUILD_ROOT%{_vardir}/conf
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/docs.xml
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/manager.xml
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/host-manager.xml
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
+cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+%if "%{pld_release}" == "ac"
+%{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+%endif
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
 
 cp -a bin lib webapps $TOMCATDIR
 cp -a temp $CATALINADIR
@@ -339,7 +365,6 @@ ln -sf $CATALINADIRREV%{_logdir}/tomcat $CATALINADIR/logs
 ln -sf $TOMCATDIRREV%{_logdir}/tomcat $TOMCATDIR/logs
 ln -sf $TOMCATDIRREV%{_vardir}/work $TOMCATDIR/work
 ln -sf $TOMCATDIRREV%{_vardir}/conf $TOMCATDIR/conf
-ln -sf $SYSCONFDIRREV%{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
 
 # symlinks instead of copies
 jars="commons-daemon commons-logging-api"
@@ -379,12 +404,14 @@ ln -sf %{_javadir}/tomcat-api.jar $TOMCATDIR/lib/api.jar
 
 ln -sf %{_javadir}/tomcat-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
 
+%if %{with extras}
 cp -a ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
 cp -a ../extras/catalina-jmx-remote.jar $TOMCATDIR/lib/catalina-jmx-remote.jar
 cp -a ../extras/tomcat-juli-adapters.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli-adapters.jar
 cp -a ../extras/tomcat-juli.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli.jar
 ln -sf %{_javadir}/tomcat-juli-adapters.jar $TOMCATDIR/lib/juli-adapters.jar
 ln -sf %{_javadir}/tomcat-juli.jar $TOMCATDIR/lib/juli.jar
+%endif
 
 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
@@ -392,6 +419,29 @@ ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pretrans
+# handle /var/lib/tomcat/logs -> /var/log/tomcat migration
+if [ -d %{_vardir}/logs ] && [ ! -L %{_vardir}/logs ]; then
+       mv -v %{_vardir}/logs{,.rpmsave}
+fi
+
+# migrate /var/lib/tomcat/conf to /etc/tomcat
+if [ -d %{_vardir}/conf ] && [ ! -L %{_vardir}/conf ]; then
+       if [ -d %{_sysconfdir}/%{name} ]; then
+               if [ ! -L %{_sysconfdir}/%{name} ]; then
+                       mv %{_vardir}/conf/* %{_sysconfdir}/%{name}
+                       rmdir %{_vardir}/conf 2>/dev/null || mv -v %{_vardir}/conf{,.rpmsave}
+               else
+                       mv -v %{_sysconfdir}/%{name}{,.rpmsave}
+                       mv %{_vardir}/conf %{_sysconfdir}/%{name}
+               fi
+       else
+               mv %{_vardir}/conf %{_sysconfdir}/%{name}
+       fi
+       ln -s %{_sysconfdir}/%{name} %{_vardir}/conf
+fi
+exit 0
+
 %pre
 %groupadd -g 234 -r -f tomcat
 %groupadd -g 237 -r -f servlet
@@ -419,7 +469,20 @@ fi
 %doc KEYS RELEASE-NOTES
 %attr(754,root,root) /etc/rc.d/init.d/tomcat
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
-%{_sysconfdir}/tomcat
+%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
+
+# these directory has to be writeable because /admin need to modify config
+# files and create temporary files
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}/Catalina
+%dir %{_sysconfdir}/%{name}/Catalina/localhost
+# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/catalina.policy
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.properties
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+
 %dir %{_tomcatdir}
 %dir %{_tomcatdir}/conf
 %dir %{_tomcatdir}/bin
@@ -439,71 +502,73 @@ fi
 %{_tomcatdir}/lib/jasper-el.jar
 %{_tomcatdir}/lib/jasper.jar
 %{_tomcatdir}/lib/jsp-api.jar
-%{_tomcatdir}/lib/juli-adapters.jar
-%{_tomcatdir}/lib/juli.jar
 %{_tomcatdir}/lib/mail.jar
 %{_tomcatdir}/lib/mysql-connector-java.jar
 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
 %{_tomcatdir}/lib/servlet-api.jar
 %{_tomcatdir}/lib/tomcat-jdbc.jar
 %{_tomcatdir}/lib/tomcat-coyote.jar
+%{_tomcatdir}/lib/tomcat-dbcp.jar
 %{_tomcatdir}/lib/tomcat-i18n-es.jar
 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
+%{_tomcatdir}/lib/tomcat-i18n-ru.jar
+%{_tomcatdir}/lib/tomcat7-websocket.jar
+%{_tomcatdir}/lib/websocket-api.jar
 %{_tomcatdir}/lib/util.jar
+%if %{with extras}
+%{_tomcatdir}/lib/juli-adapters.jar
+%{_tomcatdir}/lib/juli.jar
+%endif
 
 %dir %{_tomcatdir}/webapps
 
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
 %{_tomcatdir}/webapps/ROOT
 
 %{_tomcatdir}/logs
 %{_tomcatdir}/work
 %dir %attr(770,root,tomcat) %{_vardir}
-# these directory has to be writeable because /admin need to modify config
-# files and create temporary files
-%dir %attr(770,root,tomcat) %{_vardir}/conf
-%dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
-%dir %{_vardir}/conf/Catalina/localhost
-# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
 %dir %attr(770,root,tomcat) %{_vardir}/work
 %dir %attr(770,root,tomcat) %{_vardir}/webapps
 %dir %attr(770,root,tomcat) %{_vardir}/temp
 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
+%dir %attr(770,root,root) %{_logdir}/archive/tomcat
+%{_vardir}/conf
 %{_vardir}/logs
 
 %files webapp-docs
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/docs.xml
 %{_tomcatdir}/webapps/docs
 
 %files webapp-manager
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/manager.xml
 %{_tomcatdir}/webapps/manager
 
 %files webapp-host-manager
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/host-manager.xml
 %{_tomcatdir}/webapps/host-manager
 
 %files webapp-examples
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
 %{_tomcatdir}/webapps/examples
 
 %files webservices
 %defattr(644,root,root,755)
-%{_tomcatdir}/lib/catalina-ws.jar
 %{_tomcatdir}/lib/jsr109.jar
 %{_tomcatdir}/lib/jaxrpc.jar
+%if %{with extras}
+%{_tomcatdir}/lib/catalina-ws.jar
+%endif
 
+%if %{with extras}
 %files jmx
 %defattr(644,root,root,755)
 %{_tomcatdir}/lib/catalina-jmx-remote.jar
+%endif
 
 %files -n java-tomcat-jasper
 %defattr(644,root,root,755)
@@ -514,9 +579,11 @@ fi
 %defattr(644,root,root,755)
 %{_javadir}/tomcat-api.jar
 %{_javadir}/tomcat-catalina.jar
+%{_javadir}/tomcat-util.jar
+%if %{with extras}
 %{_javadir}/tomcat-juli-adapters.jar
 %{_javadir}/tomcat-juli.jar
-%{_javadir}/tomcat-util.jar
+%endif
 
 %files -n java-tomcat-coyote
 %defattr(644,root,root,755)
This page took 0.101051 seconds and 4 git commands to generate.