SHA256
1
0
forked from pool/tomcat10
Michele Bussolotto 2023-11-16 10:53:44 +00:00 committed by Git OBS Bridge
parent cf3fb54530
commit 74b5e19bb0

View File

@ -16,7 +16,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define software_name tomcat
%define app_name tomcat
%define jspspec_major 3
%define jspspec_minor 1
%define jspspec %{jspspec_major}.%{jspspec_minor}
@ -34,64 +34,64 @@
%define java_version %{java_major}.%{java_minor}
%define packdname apache-tomcat-%{version}-src
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
%global basedir /srv/tomcat
%global basedir /srv/%{app_name}
%define appdir %{basedir}/webapps
%define bindir %{_datadir}/tomcat/bin
%define confdir %{_sysconfdir}/tomcat
%define homedir %{_datadir}/tomcat
%define libdir %{_javadir}/tomcat
%define logdir %{_localstatedir}/log/tomcat
%define cachedir %{_localstatedir}/cache/tomcat
%define bindir %{_datadir}/%{app_name}/bin
%define confdir %{_sysconfdir}/%{app_name}
%define homedir %{_datadir}/%{app_name}
%define libdir %{_javadir}/%{app_name}
%define logdir %{_localstatedir}/log/%{app_name}
%define cachedir %{_localstatedir}/cache/%{app_name}
%define tempdir %{cachedir}/temp
%define workdir %{cachedir}/work
%define tomcatappdir %{_datadir}/tomcat/tomcat-webapps
%define serverxmltool %{_libexecdir}/tomcat/serverxml-tool.sh
%define tomcatappdir %{_datadir}/%{app_name}/%{app_name}-webapps
%define serverxmltool %{_libexecdir}/%{app_name}/serverxml-tool.sh
%define javac_target 11
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
Name: tomcat%{major_version}
Name: %{app_name}%{major_version}
Version: %{major_version}.%{minor_version}.%{micro_version}
Release: 0
Summary: Apache Servlet/JSP/EL Engine, RI for Servlet %{servletspec}/JSP %{jspspec}/EL %{elspec} API
License: Apache-2.0
Group: Productivity/Networking/Web/Servers
URL: https://tomcat.apache.org
Source0: https://archive.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz
Source1: tomcat.conf
Source3: tomcat.sysconfig
Source4: tomcat.wrapper
Source5: tomcat.logrotate
Source6: tomcat-digest.script
Source7: tomcat-tool-wrapper.script
Source11: tomcat.service
Source20: tomcat-jsvc.service
Source21: tomcat-functions
Source30: tomcat-preamble
Source31: tomcat-server
Source32: tomcat-named.service
Source33: tomcat-serverxml-tool.tar.gz
Source34: tomcat-serverxml-tool.sh.in
Source1000: tomcat-rpmlintrc
Source1001: https://archive.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc
Source1002: tomcat.keyring
Source0: https://archive.apache.org/dist/%{app_name}/%{app_name}-%{major_version}/v%{version}/src/%{packdname}.tar.gz
Source1: %{app_name}.conf
Source3: %{app_name}.sysconfig
Source4: %{app_name}.wrapper
Source5: %{app_name}.logrotate
Source6: %{app_name}-digest.script
Source7: %{app_name}-tool-wrapper.script
Source11: %{app_name}.service
Source20: %{app_name}-jsvc.service
Source21: %{app_name}-functions
Source30: %{app_name}-preamble
Source31: %{app_name}-server
Source32: %{app_name}-named.service
Source33: %{app_name}-serverxml-tool.tar.gz
Source34: %{app_name}-serverxml-tool.sh.in
Source1000: %{app_name}-rpmlintrc
Source1001: https://archive.apache.org/dist/%{app_name}/%{app_name}-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc
Source1002: %{app_name}.keyring
#PATCH-FIX-UPSTREAM: from jpackage.org package
Patch0: tomcat-bootstrap-MANIFEST.MF.patch
Patch0: %{app_name}-bootstrap-MANIFEST.MF.patch
#PATCH-FIX-UPSTREAM: from jpackage.org package
Patch1: tomcat-tomcat-users-webapp.patch
Patch1: %{app_name}-%{app_name}-users-webapp.patch
# PATCH-FIX-SLE: Change security manager default policies bnc#891264
Patch2: tomcat-sle.catalina.policy.patch
Patch2: %{app_name}-sle.catalina.policy.patch
# PATCH-FIX-OPENSUSE: build javadoc with the same java source level as the class files
Patch3: tomcat-javadoc.patch
Patch3: %{app_name}-javadoc.patch
# PATCH-FIX-OPENSUSE: include all necessary aqute-bnd jars
Patch4: tomcat-osgi-build.patch
Patch4: %{app_name}-osgi-build.patch
# PATCH-FIX-OPENSUSE: build against our ecj that does not have CompilerOptions.VERSION_16
Patch5: tomcat-jdt.patch
Patch5: %{app_name}-jdt.patch
# PATCH-FIX-OPENSUSE: set ajp connector secreteRequired to false by default to avoid tomcat not starting
Patch6: tomcat-secretRequired-default.patch
Patch7: tomcat-fix_catalina.patch
Patch8: tomcat-logrotate_everything.patch
Patch6: %{app_name}-secretRequired-default.patch
Patch7: %{app_name}-fix_catalina.patch
Patch8: %{app_name}-logrotate_everything.patch
BuildRequires: ant >= 1.10.2
BuildRequires: ant-antlr
BuildRequires: apache-commons-collections
@ -135,7 +135,7 @@ Requires(pre): shadow
Requires: libtcnative-1-0 >= 1.2.38
Requires: logrotate
BuildArch: noarch
Conflicts: tomcat
Conflicts: %{app_name}
%description
Tomcat is the servlet container that is used in the official Reference
@ -149,7 +149,7 @@ ATTENTION: This tomcat is built with java %{java_version}.
Summary: The host manager and manager web applications for Apache Tomcat
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}-%{release}
Conflicts: tomcat-admin-webapps
Conflicts: %{app_name}-admin-webapps
%description admin-webapps
The host manager and manager web-based applications for Apache Tomcat.
@ -157,7 +157,7 @@ The host manager and manager web-based applications for Apache Tomcat.
%package embed
Summary: Libraries for Embedding Apache Tomcat
Group: Productivity/Networking/Web/Servers
Conflicts: tomcat-embed
Conflicts: %{app_name}-embed
%description embed
Embeddeding support (various libraries) for Apache Tomcat.
@ -166,7 +166,7 @@ Embeddeding support (various libraries) for Apache Tomcat.
Summary: The "docs" web application for Apache Tomcat
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}-%{release}
Conflicts: tomcat-docs-webapp
Conflicts: %{app_name}-docs-webapp
%description docs-webapp
The documentation of web application for Apache Tomcat.
@ -176,12 +176,12 @@ Summary: Expression Language v%{elspec} API
Group: Development/Libraries/Java
Requires(post): update-alternatives
Requires(preun):update-alternatives
Provides: tomcat-el-%{elspec}-api = %{version}-%{release}
Provides: %{app_name}-el-%{elspec}-api = %{version}-%{release}
Provides: el_%{elspec_major}_%{elspec_minor}_api = %{version}-%{release}
Provides: el_api = %{elspec}
Obsoletes: el_api < %{elspec}
Obsoletes: tomcat-el-2_2-api < %{elspec}
Conflicts: tomcat-el-3_0-api < %{elspec}
Obsoletes: %{app_name}-el-2_2-api < %{elspec}
Conflicts: %{app_name}-el-3_0-api < %{elspec}
%description el-%{elspec_major}_%{elspec_minor}-api
Expression Language API version %{elspec}.
@ -190,7 +190,7 @@ Expression Language API version %{elspec}.
Summary: Javadoc generated documentation for Apache Tomcat
Group: Documentation/HTML
BuildArch: noarch
Conflicts: tomcat-javadoc
Conflicts: %{app_name}-javadoc
%description doc
Javadoc generated documentation files for Apache Tomcat.
@ -200,12 +200,12 @@ Summary: Apache Tomcat JSP API implementation classes
Group: Productivity/Networking/Web/Servers
Requires(post): update-alternatives
Requires(postun):update-alternatives
Provides: tomcat-jsp-%{jspspec}-api
Provides: %{app_name}-jsp-%{jspspec}-api
Provides: jsp = %{jspspec}
Provides: jsp%{jspspec_major}%{jspspec_minor}
Obsoletes: jsp < %{jspspec}
Obsoletes: tomcat-jsp-2_2-api < %{jspspec}
Conflicts: tomcat-jsp-2_3-api < %{jspspec}
Obsoletes: %{app_name}-jsp-2_2-api < %{jspspec}
Conflicts: %{app_name}-jsp-2_3-api < %{jspspec}
%description jsp-%{jspspec_major}_%{jspspec_minor}-api
Apache Tomcat JSP API implementation classes version %{jspspec}
@ -215,7 +215,7 @@ Summary: Apache jsvc wrapper for Apache Tomcat as separate service
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}-%{release}
Requires: apache-commons-daemon-jsvc
Conflicts: tomcat-jsvc
Conflicts: %{app_name}-jsvc
%description jsvc
Systemd service and wrapper scripts to start tomcat with jsvc,
@ -225,15 +225,15 @@ which allows tomcat to perform some privileged operations
%package lib
Summary: Libraries needed to run the Tomcat Web container
Group: Productivity/Networking/Web/Servers
Requires: tomcat-el-%{elspec}-api = %{version}-%{release}
Requires: tomcat-jsp-%{jspspec}-api = %{version}-%{release}
Requires: tomcat-servlet-%{servletspec}-api = %{version}-%{release}
Requires: %{app_name}-el-%{elspec}-api = %{version}-%{release}
Requires: %{app_name}-jsp-%{jspspec}-api = %{version}-%{release}
Requires: %{app_name}-servlet-%{servletspec}-api = %{version}-%{release}
Requires: mvn(org.apache.tomcat:tomcat-websocket-client-api)
Requires(post): ecj >= 4.4
Requires(preun):coreutils
Provides: jakarta-commons-dbcp-tomcat5 = 1.4
Obsoletes: jakarta-commons-dbcp-tomcat5 < 1.4
Conflicts: tomcat-lib
Conflicts: %{app_name}-lib
%description lib
Libraries required to successfully run the Tomcat Web container
@ -243,14 +243,14 @@ Summary: Apache Tomcat Servlet API implementation classes
Group: Productivity/Networking/Web/Servers
Requires(post): update-alternatives
Requires(postun):update-alternatives
Provides: tomcat-servlet-%{servletspec}-api = %{version}-%{release}
Provides: %{app_name}-servlet-%{servletspec}-api = %{version}-%{release}
Provides: servlet = %{servletspec}
Provides: servlet10
Provides: servlet11
Provides: servlet60
Obsoletes: servlet < %{servletspec}
Obsoletes: tomcat-servlet-3_0-api < %{servletspec}
Obsoletes: tomcat-servlet-3_1-api < %{servletspec}
Conflicts: tomcat-servlet-4_0-api < %{servletspec}
Obsoletes: %{app_name}-servlet-3_0-api < %{servletspec}
Obsoletes: %{app_name}-servlet-3_1-api < %{servletspec}
Conflicts: %{app_name}-servlet-4_0-api < %{servletspec}
%description servlet-%{servletspec_major}_%{servletspec_minor}-api
Apache Tomcat Servlet API implementation classes version %{servletspec}
@ -260,7 +260,7 @@ Summary: ROOT and examples web applications for Apache Tomcat
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}-%{release}
Requires: jakarta-taglibs-standard >= 1.1
Conflicts: tomcat-webapps
Conflicts: %{app_name}-webapps
%description webapps
The ROOT and examples web applications for Apache Tomcat
@ -352,7 +352,7 @@ popd
# build initial path structure
install -d -m 0755 %{buildroot}%{_bindir}
install -d -m 0755 %{buildroot}%{_sbindir}
install -d -m 0755 %{buildroot}%{_javadocdir}/tomcat
install -d -m 0755 %{buildroot}%{_javadocdir}/%{app_name}
install -d -m 0755 %{buildroot}%{_initddir}
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
@ -367,12 +367,12 @@ install -d -m 0755 %{buildroot}%{libdir}
install -d -m 0775 %{buildroot}%{logdir}
/bin/touch %{buildroot}%{logdir}/catalina.out
install -d -m 0775 %{buildroot}%{_localstatedir}/lib/tomcats
/bin/echo "tomcat-%{major_version}.%{minor_version}.%{micro_version} RPM installed" >> %{buildroot}%{logdir}/catalina.out
/bin/echo "%{app_name}-%{major_version}.%{minor_version}.%{micro_version} RPM installed" >> %{buildroot}%{logdir}/catalina.out
install -d -m 0775 %{buildroot}%{homedir}
install -d -m 0775 %{buildroot}%{tempdir}
install -d -m 0775 %{buildroot}%{workdir}
install -d -m 0755 %{buildroot}%{_unitdir}
install -d -m 0755 %{buildroot}%{_libexecdir}/tomcat
install -d -m 0755 %{buildroot}%{_libexecdir}/%{app_name}
install -d -m 0755 %{buildroot}%{_fillupdir}
# move things into place
@ -389,56 +389,56 @@ pushd output/embed
popd
# doc
cp -a output/dist/webapps/docs/api/* %{buildroot}%{_javadocdir}/tomcat
cp -a output/dist/webapps/docs/api/* %{buildroot}%{_javadocdir}/%{app_name}
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
> %{buildroot}%{confdir}/tomcat.conf
> %{buildroot}%{confdir}/%{app_name}.conf
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
> %{buildroot}%{_fillupdir}/sysconfig.tomcat
> %{buildroot}%{_fillupdir}/sysconfig.%{app_name}
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE4} \
> %{buildroot}%{_sbindir}/tomcat
> %{buildroot}%{_sbindir}/%{app_name}
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE11} \
> %{buildroot}%{_unitdir}/tomcat.service
> %{buildroot}%{_unitdir}/%{app_name}.service
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE20} \
> %{buildroot}%{_unitdir}/tomcat-jsvc.service
> %{buildroot}%{_unitdir}/%{app_name}-jsvc.service
sed -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
> %{buildroot}%{_sysconfdir}/logrotate.d/tomcat10
> %{buildroot}%{_sysconfdir}/logrotate.d/%{app_name}10
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
> %{buildroot}%{_bindir}/tomcat-digest
> %{buildroot}%{_bindir}/%{app_name}-digest
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
> %{buildroot}%{_bindir}/tomcat-tool-wrapper
> %{buildroot}%{_bindir}/%{app_name}-tool-wrapper
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} \
> %{buildroot}%{_libexecdir}/tomcat/functions
> %{buildroot}%{_libexecdir}/%{app_name}/functions
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE30} \
> %{buildroot}%{_libexecdir}/tomcat/preamble
chmod 0755 %{buildroot}%{_libexecdir}/tomcat/preamble
> %{buildroot}%{_libexecdir}/%{app_name}/preamble
chmod 0755 %{buildroot}%{_libexecdir}/%{app_name}/preamble
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE31} \
> %{buildroot}%{_libexecdir}/tomcat/server
chmod 0755 %{buildroot}%{_libexecdir}/tomcat/server
> %{buildroot}%{_libexecdir}/%{app_name}/server
chmod 0755 %{buildroot}%{_libexecdir}/%{app_name}/server
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE32} \
> %{buildroot}%{_unitdir}/tomcat@.service
> %{buildroot}%{_unitdir}/%{app_name}@.service
ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rctomcat
ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rctomcat-jsvc
ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{app_name}
ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{app_name}-jsvc
# create jsp and servlet and el API symlinks
pushd %{buildroot}%{_javadir}
mv tomcat/jsp-api.jar tomcat-jsp-%{jspspec}-api.jar
ln -s tomcat-jsp-%{jspspec}-api.jar tomcat-jsp-api.jar
mv tomcat/servlet-api.jar tomcat-servlet-%{servletspec}-api.jar
ln -s tomcat-servlet-%{servletspec}-api.jar tomcat-servlet-api.jar
ln -s tomcat-servlet-%{servletspec}-api.jar tomcat-servlet.jar
mv tomcat/el-api.jar tomcat-el-%{elspec}-api.jar
ln -s tomcat-el-%{elspec}-api.jar tomcat-el-api.jar
mv %{app_name}/jsp-api.jar %{app_name}-jsp-%{jspspec}-api.jar
ln -s %{app_name}-jsp-%{jspspec}-api.jar %{app_name}-jsp-api.jar
mv %{app_name}/servlet-api.jar %{app_name}-servlet-%{servletspec}-api.jar
ln -s %{app_name}-servlet-%{servletspec}-api.jar %{app_name}-servlet-api.jar
ln -s %{app_name}-servlet-%{servletspec}-api.jar %{app_name}-servlet.jar
mv %{app_name}/el-api.jar %{app_name}-el-%{elspec}-api.jar
ln -s %{app_name}-el-%{elspec}-api.jar %{app_name}-el-api.jar
popd
pushd output/build
@ -452,9 +452,9 @@ popd
pushd %{buildroot}%{libdir}
# symlink JSP and servlet and el API jars
ln -s ../tomcat-jsp-%{jspspec}-api.jar .
ln -s ../tomcat-servlet-%{servletspec}-api.jar .
ln -s ../tomcat-el-%{elspec}-api.jar .
ln -s ../%{app_name}-jsp-%{jspspec}-api.jar .
ln -s ../%{app_name}-servlet-%{servletspec}-api.jar .
ln -s ../%{app_name}-el-%{elspec}-api.jar .
ln -s $(build-classpath commons-collections) commons-collections.jar
rm -f commons-dbcp.jar
ln -s $(build-classpath commons-dbcp2) commons-dbcp2.jar
@ -507,71 +507,71 @@ done
# we won't install dbcp, juli-adapters and juli-extras pom files
for libname in annotations-api catalina jasper-el jasper catalina-ha jaspic-api; do
%{mvn_install_pom} tomcat-$libname.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-$libname.pom
%add_maven_depmap JPP.tomcat-$libname.pom tomcat/$libname.jar
%{mvn_install_pom} %{app_name}-$libname.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-$libname.pom
%add_maven_depmap JPP.%{app_name}-$libname.pom %{app_name}/$libname.jar
done
# servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere
%{mvn_install_pom} tomcat-jsp-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f jsp-api -a "org.eclipse.jetty.orbit:jakarta.servlet.jsp"
%{mvn_install_pom} %{app_name}-jsp-api.pom %{buildroot}%{_mavenpomdir}/JPP-%{app_name}-jsp-api.pom
%add_maven_depmap JPP-%{app_name}-jsp-api.pom %{app_name}-jsp-api.jar -f jsp-api -a "org.eclipse.jetty.orbit:jakarta.servlet.jsp"
%{mvn_install_pom} tomcat-el-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-el-api.pom
%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -f el-api -a "org.eclipse.jetty.orbit:jakarta.el"
%{mvn_install_pom} %{app_name}-el-api.pom %{buildroot}%{_mavenpomdir}/JPP-%{app_name}-el-api.pom
%add_maven_depmap JPP-%{app_name}-el-api.pom %{app_name}-el-api.jar -f el-api -a "org.eclipse.jetty.orbit:jakarta.el"
%{mvn_install_pom} tomcat-servlet-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
%{mvn_install_pom} %{app_name}-servlet-api.pom %{buildroot}%{_mavenpomdir}/JPP-%{app_name}-servlet-api.pom
# Generate a depmap fragment javax.servlet:servlet-api pointing to
# tomcat-servlet-3.0-api for backwards compatibility
# also provide jetty depmap (originally in jetty package, but it's cleaner to have it here
%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-api.jar -f servlet-api -a "org.mortbay.jetty:servlet-api"
# two special pom where jar files have different names
%{mvn_install_pom} tomcat-tribes.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-catalina-tribes.pom
%add_maven_depmap JPP.tomcat-catalina-tribes.pom tomcat/catalina-tribes.jar
%{mvn_install_pom} %{app_name}-tribes.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-catalina-tribes.pom
%add_maven_depmap JPP.%{app_name}-catalina-tribes.pom %{app_name}/catalina-tribes.jar
%{mvn_install_pom} tomcat-coyote.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-coyote.pom
%add_maven_depmap JPP.tomcat-tomcat-coyote.pom tomcat/tomcat-coyote.jar
%{mvn_install_pom} %{app_name}-coyote.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-coyote.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-coyote.pom %{app_name}/%{app_name}-coyote.jar
%{mvn_install_pom} tomcat-jni.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-jni.pom
%add_maven_depmap JPP.tomcat-tomcat-jni.pom tomcat/tomcat-jni.jar
%{mvn_install_pom} %{app_name}-jni.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-jni.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-jni.pom %{app_name}/%{app_name}-jni.jar
%{mvn_install_pom} tomcat-juli.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-juli.pom
%add_maven_depmap JPP.tomcat-tomcat-juli.pom tomcat/tomcat-juli.jar
%{mvn_install_pom} %{app_name}-juli.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-juli.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-juli.pom %{app_name}/%{app_name}-juli.jar
%{mvn_install_pom} tomcat-jdbc.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-jdbc.pom
%add_maven_depmap JPP.tomcat-tomcat-jdbc.pom tomcat/tomcat-jdbc.jar
%{mvn_install_pom} %{app_name}-jdbc.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-jdbc.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-jdbc.pom %{app_name}/%{app_name}-jdbc.jar
%{mvn_install_pom} tomcat-dbcp.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-dbcp.pom
%add_maven_depmap JPP.tomcat-tomcat-dbcp.pom tomcat/tomcat-dbcp.jar
%{mvn_install_pom} %{app_name}-dbcp.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-dbcp.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-dbcp.pom %{app_name}/%{app_name}-dbcp.jar
%{mvn_install_pom} tomcat-api.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-api.pom
%add_maven_depmap JPP.tomcat-tomcat-api.pom tomcat/tomcat-api.jar
%{mvn_install_pom} %{app_name}-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-api.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-api.pom %{app_name}/%{app_name}-api.jar
%{mvn_install_pom} tomcat-util.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-util.pom
%add_maven_depmap JPP.tomcat-tomcat-util.pom tomcat/tomcat-util.jar
%{mvn_install_pom} %{app_name}-util.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-util.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-util.pom %{app_name}/%{app_name}-util.jar
%{mvn_install_pom} tomcat-util-scan.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-util-scan.pom
%add_maven_depmap JPP.tomcat-tomcat-util-scan.pom tomcat/tomcat-util-scan.jar
%{mvn_install_pom} %{app_name}-util-scan.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-util-scan.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-util-scan.pom %{app_name}/%{app_name}-util-scan.jar
%{mvn_install_pom} tomcat-websocket-api.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-websocket-api.pom
%add_maven_depmap JPP.tomcat-websocket-api.pom tomcat/websocket-api.jar
%{mvn_install_pom} %{app_name}-websocket-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-websocket-api.pom
%add_maven_depmap JPP.%{app_name}-websocket-api.pom %{app_name}/websocket-api.jar
%{mvn_install_pom} tomcat-websocket-client-api.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-websocket-client-api.pom
%add_maven_depmap JPP.tomcat-websocket-client-api.pom tomcat/websocket-client-api.jar
%{mvn_install_pom} %{app_name}-websocket-client-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-websocket-client-api.pom
%add_maven_depmap JPP.%{app_name}-websocket-client-api.pom %{app_name}/websocket-client-api.jar
%{mvn_install_pom} tomcat-websocket.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-websocket.pom
%add_maven_depmap JPP.tomcat-tomcat-websocket.pom tomcat/tomcat-websocket.jar
%{mvn_install_pom} %{app_name}-websocket.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-websocket.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-websocket.pom %{app_name}/%{app_name}-websocket.jar
%{mvn_install_pom} tomcat-embed-core.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-embed-core.pom
%add_maven_depmap JPP.tomcat-tomcat-embed-core.pom tomcat/tomcat-embed-core.jar -f embed
%{mvn_install_pom} %{app_name}-embed-core.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-embed-core.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-embed-core.pom %{app_name}/%{app_name}-embed-core.jar -f embed
%{mvn_install_pom} tomcat-embed-el.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-embed-el.pom
%add_maven_depmap JPP.tomcat-tomcat-embed-el.pom tomcat/tomcat-embed-el.jar -f embed
%{mvn_install_pom} %{app_name}-embed-el.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-embed-el.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-embed-el.pom %{app_name}/%{app_name}-embed-el.jar -f embed
%{mvn_install_pom} tomcat-embed-jasper.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-embed-jasper.pom
%add_maven_depmap JPP.tomcat-tomcat-embed-jasper.pom tomcat/tomcat-embed-jasper.jar -f embed
%{mvn_install_pom} %{app_name}-embed-jasper.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-embed-jasper.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-embed-jasper.pom %{app_name}/%{app_name}-embed-jasper.jar -f embed
%{mvn_install_pom} tomcat-embed-websocket.pom %{buildroot}%{_mavenpomdir}/JPP.tomcat-tomcat-embed-websocket.pom
%add_maven_depmap JPP.tomcat-tomcat-embed-websocket.pom tomcat/tomcat-embed-websocket.jar -f embed
%{mvn_install_pom} %{app_name}-embed-websocket.pom %{buildroot}%{_mavenpomdir}/JPP.%{app_name}-%{app_name}-embed-websocket.pom
%add_maven_depmap JPP.%{app_name}-%{app_name}-embed-websocket.pom %{app_name}/%{app_name}-embed-websocket.jar -f embed
# replace temporary copy with link
ln -s -f %{bindir}/tomcat-juli.jar %{buildroot}%{libdir}/
@ -584,25 +584,24 @@ ln -s %{cachedir}/Catalina %{buildroot}/%{confdir}/
# bnc#418664
install -d -m 0755 %{buildroot}/%{_sysconfdir}/ant.d/
echo "tomcat/catalina-ant" > %{buildroot}/%{_sysconfdir}/ant.d/catalina-ant
%fdupes %{buildroot} /srv/tomcat
%fdupes %{buildroot} /srv/%{app_name}
#bnc#565901
ln -sf %{_sbindir}/tomcat %{buildroot}/%{bindir}/catalina.sh
ln -sf %{_sbindir}/%{app_name} %{buildroot}/%{bindir}/catalina.sh
# Install update-alternatives content
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
ln -s -f %{_sysconfdir}/alternatives/el_api %{buildroot}%{_javadir}/tomcat-el_api.jar
ln -s -f %{_sysconfdir}/alternatives/jsp %{buildroot}%{_javadir}/tomcat-jsp.jar
ln -s -f %{_sysconfdir}/alternatives/el_api %{buildroot}%{_javadir}/%{app_name}-el_api.jar
ln -s -f %{_sysconfdir}/alternatives/jsp %{buildroot}%{_javadir}/%{app_name}-jsp.jar
# To avoid conflicts with servletapi4 and servletapi5 create a link to incorrect /etc/alternatives/servlet.jar.
# It will be changed anyways to the correct symlink by update-alternatives.
ln -s -f %{_sysconfdir}/alternatives/servlet.jar %{buildroot}%{_javadir}/servlet.jar
# Install tool used to edit server.xml
pushd %{_builddir}/tomcat-serverxml-tool
cat %{SOURCE34} | sed 's#@LIBEXECDIR@#%{_libexecdir}#g' >tomcat-serverxml-tool.sh
install -m 0755 tomcat-serverxml-tool.sh \
%{buildroot}%{_libexecdir}/tomcat/serverxml-tool.sh
cp serverxmltool.jar %{buildroot}%{_libexecdir}/tomcat/
%{buildroot}%{_libexecdir}/%{app_name}/serverxml-tool.sh
cp serverxmltool.jar %{buildroot}%{_libexecdir}/%{app_name}/
popd
%pre
@ -610,60 +609,59 @@ popd
getent group tomcat >/dev/null || %{_sbindir}/groupadd -r tomcat
getent passwd tomcat >/dev/null || %{_sbindir}/useradd -c "Apache Tomcat" \
-g tomcat -s /sbin/nologin -r -d %{homedir} tomcat
%service_add_pre tomcat.service
%service_add_pre %{app_name}.service
%post
%service_add_post tomcat.service
%{fillup_only tomcat}
%service_add_post %{app_name}.service
%{fillup_only %{app_name}}
%preun
%service_del_preun tomcat.service
%service_del_preun %{app_name}.service
%postun
%service_del_postun tomcat.service
%service_del_postun %{app_name}.service
%pre jsvc
%service_add_pre tomcat-jsvc.service
%service_add_pre %{app_name}-jsvc.service
%post jsvc
%service_add_post tomcat-jsvc.service
%service_add_post %{app_name}-jsvc.service
%preun jsvc
%service_del_preun tomcat-jsvc.service
%service_del_preun %{app_name}-jsvc.service
%postun jsvc
%service_del_postun tomcat-jsvc.service
%service_del_postun %{app_name}-jsvc.service
%post el-%{elspec_major}_%{elspec_minor}-api
update-alternatives --install %{_javadir}/tomcat-el_api.jar el_api %{_javadir}/tomcat-el-%{elspec}-api.jar 20300
update-alternatives --install %{_javadir}/%{app_name}-el_api.jar el_api %{_javadir}/%{app_name}-el-%{elspec}-api.jar 20300
%postun el-%{elspec_major}_%{elspec_minor}-api
if [ $1 -eq 0 ] ; then
update-alternatives --remove el_api %{_javadir}/tomcat-el-%{elspec}-api.jar
update-alternatives --remove el_api %{_javadir}/%{app_name}-el-%{elspec}-api.jar
fi
%post jsp-%{jspspec_major}_%{jspspec_minor}-api
update-alternatives --install %{_javadir}/tomcat-jsp.jar jsp \
%{_javadir}/tomcat-jsp-%{jspspec}-api.jar 20200
update-alternatives --install %{_javadir}/%{app_name}-jsp.jar jsp \
%{_javadir}/%{app_name}-jsp-%{jspspec}-api.jar 20200
%postun jsp-%{jspspec_major}_%{jspspec_minor}-api
if [ $1 -eq 0 ] ; then
update-alternatives --remove jsp \
%{_javadir}/tomcat-jsp-%{jspspec}-api.jar
%{_javadir}/%{app_name}-jsp-%{jspspec}-api.jar
fi
%post servlet-%{servletspec_major}_%{servletspec_minor}-api
update-alternatives --install %{_javadir}/tomcat-servlet.jar servlet \
%{_javadir}/tomcat-servlet-%{servletspec}-api.jar 30000
update-alternatives --install %{_javadir}/servlet.jar servlet \
%{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar 30000
# Fix for bsc#1092163.
# Keep the /usr/share/java/tomcat-servlet.jar symlink for compatibility.
# In case of update from an older version where /usr/share/java/tomcat-servlet.jar is an alternatives symlink
# the update-alternatives in the new version will cause a rename tomcat-servlet.jar -> servlet.jar.
# This makes sure the tomcat-servlet.jar is recreated if it's missing because of the rename.
if [ ! -f %{_javadir}/tomcat-servlet.jar ]; then
echo "Recreating symlink %{_javadir}/tomcat-servlet.jar"
ln -s %{_javadir}/tomcat-servlet-%{servletspec}-api.jar %{_javadir}/tomcat-servlet.jar
# This makes sure the %{app_name}-servlet.jar is recreated if it's missing because of the rename.
if [ ! -f %{_javadir}/%{app_name}-servlet.jar ]; then
echo "Recreating symlink %{_javadir}/%{app_name}-servlet.jar"
ln -s %{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar %{_javadir}/%{app_name}-servlet.jar
fi
%postun servlet-%{servletspec_major}_%{servletspec_minor}-api
@ -672,10 +670,10 @@ if [ $1 -eq 0 ] ; then
# servlet was removed on uninstall.
# Create a broken symlink to make sure update-alternatives works correctly and falls back
# to servletapi5 or servletapi4 if they're installed.
ln -s %{_javadir}/tomcat-servlet-%{servletspec}-api.jar %{_sysconfdir}/alternatives/servlet
ln -s %{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar %{_sysconfdir}/alternatives/servlet
fi
update-alternatives --remove servlet \
%{_javadir}/tomcat-servlet-%{servletspec}-api.jar
%{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar
fi
%post lib
@ -721,22 +719,22 @@ fi
%files
%doc {LICENSE,NOTICE,RELEASE*}
%attr(0755,root,root) %{_bindir}/tomcat-digest
%attr(0755,root,root) %{_bindir}/tomcat-tool-wrapper
%attr(0755,root,root) %{_sbindir}/tomcat
%attr(0644,root,root) %{_unitdir}/tomcat.service
%{_sbindir}/rctomcat
%attr(0644,root,root) %{_unitdir}/tomcat@.service
%attr(0755,root,root) %dir %{_libexecdir}/tomcat
%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats
%attr(0755,root,root) %{_libexecdir}/tomcat/functions
%attr(0755,root,root) %{_libexecdir}/tomcat/preamble
%attr(0755,root,root) %{_libexecdir}/tomcat/server
%attr(0755,root,root) %{_libexecdir}/tomcat/serverxml-tool.sh
%attr(0644,root,root) %{_libexecdir}/tomcat/serverxmltool.jar
%attr(0755,root,root) %{_bindir}/%{app_name}-digest
%attr(0755,root,root) %{_bindir}/%{app_name}-tool-wrapper
%attr(0755,root,root) %{_sbindir}/%{app_name}
%attr(0644,root,root) %{_unitdir}/%{app_name}.service
%{_sbindir}/rc%{app_name}
%attr(0644,root,root) %{_unitdir}/%{app_name}@.service
%attr(0755,root,root) %dir %{_libexecdir}/%{app_name}
%attr(0755,root,root) %dir %{_localstatedir}/lib/%{app_name}s
%attr(0755,root,root) %{_libexecdir}/%{app_name}/functions
%attr(0755,root,root) %{_libexecdir}/%{app_name}/preamble
%attr(0755,root,root) %{_libexecdir}/%{app_name}/server
%attr(0755,root,root) %{_libexecdir}/%{app_name}/serverxml-tool.sh
%attr(0644,root,root) %{_libexecdir}/%{app_name}/serverxmltool.jar
#bnc#565901
%{bindir}/catalina.sh
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/tomcat10
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{app_name}10
%attr(0755,root,tomcat) %dir %{basedir}
%attr(0755,root,tomcat) %dir %{confdir}
%attr(0775,root,tomcat) %dir %{appdir}
@ -753,7 +751,7 @@ fi
%{confdir}/Catalina
%attr(0755,root,tomcat) %dir %{confdir}/conf.d
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/conf.d/README
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/tomcat.conf
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/%{app_name}.conf
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/*.policy
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/*.properties
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/context.xml
@ -771,7 +769,7 @@ fi
%{homedir}/work
%{homedir}/logs
%{homedir}/conf
%attr(0644,root,tomcat) %{_fillupdir}/sysconfig.tomcat
%attr(0644,root,tomcat) %{_fillupdir}/sysconfig.%{app_name}
%files admin-webapps
%defattr(0644,root,tomcat,0755)
@ -784,31 +782,31 @@ fi
%{tomcatappdir}/docs
%files el-%{elspec_major}_%{elspec_minor}-api -f output/dist/src/res/maven/.mfiles-el-api
%{_javadir}/tomcat-el-%{elspec}-api.jar
%{_javadir}/tomcat-el-api.jar
%{libdir}/tomcat-el-%{elspec}-api.jar
%ghost %{_javadir}/tomcat-el_1_0_api.jar
%ghost %{_javadir}/tomcat-el_api.jar
%ghost %{_sysconfdir}/alternatives/tomcat-el_api.jar
%{_javadir}/%{app_name}-el-%{elspec}-api.jar
%{_javadir}/%{app_name}-el-api.jar
%{libdir}/%{app_name}-el-%{elspec}-api.jar
%ghost %{_javadir}/%{app_name}-el_1_0_api.jar
%ghost %{_javadir}/%{app_name}-el_api.jar
%ghost %{_sysconfdir}/alternatives/%{app_name}-el_api.jar
%ghost %{_sysconfdir}/alternatives/el_1_0_api
%ghost %{_sysconfdir}/alternatives/el_api
%files doc
%doc %{_javadocdir}/tomcat
%doc %{_javadocdir}/%{app_name}
%files jsp-%{jspspec_major}_%{jspspec_minor}-api -f output/dist/src/res/maven/.mfiles-jsp-api
%{_javadir}/tomcat-jsp-%{jspspec}-api.jar
%{_javadir}/tomcat-jsp-api.jar
%ghost %{_javadir}/tomcat-jsp.jar
%ghost %{_sysconfdir}/alternatives/tomcat-jsp.jar
%{_javadir}/%{app_name}-jsp-%{jspspec}-api.jar
%{_javadir}/%{app_name}-jsp-api.jar
%ghost %{_javadir}/%{app_name}-jsp.jar
%ghost %{_sysconfdir}/alternatives/%{app_name}-jsp.jar
%ghost %{_sysconfdir}/alternatives/jsp
%files lib -f output/dist/src/res/maven/.mfiles
%{libdir}
%dir %{bindir}
%{bindir}/tomcat-juli.jar
%exclude %{libdir}/tomcat-el-%{elspec}-api.jar
%exclude %{libdir}/tomcat*-embed-*.jar
%exclude %{libdir}/%{app_name}-el-%{elspec}-api.jar
%exclude %{libdir}/%{app_name}*-embed-*.jar
# bnc#418664
%dir %{_sysconfdir}/ant.d
%config(noreplace) %{_sysconfdir}/ant.d/catalina-ant
@ -818,11 +816,11 @@ fi
%files servlet-%{servletspec_major}_%{servletspec_minor}-api -f output/dist/src/res/maven/.mfiles-servlet-api
%license LICENSE
%{_javadir}/tomcat-servlet-%{servletspec}-api.jar
%{_javadir}/tomcat-servlet-api.jar
%{_javadir}/tomcat-servlet.jar
%{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar
%{_javadir}/%{app_name}-servlet-api.jar
%{_javadir}/%{app_name}-servlet.jar
%{_javadir}/servlet.jar
%ghost %{_sysconfdir}/alternatives/tomcat-servlet.jar
%ghost %{_javadir}/servlet.jar
%ghost %{_sysconfdir}/alternatives/servlet.jar
%ghost %{_sysconfdir}/alternatives/servlet
@ -835,7 +833,7 @@ fi
%files jsvc
%defattr(755,root,root,0755)
%attr(0644,root,root) %{_unitdir}/tomcat-jsvc.service
%{_sbindir}/rctomcat-jsvc
%attr(0644,root,root) %{_unitdir}/%{app_name}-jsvc.service
%{_sbindir}/rc%{app_name}-jsvc
%changelog