Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
Name: apache-tomcat
Version: 5.5.27
-Release: 0.1
+Release: 0.2
License: Apache
Group: Development/Languages/Java
Source0: http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
Source1: %{name}.init
+Source2: %{name}.sysconfig
+Source10: %{name}-context-ROOT.xml
+Source11: %{name}-context-balancer.xml
+Source12: %{name}-context-jsp-examples.xml
+Source13: %{name}-context-tomcat-docs.xml
+Source14: %{name}-context-webdav.xml
Patch0: %{name}-skip-servletapi.patch
Patch1: %{name}-nsis.patch
Patch2: %{name}-native.patch
BuildRequires: ant-trax
BuildRequires: eclipse-jdt
BuildRequires: jaas
-BuildRequires: java-commons-httpclient
BuildRequires: jakarta-regexp >= 0:1.3
-#BuildRequires: java-struts >= 0:1.2.7
-BuildRequires: java-struts >= 1.0.2
BuildRequires: java-commons-beanutils >= 1.7
BuildRequires: java-commons-collections >= 0:3.1
BuildRequires: java-commons-collections-tomcat5 >= 0:3.1
BuildRequires: java-commons-digester >= 0:1.7
BuildRequires: java-commons-el >= 0:1.0
BuildRequires: java-commons-fileupload >= 0:1.0
+BuildRequires: java-commons-httpclient
BuildRequires: java-commons-io >= 1.4
BuildRequires: java-commons-launcher >= 0:0.9
BuildRequires: java-commons-logging >= 0:1.0.4
BuildRequires: java-commons-pool >= 0:1.2
BuildRequires: java-commons-pool-tomcat5 >= 0:1.2
BuildRequires: java-servletapi5 = %{version}
+#BuildRequires: java-struts >= 0:1.2.7
+BuildRequires: java-struts >= 1.0.2
BuildRequires: javamail >= 0:1.3.1
BuildRequires: jaxp_parser_impl >= 0:2.7.1
BuildRequires: jdbc-stdext >= 0:2.0
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires: %{name}-jasper = %{version}
Requires: jaas
#Requires: jaf >= 1.0.1
Requires: jakarta-regexp
Requires: jta >= 1.0.1
Requires: rc-scripts
Requires: xml-commons
-Provides: group(http)
-Provides: user(http)
+Provides: group(tomcat)
+Provides: java-servlet-container
+Provides: user(tomcat)
Obsoletes: jakarta-tomcat
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description doc -l pl.UTF-8
Dokumentacja do Tomcata - kontenera Servlet/JSP.
+%package jasper
+Summary: Jasper classes from Apache Tomcat
+Group: Libraries/Java
+
+%description jasper
+This package contains compiled classes of Apache Tomcat`s Jasper.
+
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
jspapi.build.notrequired=true
log4j.jar=$(find-jar log4j)
tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
-struts.lib=%{_datadir}/java-struts
+struts.lib=%{_javadir}-struts
EOF
%ant \
$TOMCATDIR/common/{lib,classes,endorsed} \
$TOMCATDIR/server/{lib,classes} \
$TOMCATDIR/webapps \
- $RPM_BUILD_ROOT%{_sysconfdir} \
$RPM_BUILD_ROOT%{_logdir}/tomcat \
+ $RPM_BUILD_ROOT%{_vardir}/webapps \
$RPM_BUILD_ROOT%{_vardir}/work \
+ $RPM_BUILD_ROOT%{_vardir}/conf \
+ $RPM_BUILD_ROOT/etc/sysconfig \
$RPM_BUILD_ROOT/etc/rc.d/init.d
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
-
-cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+
+cp -pR conf/* $CATALINADIR/conf
+install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
+install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
+install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
+install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
+install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
cp -HR bin common server $TOMCATDIR
cp -rf server/webapps $TOMCATDIR/server
cp -rf webapps $TOMCATDIR
cp -rf shared $TOMCATDIR
-cp -rf temp $TOMCATDIR
+cp -rf temp $CATALINADIR
-ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
+ln -sf %{_logdir}/tomcat $CATALINADIR/logs
ln -sf %{_vardir}/work $TOMCATDIR/work
-ln -sf %{_sysconfdir} $TOMCATDIR/conf
+ln -sf %{_vardir}/conf $TOMCATDIR/conf
+ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
# symlinks instead of copies
ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
+install -d $RPM_BUILD_ROOT%{_javadir}
+mv $TOMCATDIR/common/lib/jasper* $RPM_BUILD_ROOT%{_javadir}
+ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib/
+ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib/
+ln -sf %{_javadir}/jasper-compiler-runtime.jar $TOMCATDIR/common/lib/
+
%clean
rm -rf $RPM_BUILD_ROOT
%pre
-%groupadd -g 51 -r -f http
-%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
+%groupadd -g 234 -r -f tomcat
+%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
%post
/sbin/chkconfig --add tomcat
%postun
if [ "$1" = "0" ]; then
- %userremove http
- %groupremove http
+ %userremove tomcat
+ %groupremove tomcat
fi
%files
%defattr(644,root,root,755)
%doc build/{RELEASE-NOTES,RUNNING.txt}
-# tomcat wants to regenerate tomcat-users.xml
-%dir %attr(775,root,http) %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
%attr(754,root,root) /etc/rc.d/init.d/tomcat
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
+%{_sysconfdir}
%dir %{_tomcatdir}
+%dir %{_tomcatdir}/conf
%dir %{_tomcatdir}/bin
%{_tomcatdir}/bin/catalina-tasks.xml
%{_tomcatdir}/bin/jkstatus-tasks.xml
%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
%{_tomcatdir}/common/lib
-%{_tomcatdir}/conf
-%{_tomcatdir}/logs
%dir %{_tomcatdir}/server
%dir %{_tomcatdir}/server/classes
%{_tomcatdir}/server/lib
%{_tomcatdir}/webapps
%{_tomcatdir}/work
%{_tomcatdir}/shared
-%{_tomcatdir}/temp
%dir %{_vardir}
-%dir %attr(1730,root,http) %{_vardir}/work
-%dir %attr(1730,root,http) %{_logdir}/tomcat
+# tomcat config has to be writeable because of tomacta-users.xml file and
+# Catalina dir
+%config(noreplace) %attr(775,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf
+%dir %attr(1730,root,tomcat) %{_vardir}/work
+%dir %attr(775,root,tomcat) %{_vardir}/webapps
+%dir %attr(775,root,tomcat) %{_vardir}/temp
+%dir %attr(775,root,tomcat) %{_logdir}/tomcat
+%{_vardir}/logs
%if 0
%files doc
%defattr(644,root,root,755)
%doc catalina/docs/*
%endif
+
+%files jasper
+%defattr(644,root,root,755)
+%{_javadir}/jasper-compiler-jdt.jar
+%{_javadir}/jasper-compiler.jar
+%{_javadir}/jasper-runtime.jar