From 0dd44d62b4d42e3b958bfe6145c96eaaec4b4c64 Mon Sep 17 00:00:00 2001 From: Coty Sutherland Date: Fri, 8 Jun 2018 14:57:09 -0400 Subject: [PATCH] First stab at creating the single RPM distribution for FreeIPA --- tomcat-8.5-jsvc.service | 22 - tomcat-8.5.logrotate | 8 - ... => tomcat-9.0-bootstrap-MANIFEST.MF.patch | 0 ....patch => tomcat-9.0-catalina-policy.patch | 0 ...-digest.script => tomcat-9.0-digest.script | 0 ....properties => tomcat-9.0-log4j.properties | 0 ...ch => tomcat-9.0-tomcat-users-webapp.patch | 0 ...r.script => tomcat-9.0-tool-wrapper.script | 0 tomcat-8.5.conf => tomcat-9.0.conf | 0 tomcat-8.5.service => tomcat-9.0.service | 0 tomcat-8.5.sysconfig => tomcat-9.0.sysconfig | 0 tomcat-8.5.wrapper => tomcat-9.0.wrapper | 0 tomcat.spec | 669 ++---------------- 13 files changed, 57 insertions(+), 642 deletions(-) delete mode 100644 tomcat-8.5-jsvc.service delete mode 100644 tomcat-8.5.logrotate rename tomcat-8.5-bootstrap-MANIFEST.MF.patch => tomcat-9.0-bootstrap-MANIFEST.MF.patch (100%) rename tomcat-8.5-catalina-policy.patch => tomcat-9.0-catalina-policy.patch (100%) rename tomcat-8.5-digest.script => tomcat-9.0-digest.script (100%) rename tomcat-8.5-log4j.properties => tomcat-9.0-log4j.properties (100%) rename tomcat-8.5-tomcat-users-webapp.patch => tomcat-9.0-tomcat-users-webapp.patch (100%) rename tomcat-8.5-tool-wrapper.script => tomcat-9.0-tool-wrapper.script (100%) rename tomcat-8.5.conf => tomcat-9.0.conf (100%) rename tomcat-8.5.service => tomcat-9.0.service (100%) rename tomcat-8.5.sysconfig => tomcat-9.0.sysconfig (100%) rename tomcat-8.5.wrapper => tomcat-9.0.wrapper (100%) diff --git a/tomcat-8.5-jsvc.service b/tomcat-8.5-jsvc.service deleted file mode 100644 index f480324..0000000 --- a/tomcat-8.5-jsvc.service +++ /dev/null @@ -1,22 +0,0 @@ -# Systemd unit file for tomcat -# -# To create clones of this service: -# 1) By default SERVICE_NAME=tomcat. When cloned, the value must be defined -# before tomcat-sysd is called. -# 2) Create /etc/sysconfig/${SERVICE_NAME} from /etc/sysconfig/tomcat -# to override tomcat defaults - -[Unit] -Description=Apache Tomcat Web Application Container JSVC wrapper -After=syslog.target network.target - -[Service] -Type=simple -EnvironmentFile=/etc/tomcat/tomcat.conf -Environment="NAME=" "USE_JSVC=true" -EnvironmentFile=-/etc/sysconfig/tomcat -ExecStart=/usr/libexec/tomcat/server start -ExecStop=/usr/libexec/tomcat/server stop - -[Install] -WantedBy=multi-user.target diff --git a/tomcat-8.5.logrotate b/tomcat-8.5.logrotate deleted file mode 100644 index a87b4c0..0000000 --- a/tomcat-8.5.logrotate +++ /dev/null @@ -1,8 +0,0 @@ -@@@TCLOG@@@/catalina.out { - copytruncate - weekly - rotate 52 - compress - missingok - create 0644 tomcat tomcat -} diff --git a/tomcat-8.5-bootstrap-MANIFEST.MF.patch b/tomcat-9.0-bootstrap-MANIFEST.MF.patch similarity index 100% rename from tomcat-8.5-bootstrap-MANIFEST.MF.patch rename to tomcat-9.0-bootstrap-MANIFEST.MF.patch diff --git a/tomcat-8.5-catalina-policy.patch b/tomcat-9.0-catalina-policy.patch similarity index 100% rename from tomcat-8.5-catalina-policy.patch rename to tomcat-9.0-catalina-policy.patch diff --git a/tomcat-8.5-digest.script b/tomcat-9.0-digest.script similarity index 100% rename from tomcat-8.5-digest.script rename to tomcat-9.0-digest.script diff --git a/tomcat-8.5-log4j.properties b/tomcat-9.0-log4j.properties similarity index 100% rename from tomcat-8.5-log4j.properties rename to tomcat-9.0-log4j.properties diff --git a/tomcat-8.5-tomcat-users-webapp.patch b/tomcat-9.0-tomcat-users-webapp.patch similarity index 100% rename from tomcat-8.5-tomcat-users-webapp.patch rename to tomcat-9.0-tomcat-users-webapp.patch diff --git a/tomcat-8.5-tool-wrapper.script b/tomcat-9.0-tool-wrapper.script similarity index 100% rename from tomcat-8.5-tool-wrapper.script rename to tomcat-9.0-tool-wrapper.script diff --git a/tomcat-8.5.conf b/tomcat-9.0.conf similarity index 100% rename from tomcat-8.5.conf rename to tomcat-9.0.conf diff --git a/tomcat-8.5.service b/tomcat-9.0.service similarity index 100% rename from tomcat-8.5.service rename to tomcat-9.0.service diff --git a/tomcat-8.5.sysconfig b/tomcat-9.0.sysconfig similarity index 100% rename from tomcat-8.5.sysconfig rename to tomcat-9.0.sysconfig diff --git a/tomcat-8.5.wrapper b/tomcat-9.0.wrapper similarity index 100% rename from tomcat-8.5.wrapper rename to tomcat-9.0.wrapper diff --git a/tomcat.spec b/tomcat.spec index 3ab4438..f0cee80 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -28,17 +28,18 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -%global jspspec 2.3 -%global major_version 8 -%global minor_version 5 -%global micro_version 30 -%global packdname apache-tomcat-%{version}-src -%global servletspec 3.1 -%global elspec 3.0 -%global tcuid 91 -# Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java -%global native_version 1.2.8 +%global major_version 9 +%global minor_version 0 +%global micro_version 7 +%global redhat_version 10 +%global packdname apache-tomcat-%{version}.redhat-%{redhat_version}-src +# Specification versions +%global servletspec 4.0 +%global jspspec 2.3 +%global elspec 3.0 + +%global tcuid 91 # FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/ %global basedir %{_var}/lib/%{name} @@ -54,26 +55,20 @@ %global _initrddir %{_sysconfdir}/init.d %global _systemddir /lib/systemd/system -# Fedora doesn't seem to have this macro, so we define it if it doesn't exist -%{!?_mavendepmapfragdir: %global _mavendepmapfragdir /usr/share/maven-metadata} -# Fedora 24 erroneously uses %%{_datadir}/maven-fragments instead of /maven-metadata for some reason... -# Override the mavendepmapfragdir var on fc24 -%{?fc24: %global _mavendepmapfragdir /usr/share/maven-metadata} - Name: tomcat Epoch: 1 Version: %{major_version}.%{minor_version}.%{micro_version} Release: 1%{?dist} Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API - Group: System Environment/Daemons License: ASL 2.0 URL: http://tomcat.apache.org/ -Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz + +#Source0: http://www.apache.org/dist/tomcat/tomcat-%%{major_version}/v%%{version}/src/%%{packdname}.tar.gz +Source0: tomcat-9.0.7.redhat-10-src.zip Source1: %{name}-%{major_version}.%{minor_version}.conf Source3: %{name}-%{major_version}.%{minor_version}.sysconfig Source4: %{name}-%{major_version}.%{minor_version}.wrapper -Source5: %{name}-%{major_version}.%{minor_version}.logrotate Source6: %{name}-%{major_version}.%{minor_version}-digest.script Source7: %{name}-%{major_version}.%{minor_version}-tool-wrapper.script Source8: servlet-api-OSGi-MANIFEST.MF @@ -84,7 +79,6 @@ Source13: jasper-el-OSGi-MANIFEST.MF Source14: jasper-OSGi-MANIFEST.MF Source15: tomcat-api-OSGi-MANIFEST.MF Source16: tomcat-juli-OSGi-MANIFEST.MF -Source20: %{name}-%{major_version}.%{minor_version}-jsvc.service Source21: tomcat-functions Source30: tomcat-preamble Source31: tomcat-server @@ -98,14 +92,13 @@ Patch3: disableJavadocFailOnWarning.patch BuildArch: noarch BuildRequires: ant -BuildRequires: ecj >= 1:4.4.0 +BuildRequires: ecj >= 1:4.6.3 BuildRequires: findutils BuildRequires: apache-commons-collections BuildRequires: apache-commons-daemon BuildRequires: apache-commons-dbcp BuildRequires: apache-commons-pool -BuildRequires: tomcat-taglibs-standard -BuildRequires: java-devel >= 1:1.6.0 +BuildRequires: java-devel >= 1:1.8.0 BuildRequires: jpackage-utils >= 0:1.7.0 %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 # add_maven_depmap is deprecated, using javapackages-local for now @@ -121,13 +114,12 @@ Requires: apache-commons-daemon Requires: apache-commons-collections Requires: apache-commons-dbcp Requires: apache-commons-pool -Requires: java-headless >= 1:1.6.0 +Requires: java-headless >= 1:1.8.0 Requires: jpackage-utils Requires: procps -Requires: %{name}-lib = %{epoch}:%{version}-%{release} -Recommends: tomcat-native >= %{native_version} Requires(pre): shadow-utils Requires(post): chkconfig +Requires(postun): chkconfig Requires(preun): chkconfig Requires(post): systemd-units Requires(preun): systemd-units @@ -136,6 +128,27 @@ Requires(postun): systemd-units # added after log4j sub-package was removed Provides: %{name}-log4j = %{epoch}:%{version}-%{release} +# Leftover requires/provides from removing the subpackages +# they still apply in instances where the old version is installed. + +#%%package jsp-%%{jspspec}-api +Provides: jsp = %{jspspec} +Obsoletes: %{name}-jsp-2.2-api + +#%%package lib +Requires: ecj >= 1:4.6.3 +Requires(preun): coreutils + +#%%package servlet-%%{servletspec}-api +Provides: servlet = %{servletspec} +Provides: servlet6 +Provides: servlet3 +Obsoletes: %{name}-servlet-3.0-api + +#%%package el-%%{elspec}-api +Provides: el_api = %{elspec} +Obsoletes: %{name}-el-2.2-api + %description Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. @@ -146,104 +159,9 @@ Tomcat is developed in an open and participatory environment and released under the Apache Software License version 2.0. Tomcat is intended to be a collaboration of the best-of-breed developers from around the world. -%package admin-webapps -Group: Applications/System -Summary: The host-manager and manager web applications for Apache Tomcat -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description admin-webapps -The host-manager and manager web applications for Apache Tomcat. - -%package docs-webapp -Group: Applications/Text -Summary: The docs web application for Apache Tomcat -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description docs-webapp -The docs web application for Apache Tomcat. - -%package javadoc -Group: Documentation -Summary: Javadoc generated documentation for Apache Tomcat -Requires: jpackage-utils - -%description javadoc -Javadoc generated documentation for Apache Tomcat. - -%package jsvc -Group: System Environment/Daemons -Summary: Apache jsvc wrapper for Apache Tomcat as separate service -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: apache-commons-daemon-jsvc - -%description jsvc -Systemd service to start tomcat with jsvc, -which allows tomcat to perform some privileged operations -(e.g. bind to a port < 1024) and then switch identity to a non-privileged user. - -%package jsp-%{jspspec}-api -Group: Development/Libraries -Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes -Provides: jsp = %{jspspec} -Obsoletes: %{name}-jsp-2.2-api -Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Requires(post): chkconfig -Requires(postun): chkconfig - -%description jsp-%{jspspec}-api -Apache Tomcat JSP API Implementation Classes. - -%package lib -Group: Development/Libraries -Summary: Libraries needed to run the Tomcat Web container -Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Requires: ecj >= 1:4.2.1 -Requires: apache-commons-collections -Requires: apache-commons-dbcp -Requires: apache-commons-pool -Requires(preun): coreutils - -%description lib -Libraries needed to run the Tomcat Web container. - -%package servlet-%{servletspec}-api -Group: Development/Libraries -Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes -Provides: servlet = %{servletspec} -Provides: servlet6 -Provides: servlet3 -Obsoletes: %{name}-servlet-3.0-api -Requires(post): chkconfig -Requires(postun): chkconfig - -%description servlet-%{servletspec}-api -Apache Tomcat Servlet API Implementation Classes. - -%package el-%{elspec}-api -Group: Development/Libraries -Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes -Provides: el_api = %{elspec} -Obsoletes: %{name}-el-2.2-api -Requires(post): chkconfig -Requires(postun): chkconfig - -%description el-%{elspec}-api -Apache Tomcat EL API Implementation Classes. - -%package webapps -Group: Applications/Internet -Summary: The ROOT and examples web applications for Apache Tomcat -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: tomcat-taglibs-standard >= 0:1.1 - -%description webapps -The ROOT and examples web applications for Apache Tomcat. - %prep %setup -q -n %{packdname} + # remove pre-built binaries and windows files find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "*.gz" -o \ -name "*.jar" -o -name "*.war" -o -name "*.zip" \) -delete @@ -251,10 +169,7 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " %patch0 -p0 %patch1 -p0 %patch2 -p0 -%patch3 -p0 - -%{__ln_s} $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) webapps/examples/WEB-INF/lib/jstl.jar -%{__ln_s} $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) webapps/examples/WEB-INF/lib/standard.jar +#%%patch3 -p0 %build export OPT_JAR_LIST="xalan-j2-serializer" @@ -281,17 +196,10 @@ export OPT_JAR_LIST="xalan-j2-serializer" -Dversion.build="%{micro_version}" \ -Djava.7.home=%{java_home} \ -Dexecute.validate=false \ - deploy dist-prepare dist-source javadoc + deploy dist-prepare dist-source # remove some jars that we'll replace with symlinks later %{__rm} output/build/bin/commons-daemon.jar output/build/lib/ecj.jar -pushd output/dist/src/webapps/docs/appdev/sample/src -%{__mkdir_p} ../web/WEB-INF/classes -%{javac} -cp ../../../../../../../../output/build/lib/servlet-api.jar -d ../web/WEB-INF/classes mypackage/Hello.java -pushd ../web -%{jar} cf ../../../../../../../../output/build/webapps/docs/appdev/sample/sample.war * -popd -popd # inject OSGi manifests mkdir -p META-INF @@ -321,10 +229,8 @@ zip output/build/bin/tomcat-juli.jar META-INF/MANIFEST.MF # build initial path structure %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir} %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_javadocdir}/%{name} %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir} %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_systemddir} -%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir} %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir} @@ -334,7 +240,6 @@ zip output/build/bin/tomcat-juli.jar META-INF/MANIFEST.MF /bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir} %{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{logdir} -/bin/touch ${RPM_BUILD_ROOT}%{logdir}/catalina.out %{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats %{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{homedir} %{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{tempdir} @@ -348,10 +253,7 @@ pushd output/build %{__cp} -a bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir} %{__cp} -a conf/*.{policy,properties,xml,xsd} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -a lib/*.jar ${RPM_BUILD_ROOT}%{libdir} - %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd -# javadoc -%{__cp} -a output/dist/webapps/docs/api/* ${RPM_BUILD_ROOT}%{_javadocdir}/%{name} %{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ @@ -365,10 +267,6 @@ popd ${RPM_BUILD_ROOT}%{_sbindir}/%{name} %{__install} -m 0644 %{SOURCE11} \ ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__install} -m 0644 %{SOURCE20} \ - ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-jsvc.service -%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \ - > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name} %{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ @@ -407,10 +305,6 @@ popd pushd output/build %{_bindir}/build-jar-repository lib apache-commons-collections \ apache-commons-dbcp apache-commons-pool ecj 2>&1 - # need to use -p here with b-j-r otherwise the examples webapp fails to - # load with a java.io.IOException - %{_bindir}/build-jar-repository -p webapps/examples/WEB-INF/lib \ - tomcat-taglibs-standard/taglibs-standard-impl.jar tomcat-taglibs-standard/taglibs-standard-compat.jar 2>&1 popd pushd ${RPM_BUILD_ROOT}%{libdir} @@ -437,28 +331,6 @@ pushd ${RPM_BUILD_ROOT}%{homedir} %{__ln_s} %{workdir} work popd -# install sample webapp -%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/sample -pushd ${RPM_BUILD_ROOT}%{appdir}/sample -%{jar} xf ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war -popd -%{__rm} ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war - -# Allow linking for example webapp -%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF -pushd ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF -echo '' > context.xml -echo '' >> context.xml -echo ' ' >> context.xml -echo '' >> context.xml -popd - -pushd ${RPM_BUILD_ROOT}%{appdir}/examples/WEB-INF/lib -%{__ln_s} -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) jstl.jar -%{__ln_s} -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) standard.jar -popd - - # Install the maven metadata %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir} pushd output/dist/src/res/maven @@ -470,29 +342,29 @@ done # we won't install dbcp, juli-adapters and juli-extras pom files for libname in annotations-api catalina jasper-el jasper catalina-ha; do %{__cp} -a %{name}-$libname.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-$libname.pom - %add_maven_depmap JPP.%{name}-$libname.pom %{name}/$libname.jar -f "tomcat-lib" + %add_maven_depmap JPP.%{name}-$libname.pom %{name}/$libname.jar done # tomcat-util-scan %{__cp} -a %{name}-util-scan.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-util-scan.pom -%add_maven_depmap JPP.%{name}-util-scan.pom %{name}/%{name}-util-scan.jar -f "tomcat-lib" +%add_maven_depmap JPP.%{name}-util-scan.pom %{name}/%{name}-util-scan.jar # tomcat-jni %{__cp} -a %{name}-jni.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-jni.pom -%add_maven_depmap JPP.%{name}-jni.pom %{name}/%{name}-jni.jar -f "tomcat-lib" +%add_maven_depmap JPP.%{name}-jni.pom %{name}/%{name}-jni.jar # servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere %{__cp} -a tomcat-jsp-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom -%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "org.eclipse.jetty.orbit:javax.servlet.jsp" +%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -a "org.eclipse.jetty.orbit:javax.servlet.jsp" %{__cp} -a tomcat-el-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-el-api.pom -%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -f "tomcat-el-api" -a "org.eclipse.jetty.orbit:javax.el" +%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -a "org.eclipse.jetty.orbit:javax.el" %{__cp} -a tomcat-servlet-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-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 "tomcat-servlet-api" +%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-api.jar # replace temporary copy with link %{__ln_s} -f $(abs2rel %{bindir}/tomcat-juli.jar %{libdir}) ${RPM_BUILD_ROOT}%{libdir}/ @@ -539,15 +411,11 @@ done # install but don't activate %systemd_post %{name}.service -%post jsp-%{jspspec}-api +# Collapse all of the alternatives installations into one %{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \ %{_javadir}/%{name}-jsp-%{jspspec}-api.jar 20200 - -%post servlet-%{servletspec}-api %{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \ %{_javadir}/%{name}-servlet-%{servletspec}-api.jar 30000 - -%post el-%{elspec}-api %{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \ %{_javadir}/%{name}-el-%{elspec}-api.jar 20300 @@ -559,30 +427,16 @@ done %postun %systemd_postun_with_restart %{name}.service -%postun jsp-%{jspspec}-api +# Collapse all of the alternatives removals into one if [ "$1" = "0" ]; then %{_sbindir}/update-alternatives --remove jsp \ %{_javadir}/%{name}-jsp-%{jspspec}-api.jar -fi - -%postun servlet-%{servletspec}-api -if [ "$1" = "0" ]; then %{_sbindir}/update-alternatives --remove servlet \ %{_javadir}/%{name}-servlet-%{servletspec}-api.jar -fi - -%postun el-%{elspec}-api -if [ "$1" = "0" ]; then %{_sbindir}/update-alternatives --remove elspec \ %{_javadir}/%{name}-el-%{elspec}-api.jar fi -%triggerun -- tomcat < 0:7.0.22-2 -/usr/bin/systemd-sysv-convert -- save tomcat > /dev/null 2>&1 || : -# Run these becasue the SysV package being removed won't do them -/sbin/chkconfig --del tomcat > /dev/null 2>&1 || : -/bin/systemctl try-restart tomcat.service > /dev/null 2>&1 || : - %files %defattr(0664,root,tomcat,0755) %doc {LICENSE,NOTICE,RELEASE*} @@ -634,24 +488,6 @@ fi %{homedir}/logs %{homedir}/conf -%files admin-webapps -%defattr(0664,root,tomcat,0755) -%{appdir}/host-manager -%{appdir}/manager - -%files docs-webapp -%defattr(-,root,root,-) -%{appdir}/docs - -%files javadoc -%defattr(-,root,root,-) -%{_javadocdir}/%{name} - -%files jsp-%{jspspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-jsp-api -%defattr(-,root,root,-) -%{_javadir}/%{name}-jsp-%{jspspec}*.jar - -%files lib -f output/dist/src/res/maven/.mfiles-tomcat-lib %defattr(-,root,root,-) %dir %{libdir} %{libdir}/*.jar @@ -671,404 +507,13 @@ fi %{_mavenpomdir}/JPP.%{name}-websocket-api.pom %{_mavenpomdir}/JPP.%{name}-tomcat-websocket.pom %{_mavenpomdir}/JPP.%{name}-jaspic-api.pom +%{_mavenpomdir}/JPP.%{name}-jni.pom +%{_mavenpomdir}/JPP.%{name}-util-scan.pom +%{_mavenpomdir}/JPP-%{name}-jsp-api.pom +%{_mavenpomdir}/JPP-%{name}-servlet-api.pom +%{_mavenpomdir}/JPP-%{name}-el-api.pom %{_datadir}/maven-metadata/tomcat.xml -%exclude %{libdir}/%{name}-el-%{elspec}-api.jar -%exclude %{_javadir}/%{name}-servlet-%{servletspec}*.jar -%exclude %{_javadir}/%{name}-el-%{elspec}-api.jar -%exclude %{_javadir}/%{name}-jsp-%{jspspec}*.jar - -%files servlet-%{servletspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-servlet-api -%defattr(-,root,root,-) -%doc LICENSE -%{_javadir}/%{name}-servlet-%{servletspec}*.jar - -%files el-%{elspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-el-api -%defattr(-,root,root,-) -%doc LICENSE -%{_javadir}/%{name}-el-%{elspec}-api.jar -%{libdir}/%{name}-el-%{elspec}-api.jar - -%files webapps -%defattr(0644,tomcat,tomcat,0755) -%{appdir}/ROOT -%{appdir}/examples -%{appdir}/sample - -%files jsvc -%defattr(755,root,root,0755) -%attr(0644,root,root) %{_unitdir}/%{name}-jsvc.service -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} -%attr(0660,tomcat,tomcat) %verify(not size md5 mtime) %{logdir}/catalina.out %changelog -* Tue May 01 2018 Coty Sutherland - 1:8.5.30-1 -- Update to 8.5.30 - -* Thu Mar 15 2018 Coty Sutherland - 1:8.5.29-1 -- Update to 8.5.29 -- Resolves: rhbz#1548290 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unitended exposure of resources -- Resolves: rhbz#1548284 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users - -* Fri Feb 09 2018 Igor Gnatenko - 1:8.0.49-2 -- Escape macros in %%changelog - -* Thu Feb 01 2018 Coty Sutherland - 1:8.0.49-1 -- Update to 8.0.49 - -* Tue Dec 12 2017 Merlin Mathesius - 1:8.0.47-3 -- Cleanup spec file conditionals - -* Tue Oct 24 2017 Troy Dawson - 1:8.0.47-2 -- Change "zip -u" to "zip" -- Resolves: rhbz#1495241 [tomcat] zip -u in spec file causes race condition - -* Wed Oct 04 2017 Coty Sutherland - 1:8.0.47-1 -- Update to 8.0.47 -- Resolves: rhbz#1497682 CVE-2017-12617 tomcat: Remote Code Execution bypass for CVE-2017-12615 - -* Mon Aug 21 2017 Coty Sutherland - 1:8.0.46-1 -- Update to 8.0.46 -- Resolves: rhbz#1480620 CVE-2017-7674 tomcat: Cache Poisoning - -* Thu Jul 27 2017 Fedora Release Engineering - 1:8.0.44-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jun 09 2017 Coty Sutherland - 1:8.0.44-1 -- Resolves: rhbz#1459160 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism - -* Tue Apr 11 2017 Coty Sutherland - 1:8.0.43-1 -- Update to 8.0.43 - -* Fri Mar 31 2017 Coty Sutherland - 1:8.0.42-1 -- Update to 8.0.42 - -* Thu Feb 16 2017 Coty Sutherland - 1:8.0.41-1 -- Update to 8.0.41 -- Resolves: rhbz#1403825 CVE-2016-8745 tomcat: information disclosure due to incorrect Processor sharing - -* Sat Feb 11 2017 Fedora Release Engineering - 1:8.0.39-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Nov 29 2016 Coty Sutherland - 1:8.0.39-1 -- Update to 8.0.39 -- Resolves: rhbz#1397493 CVE-2016-6816 CVE-2016-6817 CVE-2016-8735 tomcat: various flaws - -* Tue Oct 25 2016 Coty Sutherland - 1:8.0.38-1 -- Update to 8.0.38 - -* Sun Oct 23 2016 Coty Sutherland - 1:8.0.37-3 -- Resolves: rhbz#1383216 CVE-2016-6325 tomcat: tomcat writable config files allow privilege escalation -- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service - -* Tue Sep 13 2016 Coty Sutherland - 1:8.0.37-1 -- Rebase to 8.0.37 -- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header -- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated - -* Thu Aug 11 2016 Coty Sutherland - 1:8.0.36-2 -- Related: rhbz#1349469 Correct typo in changelog entry - -* Mon Aug 08 2016 Coty Sutherland - 1:8.0.36-1 -- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36) -- Resolves: rhbz#1364056 The command tomcat-digest doesn't work -- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken -- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully -- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled) -- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out -- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded -- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api -- Resolves: asfbz#59960 Building javadocs with java8 fails - -* Wed Mar 2 2016 Ivan Afonichev - 1:8.0.32-4 -- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905 -- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636 - -* Sat Feb 27 2016 Ivan Afonichev - 1:8.0.32-3 -- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905 -- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381 - -* Sun Feb 21 2016 Ivan Afonichev - 1:8.0.32-2 -- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685 - -* Thu Feb 11 2016 Ivan Afonichev - 1:8.0.32-1 -- Updated to 8.0.32 -- Remove log4j support. It has never been working actually. See rhbz#1236297 -- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636 -- Recommend tomcat-native, resolves: rhbz#1243132 - -* Wed Feb 10 2016 Coty Sutherland 1:8.0.26-4 -- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml -- Program /bin/nologin does not exist (#1302718) - -* Fri Feb 05 2016 Fedora Release Engineering - 1:8.0.26-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Nov 11 2015 Robert Scheck 1:8.0.26-2 -- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105) - -* Thu Aug 27 2015 Alexander Kurtakov 1:8.0.26-1 -- Update to 8.0.26. - -* Fri Jul 10 2015 Alexander Kurtakov 1:8.0.24-2 -- Update to 8.0.24. - -* Fri Jun 19 2015 Alexander Kurtakov 1:8.0.23-2 -- Drop javax.el:el-api alias. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.23-1 -- Update to 8.0.23. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.20-3 -- Drop jetty alias for servlet. - -* Tue Jun 09 2015 Michal Srb - 1:8.0.20-2 -- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Thu Mar 5 2015 Alexander Kurtakov 1:8.0.18-5 -- Rebuild against tomcat-taglibs-standard. - -* Wed Mar 4 2015 Alexander Kurtakov 1:8.0.18-4 -- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch. -- Drop old provides. - -* Tue Mar 03 2015 Stephen Gallagher 1:8.0.18-3 -- Bump epoch to maintain upgrade path from Fedora 22 - -* Mon Feb 16 2015 Michal Srb - 0:8.0.18-2 -- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Sun Feb 15 2015 Ivan Afonichev 0:8.0.18-1 -- Updated to 8.0.18 - -* Sat Sep 20 2014 Ivan Afonichev 0:8.0.12-1 -- Updated to 8.0.12 -- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439 -- Use CATALINA_OPTS only on start, resolves: rhbz#1051194 - -* Mon Jun 16 2014 Michal Srb - 0:7.0.54-3 -- jsp-api requires el-api - -* Sun Jun 08 2014 Fedora Release Engineering - 0:7.0.54-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Jun 5 2014 Alexander Kurtakov 0:7.0.54-1 -- Update to upstream 7.0.54 - fixes compile with Java 8. - -* Wed May 21 2014 Alexander Kurtakov 0:7.0.52-3 -- Drop servlet/el api provides to reduce user machines ending with both. - -* Sun Mar 30 2014 Ivan Afonichev 0:7.0.52-2 -- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949 -- Move log4j support into subpackage, resolves: rhbz#1027716 - -* Wed Mar 26 2014 Ivan Afonichev 0:7.0.52-1 -- Updated to 7.0.52 -- Rewrite jsvc implementation, resolves: rhbz#1051743 -- Switch to java-headless R, resolves: rhbz#1068566 -- Create and own %%{_localstatedir}/lib/tomcats, resolves: rhbz#1026741 -- Add pom for tomcat-jdbc, resolves: rhbz#1011003 - -* Tue Jan 21 2014 Mikolaj Izdebski - 0:7.0.47-3 -- Fix installation of Maven metadata for tomcat-juli.jar -- Resolves: rhbz#1033664 - -* Wed Jan 15 2014 Stanislav Ochotnicky - 0:7.0.47-2 -- Rebuild for bug #1033664 - -* Sun Nov 03 2013 Ivan Afonichev 0:7.0.47-1 -- Updated to 7.0.47 -- Fix java.security.policy - -* Sun Aug 04 2013 Fedora Release Engineering - 0:7.0.42-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Jul 12 2013 Ivan Afonichev 0:7.0.42-2 -- Remove jpackage-utils R - -* Thu Jul 11 2013 Dmitry Tikhonov 0:7.0.42-1 -- Updated to 7.0.42 - -* Tue Jun 11 2013 Paul Komkoff 0:7.0.40-3 -- Dropped systemv inits. Bye-bye. -- Updated the systemd wrappers to allow running multiple instances. - Added wrapper scripts to do that, ported the original non-named - service file to work with the same wrappers, updated - /usr/sbin/tomcat to call systemctl. - -* Sat May 11 2013 Ivan Afonichev 0:7.0.40-1 -- Updated to 7.0.40 -- Resolves: rhbz 956569 added missing commons-pool link -- Remove ant-nodeps BR - -* Mon Mar 4 2013 Mikolaj Izdebski - 0:7.0.37-2 -- Add depmaps for org.eclipse.jetty.orbit -- Resolves: rhbz#917626 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.39-1 -- Updated to 7.0.39 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.37-1 -- Updated to 7.0.37 - -* Mon Feb 4 2013 Ivan Afonichev 0:7.0.35-1 -- Updated to 7.0.35 -- systemd SuccessExitStatus=143 for proper stop exit code processing - -* Mon Dec 24 2012 Ivan Afonichev 0:7.0.34-1 -- Updated to 7.0.34 -- ecj >= 4.2.1 now required -- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME - -* Fri Dec 7 2012 Ivan Afonichev 0:7.0.33-2 -- Resolves: rhbz 883806 refix logdir ownership - -* Sun Dec 2 2012 Ivan Afonichev 0:7.0.33-1 -- Updated to 7.0.33 -- Resolves: rhbz 873620 need chkconfig for update-alternatives - -* Wed Oct 17 2012 Ivan Afonichev 0:7.0.32-1 -- Updated to 7.0.32 -- Resolves: rhbz 842620 symlinks to taglibs - -* Fri Aug 24 2012 Ivan Afonichev 0:7.0.29-1 -- Updated to 7.0.29 -- Add pidfile as tmpfile -- Use systemd for running as unprivileged user -- Resolves: rhbz 847751 upgrade path was broken -- Resolves: rhbz 850343 use new systemd-rpm macros - -* Sat Jul 21 2012 Fedora Release Engineering - 0:7.0.28-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jul 2 2012 Ivan Afonichev 0:7.0.28-1 -- Updated to 7.0.28 -- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp -- Resolves: rhbz 814900 Added tomcat-coyote POM -- Resolves: rhbz 810775 Remove systemv stuff from %%post scriptlet -- Remove redhat-lsb R - -* Mon Apr 9 2012 Ivan Afonichev 0:7.0.27-2 -- Fixed native download hack - -* Sat Apr 7 2012 Ivan Afonichev 0:7.0.27-1 -- Updated to 7.0.27 -- Fixed jakarta-taglibs-standard BR and R - -* Wed Mar 21 2012 Stanislav Ochotnicky - 0:7.0.26-2 -- Add more depmaps to J2EE apis to help jetty/glassfish updates - -* Wed Mar 14 2012 Juan Hernandez 0:7.0.26-2 -- Added the POM files for tomcat-api and tomcat-util (#803495) - -* Wed Feb 22 2012 Ivan Afonichev 0:7.0.26-1 -- Updated to 7.0.26 -- Bug 790334: Change ownership of logdir for logrotate - -* Thu Feb 16 2012 Krzysztof Daniel 0:7.0.25-4 -- Bug 790694: Priorities of jsp, servlet and el packages updated. - -* Wed Feb 8 2012 Krzysztof Daniel 0:7.0.25-3 -- Dropped indirect dependecy to tomcat 5 - -* Sun Jan 22 2012 Ivan Afonichev 0:7.0.25-2 -- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly - -* Sat Jan 21 2012 Ivan Afonichev 0:7.0.25-1 -- Updated to 7.0.25 -- Removed EntityResolver patch (changes already in upstream sources) -- Place poms and depmaps in the same package as jars -- Added javax.servlet.descriptor to export-package of servlet-api -- Move several chkconfig actions and reqs to systemv subpackage -- New maven depmaps generation method -- Add patch to support java7. (patch sent upstream). -- Require java >= 1:1.6.0 - -* Fri Jan 13 2012 Krzysztof Daniel 0:7.0.23-5 -- Exported javax.servlet.* packages in version 3.0 as 2.6 to make - servlet-api compatible with Eclipse. - -* Thu Jan 12 2012 Ivan Afonichev 0:7.0.23-4 -- Move jsvc support to subpackage - -* Wed Jan 11 2012 Alexander Kurtakov 0:7.0.23-2 -- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream). - -* Mon Dec 12 2011 Joseph D. Wagner 0:7.0.23-3 -- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for - starting tomcat with jsvc, which allows tomcat to perform some - privileged operations (e.g. bind to a port < 1024) and then switch - identity to a non-privileged user. Must add USE_JSVC="true" to - /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat. - -* Mon Nov 28 2011 Ivan Afonichev 0:7.0.23-1 -- Updated to 7.0.23 - -* Fri Nov 11 2011 Ivan Afonichev 0:7.0.22-2 -- Move tomcat-juli.jar to lib package -- Drop %%update_maven_depmap as in tomcat6 -- Provide native systemd unit file ported from tomcat6 - -* Thu Oct 6 2011 Ivan Afonichev 0:7.0.22-1 -- Updated to 7.0.22 - -* Mon Oct 03 2011 Rex Dieter - 0:7.0.21-3.1 -- rebuild (java), rel-eng#4932 - -* Mon Sep 26 2011 Ivan Afonichev 0:7.0.21-3 -- Fix basedir mode - -* Tue Sep 20 2011 Roland Grunberg 0:7.0.21-2 -- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli. - -* Thu Sep 8 2011 Ivan Afonichev 0:7.0.21-1 -- Updated to 7.0.21 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-3 -- Require java = 1:1.6.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-2 -- Require java < 1.7.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-1 -- Updated to 7.0.20 - -* Tue Jul 26 2011 Ivan Afonichev 0:7.0.19-1 -- Updated to 7.0.19 - -* Tue Jun 21 2011 Ivan Afonichev 0:7.0.16-1 -- Updated to 7.0.16 - -* Mon Jun 6 2011 Ivan Afonichev 0:7.0.14-3 -- Added initial systemd service -- Fix some paths - -* Sat May 21 2011 Ivan Afonichev 0:7.0.14-2 -- Fixed http source link -- Securify some permissions -- Added licenses for el-api and servlet-api -- Added dependency on jpackage-utils for the javadoc subpackage - -* Sat May 14 2011 Ivan Afonichev 0:7.0.14-1 -- Updated to 7.0.14 - -* Thu May 5 2011 Ivan Afonichev 0:7.0.12-4 -- Provided local paths for libs -- Fixed dependencies -- Fixed update temp/work cleanup - -* Mon May 2 2011 Ivan Afonichev 0:7.0.12-3 -- Fixed package groups -- Fixed some permissions -- Fixed some links -- Removed old tomcat6 crap - -* Thu Apr 28 2011 Ivan Afonichev 0:7.0.12-2 -- Package now named just tomcat instead of tomcat7 -- Removed Provides: %%{name}-log4j -- Switched to apache-commons-* names instead of jakarta-commons-* . -- Remove the old changelog -- BR/R java >= 1:1.6.0 , same for java-devel -- Removed old tomcat6 crap - -* Wed Apr 27 2011 Ivan Afonichev 0:7.0.12-1 -- Tomcat7 +* Thu Jun 07 2018 Coty Sutherland - 1:9.0.7-1 +- Create single RPM for FreeIPA to use