- Update to Tomcat 10.1.33
* Fixed CVEs: + CVE-2024-52316: If the Jakarta Authentication fails with an exception, set a 500 status (bsc#1233434) * Catalina + Add: Add support for the new Servlet API method HttpServletResponse.sendEarlyHints(). (markt) + Add: 55470: Add debug logging that reports the class path when a ClassNotFoundException occurs in the digester or the web application class loader. Based on a patch by Ralf Hauser. (markt) + Update: 69374: Properly separate between table header and body in DefaultServlet's listing. (michaelo) + Update: 69373: Make DefaultServlet's HTML listing file last modified rendering better (flexible). (michaelo) + Update: Improve HTML output of DefaultServlet. (michaelo) + Code: Refactor RateLimitFilter to use FilterBase as the base class. The primary advantage is less code to process init-param values. (markt) + Update: 69370: DefaultServlet's HTML listing uses incorrect labels. (michaelo) + Fix: Avoid NPE in CrawlerSessionManagerValve for partially mapped requests. (remm) + Fix: Add missing WebDAV Lock-Token header in the response when locking a folder. (remm) + Fix: Invalid WebDAV lock requests should be rejected with 400. (remm) + Fix: Fix regression in WebDAV when attempting to unlock a collection. (remm) + Fix: Verify that destination is not locked for a WebDAV copy operation. (remm) + Fix: Send 415 response to WebDAV MKCOL operations that include a request body since this is optional and unsupported. (remm) + Fix: Enforce DAV: namespace on WebDAV XML elements. (remm) + Fix: Do not allow a new WebDAV lock on a child resource if a parent collection is locked (RFC 4918 section 6.1). (remm) + Fix: WebDAV DELETE should remove any existing lock on successfully deleted resources. (remm) + Update: Remove WebDAV lock null support in accordance with RFC 4918 section 7.3 and annex D. Instead, a lock on a non-existing resource will create an empty file locked with a regular lock. (remm) + Update: Rewrite implementation of WebDAV shared locks to comply with RFC 4918. (remm) + Update: Implement WebDAV If header using code from the Apache Jackrabbit project. (remm) + Add: Add PropertyStore interface in the WebDAV Servlet, to allow implementation of dead properties storage. The store used can be configured using the propertyStore init parameter of the WebDAV servlet by specifying the class name of the store. A simple non-persistent implementation is used if no custom store is configured. (remm) + Update: Implement WebDAV PROPPATCH method using the newly added PropertyStore, and update PROPFIND to support it. (remm) + Fix: Cache not found results when searching for web application class loader resources. This addresses performance problems caused by components such as java.sql.DriverManager, which in some circumstances will search for the same class repeatedly. The size of the cache can be controlled via the new notFoundClassResourceCacheSize on the StandardContext. (markt) + Fix: Stop after INITIALIZED state should be a noop since it is possible for subcomponents to be in FAILED after init. (remm) + Fix: Fix incorrect web resource cache size calculations when there are concurrent PUT and DELETE requests for the same resource. (markt) + Add: Add debug logging for the web resource cache so the current size can be tracked as resources are added and removed. (markt) + Update: Replace legacy WebDAV opaquelocktoken: scheme for lock tokens with urn:uuid: as recommended by RFC 4918, and remove secret init parameter. (remm) + Fix: Concurrent reads and writes (e.g. GET and PUT / DELETE) for the same path caused corruption of the FileResource where some of the fields were set as if the file exists and some as set as if it does not. This resulted in inconsistent metadata. (markt) + Fix: 69415: Ensure that the ExpiresFilter only sets cache headers on GET and HEAD requests. Also, skip requests where the application has set Cache-Control: no-store. (markt) + Fix: 69419: Improve the performance of ServletRequest.getAttribute() when there are multiple levels of nested includes. Based on a patch provided by John Engebretson. (markt) + Add: All applications to send an early hints informational response by calling HttpServletResponse.sendError() with a status code of 103. (schultz) + Fix: Ensure that ServerAuthModule.initialize() is called when a Jakarta Authentication module is configured via registerServerAuthModule(). (markt) + Fix: Ensure that the Jakarta Authentication CallbackHandler only creates one GenericPrincipal in the Subject. (markt) + Fix: If the Jakarta Authentication process fails with an Exception, explicitly set the HTTP response status to 500 as the ServerAuthContext may not have set it. (markt) + Fix: When persisting the Jakarta Authentication provider configuration, create any necessary parent directories that don't already exist. (markt) + Fix: Correct the logic used to detect errors when deleting temporary files associated with persisting the Jakarta Authentication provider configuration. (markt) + Fix: When processing Jakarta Authentication callbacks, don't overwrite a Principal obtained from the PasswordValidationCallback with null if the CallerPrincipalCallback does not provide a Principal. (markt) + Fix: Avoid store config backup loss when storing one configuration more than once per second. (remm) + Fix: 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc. (michaelo) + Fix: 69360: Inconsistent DELETE behavior between WebdavServlet and DefaultServlet. (michaelo) + Fix: Make WebdavServlet properly return the Allow header when deletion of a resource is not allowed. (michaelo) + Fix: Add log warning if non-wildcard mappings are used with the WebdavServlet. (remm) + Fix: 69361: Ensure that the order of entries in a multi-status response to a WebDAV is consistent with the order in which resources were processed. (markt) + Fix: 69362: Provide a better multi-status response when deleting a collection via WebDAV fails. Empty directories that cannot be deleted will now be included in the response. (markt) + Fix: 69363: Use getPathPrefix() consistently in the WebDAV servlet to ensure that the correct path is used when the WebDAV servlet is mounted at a sub-path within the web application. (markt) + Fix 69320, a regression in the fix for 69302 that meant the HTTP/2 processing was likely to be broken for all clients once any client sent an HTTP/2 reset frame. (markt) + Fix: Improve performance of ApplicationHttpRequest.parseParameters(). Based on sample code and test cases provided by John Engebretson. (markt) + Fix: Correct regressions in the refactoring that added recycling of the coyote request and response to the HTTP/2 processing. (markt) + Add: Add support for RFC 8297 (Early Hints). Applications can use this feature by casting the HttpServletResponse to org.apache.catalina.connector. Response and then calling the method void sendEarlyHints(). This method will be added to the Servlet API (removing the need for the cast) in Servlet 6.2 onwards. (markt) + Fix: 69214: Do not reject a CORS request that uses POST but does not include a content-type header. Tomcat now correctly processes this as a simple CORS request. Based on a patch suggested by thebluemountain. (markt) + Fix: Refactor SpnegoAuthenticator so it uses Subject.callAs() rather than Subject.doAs() when available. (markt) + Fix: Allow JAASRealm to use the configuration source to load a configured configFile, for easier use with testing. (remm) + Fix: Add missing algorithm callback to the JAASCallbackHandler. (remm) + Fix: Add the OpenSSL version number on the APR and OpenSSL status classes. (remm) + Fix: 69131: Expand the implementation of the filter value of the Authenticator attribute allowCorsPreflight, so that it applies to all requests that match the configured URL patterns for the CORS filter, rather than only applying if the CORS filter is mapped to /*. (markt) + Fix: Using the OpenSSLListener will now cause the connector to use OpenSSL if available. (remm) * Coyote + Fix: Return null SSL session id on zero-length byte array returned from the SSL implementation. (remm) + Fix: Skip OpenSSLConf with BoringSSL since it is unsupported. (remm) + Fix: Create the HttpParser in Http11Processor if it is not present on the AbstractHttp11Protocol to provide better lifecycle robustness for regular HTTP/1.1. The new behavior was introduced in a previous refactoring to improve HTTP/2 performance. (remm) + Fix: OpenSSLContext will now throw a KeyManagementException if something is known to have gone wrong in the init method, which is the behavior documented by javax.net.ssl.SSLContext.init. This makes error handling more consistent. (remm) + Fix: 69379: The default HEAD response no longer includes the payload HTTP header fields as per section 9.3.2 of RFC 9110. (markt) + Fix: 69316: Ensure that FastHttpDateFormat#getCurrentDate() (used to generate Date headers for HTTP responses) generates the correct string for the given input. Prior to this change, the output may have been wrong by one second in some cases. Pull request #751 provided by Chenjp. (markt) + Fix: Request start time may not have been accurately recorded for HTTP/1.1 requests preceded by a large number of blank lines. (markt) + Add: Add server and serverRemoveAppProvidedValues to the list of attributes the HTTP/2 protocol will inherit from the HTTP/1.1 connector it is nested within. (markt) + Fix: Avoid possible crashes when using Apache Tomcat Native, caused by destroying SSLContext objects through GC after APR has been terminated. (remm) + Fix: Improve HTTP/2 handling of trailer fields for requests. Trailer fields no longer need to be received before the headers of the subsequent stream, nor are trailer fields for an in-progress stream swallowed if the Connector is paused before the trailer fields are received. (markt) + Fix: Ensure the request and response are not recycled too soon for an HTTP/2 stream when a stream-level error is detected during the processing of incoming HTTP/2 frames. This could lead to incorrect processing times appearing in the access log. (markt) + Fix: Correct a regression in the fix for non-blocking reads of chunked request bodies that caused InputStream.available() to return a non-zero value when there was no data to read. In some circumstances this could cause a blocking read to block waiting for more data rather than return the data it had already received. (markt) + Add: Add a new attribute cookiesWithoutEquals to the Rfc6265CookieProcessor. The default behaviour is unchanged. (markt) + Fix: Ensure that Tomcat sends a TLS close_notify message after receiving one from the client when using the OpenSSLImplementation. (markt) + Fix: 69301: Fix trailer headers replacing non-trailer headers when writing response headers to the access log. Based on a patch and test case provided by hypnoce. (markt) + Fix: 69302: If an HTTP/2 client resets a stream before the request body is fully written, ensure that any ReadListener is notified via a call to ReadListener.onError(). (markt) + Fix: Ensure that HTTP/2 stream input buffers are only created when there is a request body to be read. (markt) + Code: Refactor creation of HttpParser instances from the Processor level to the Protocol level since the parser configuration depends on the protocol and the parser is, otherwise, stateless. (markt) + Add: Align HTTP/2 with HTTP/1.1 and recycle the container internal request and response processing objects by default. This behaviour can be controlled via the new discardRequestsAndResponses attribute on the HTTP/2 upgrade protocol. (markt) + Fix: Clean and log OpenSSL errors before processing of OpenSSL conf commands in the FFM code. (remm) + Fix: 69121: Ensure that the onComplete() event is triggered if AsyncListener. onError() dispatches to a target that throws an exception. (markt) + Fix: Following the trailer header field refactoring, -1 is no longer an allowed value for maxTrailerSize. Adjust documentation accordingly. (remm) + Update: Move OpenSSL support using FFM to a separate JAR named tomcat-coyote-ffm. jar that advertises Java 22 in its manifest. (remm) + Fix: Fix search for OpenSSL library for FFM on Mac OS so that java.library.path is searched. (markt) + Update: Add FFM compatibility methods for LibreSSL support. Renegotiation is not supported at the moment. (remm) + Update: Add org.apache.tomcat.util.openssl.LIBRARY_NAME (specifies the name of the library to load) and org.apache.tomcat.util.openssl.USE_SYSTEM_LOAD_LIBRARY (set to true to use System.loadLibrary rather than the FFM library loading code) to configure the OpenSSL library loading using FFM. (remm) + Update: Add FFM compatibility methods for BoringSSL support. Renegotiation is not supported in many cases. (remm) * Jasper + Fix: Add back tag release method as deprecated in the runtime for compatibility with old generated code. (remm) + Fix: 69399: Fix regression caused by improvement 69333, which caused the tag release to be called when using tag pooling, and to be skipped when not using it. Patch submitted by Michal Sobkiewicz. (remm) + Fix: 69381: Improve method lookup performance in expression language. When the required method has no arguments, there is no need to consider casting or coercion, and the method lookup process can be simplified. Based on a pull request by John Engebretson. (markt) + Fix: 69382: Improve the performance of the JSP include action by re-using results of relatively expensive method calls in the generated code rather than repeating them. Patch provided by John Engebretson. (markt) + Fix: 69398: Avoid unnecessary object allocation in PageContextImpl. Based on a suggestion by John Engebretson. (markt) + Fix: 69406: When using StringInterpreterEnum, do not throw an IllegalArgumentException when an invalid Enum is encountered. Instead, resolve the value at runtime. Patch provided by John Engebretson. (markt) + Fix: 69429: Optimize EL evaluation of method parameters for methods that do not accept any parameters. Patch provided by John Engebretson. (markt) + Fix: Further optimize EL evaluation of method parameters. Patch provided by Paolo B. (markt) + Fix: 69333: Remove unnecessary code from generated JSPs. (markt) + Fix: 69338: Improve the performance of processing expressions that include AND or OR operations with more than two operands and expressions that use not empty. (markt) + Fix: 69348: Reduce memory consumption in ELContext by using lazy initialization for the data structure used to track lambda arguments. (markt) + Fix: Switch the TldScanner back to logging detailed scan results at debug level rather than trace level. (markt) + Fix: Update the optimisation in jakarta.el.ImportHandler so it is aware of new classes added to the java.lang package in Java 23. (markt) + Fix: Ensure that an exception in toString() still results in an ELException when an object is coerced to a String using ExpressionFactory.coerceToType(). (markt) + Add: Add support for specifying Java 24 (with the value 24) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will be used. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that context relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are not permitted to access files outside of the /META_INF/tags/ directory nor outside of the JAR file. (markt) * WebSocket + Fix: If a blocking message write exceeds the timeout, don't attempt the write again before throwing the exception. (markt) + Fix: An EncodeException being thrown during a message write should not automatically cause the connection to close. The application should handle the exception and make the decision whether or not to close the connection. (markt) * Web applications + Fix: The manager webapp will now be able to access certificates again when OpenSSL is used. (remm) + Fix: Documentation. Align the logging configuration documentation with the current defaults. (markt) + Fix: Fix status servlet detailed view of the connectors when using automatic port. (remm) * jdbc-pool + Fix: 69255: Correct a regression in the fix for 69206 that meant exceptions executing statements were wrapped in a java.lang.reflect.UndeclaredThrowableException rather than the application seeing the original SQLException. Fixed by pull request #744 provided by Michael Clarke. (markt) + Fix: 69279: Correct a regression in the fix for 69206 that meant that methods that previously returned a null ResultSet were returning a proxy with a null delegate. Fixed by pull request #745 provided by Huub de Beer. (markt) + Fix: 69206: Ensure statements returned from Statement methods executeQuery(), getResultSet() and getGeneratedKeys() are correctly wrapped before being returned to the caller. Based on pull request #742 provided by Michael Clarke. (markt) * Other + Update: Switch from DigiCert ONE to ssl.com eSigner for code signing. (markt) + Update: Update Byte Buddy to 1.15.10. (markt) + Update: Update CheckStyle to 10.20.0. (markt) + Add: Improvements to German translations. (remm) + Update: Update Byte Buddy to 1.15.3. (markt) + Update: Update CheckStyle to 10.18.2. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by Ch_jp. (markt) + Add: Exclude the tomcat-coyote-ffm.jar from JAR scanning by default. (markt) + Fix: Change the default log handler level to ALL so log messages are not dropped by default if a logger is configured to use trace (FINEST) level logging. (markt) + Update: Update Hamcrest to 3.0. (markt) + Update: Update EasyMock to 5.4.0. (markt) + Update: Update Byte Buddy to 1.15.0. (markt) + Update: Update CheckStyle to 10.18.0. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.10.0. (markt) + Add: Improvements to Spanish translations by Fernando. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: Fix packaging regression with missing osgi information following addition of the test-only build target. (remm) + Update: Update Tomcat Native to 2.0.8. (markt) + Update: Update Byte Buddy to 1.14.18. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Add test-only build target to allow running only the testsuite, supporting Java versions down to the minimum supported to run Tomcat. (rjung) + Update: Update UnboundID to 7.0.1. (markt) + Update: Update to SpotBugs 4.8.6. (markt) + Update: Remove cglib dependency as it is not required by the version of EasyMock used by the unit tests. (markt) + Update: Update EasyMock to 5.3.0. This adds a test dependency on Byte-Buddy 1.14.17. (markt) + Add: Improvements to Czech translations by Vladimír Chlup. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by fangzheng. (markt) OBS-URL: https://build.opensuse.org/package/show/Java:packages/tomcat10?expand=0&rev=51
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
7
_constraints
Normal file
7
_constraints
Normal file
@@ -0,0 +1,7 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="M">2048</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</constraints>
|
19
allowLinking.xslt
Normal file
19
allowLinking.xslt
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
<xsl:strip-space elements="*"/>
|
||||
|
||||
<!-- Identity template to copy elements and attributes as they are -->
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Add Resources element with allowLinking attribute -->
|
||||
<xsl:template match="Context">
|
||||
<xsl:copy>
|
||||
<Resources allowLinking="true" />
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
BIN
apache-tomcat-10.1.25-src.tar.gz
(Stored with Git LFS)
Normal file
BIN
apache-tomcat-10.1.25-src.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
17
apache-tomcat-10.1.25-src.tar.gz.asc
Normal file
17
apache-tomcat-10.1.25-src.tar.gz.asc
Normal file
@@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQIzBAABCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAmZsrB0ACgkQHPApP6U8
|
||||
pFgWehAAsL94Pf+o5NqhdP9RXxOLfGkAjwC6UdWEGbi/UUhJz/tEx3A66P3eyKJx
|
||||
KZw+0oqnwI9dXNry9TH3zZHk1Qj93HzOQRPolomCZWnwAcq964IutIc0PQMvga8+
|
||||
kaNfCloaOo9+VPeOAQ5rSn2jbdui+lYuTvHUuMiJ2+/U33Dn45JtTY+sQZxGFI0D
|
||||
OM9Bu7j64Vxp6tLMtYwcO33vsKnlT6WmC7NekkbyWlkLIDTKfaNp6PstKI1cxOvY
|
||||
8Cc1G276iGjPsyf06ooPZ6yunXYOXXT5SSsyvsKdWyacdFQ9BxlC5asOIwr+OKjp
|
||||
6tDIWK2RZQPs5fVGAeW4+6YN4jpTDrjjJvvC2M/Quyn7eRME0yB7qa6QAFM7mpqk
|
||||
oATHa+np0X3a5iNHW6w61En1F8yG2DtMyxIApkS25SGyA3XCRmZy2v14WPEaJURb
|
||||
PTrXY4+p18ae7cB6R5eoQZlBMxN+yqmwr7+RLcU3bTvMb65g19RPUcZ78/aKWteF
|
||||
G0wHn/QQy1yjDg4zJ0RQZzF0GhChux/G8Is423PiAskQJjQMB2O39PJV3D+hbrwk
|
||||
VXkH1JNwl5O18S76o0/t7eMF1Z1LViyS3Ldr/M9vpxtGmtX5VdfzmZ+Z6+JvAaZI
|
||||
+Ae7aA9B3BLWGiAjJNsu2FBY94jx2FZJgedg3pvPIyFSP6+W1Hg=
|
||||
=l6Tt
|
||||
-----END PGP SIGNATURE-----
|
BIN
apache-tomcat-10.1.33-src.tar.gz
(Stored with Git LFS)
Normal file
BIN
apache-tomcat-10.1.33-src.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
apache-tomcat-10.1.33-src.tar.gz.asc
Normal file
16
apache-tomcat-10.1.33-src.tar.gz.asc
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAmctQNkACgkQHPApP6U8
|
||||
pFh07hAAr5HSdAPPXY6nFxISOaA1EiZ+9x9WXre2b7NOzs7Z0/a8/kbApZ818pq6
|
||||
qeIgv9kld/hGigF+mXt8oyvBHe87+UK715/V2bQ0plcJtn2Pya/+OMpty8QqARIP
|
||||
MM5eO31PiZw9zV9zQXVospfEW9zUX2X37zAPkJ7YEEFwtITob889SvnI6Nd2alw6
|
||||
Qj0ok3ydAGytRbnTBLTXawJpxOKlQMDDiuZ+Wq61uczCX6Pz1klpSxL1Qg/Dhsci
|
||||
MJmVz1WLTYkzIXaHsBzBeA/ZshTrPmbgYspv/rfT074tx8fTMYQj96lnBukrZYDv
|
||||
7fmqIB+TG8AwSNgiTWU+L0DZNbm8dy7kjEMV3y2o6Wymwkf4cFZCXvLZaQad2/3e
|
||||
WuTSoKW0SvFmLtu+RNDtwFSYVraoFgpYaSCdsCgHpHzBs0h3vquFtp38adIJi8+N
|
||||
SA10JFPQddloCQ/HBVmSVFacagsxW+fI4m0BGSS2fgbHtM8CrWjoLMjQj3WYt0lQ
|
||||
6IDIMAvWxVLQ7ofGkKapebQXA3YOCrt+I66+baaoACbKtrlAg1ts6cpuLIGoxWpd
|
||||
/q6BckAOg1+fL6N57DzydeuMf2rCVw9pdNGQAcPcJ6nSg5BcxKcmDBPZ1lit9MgG
|
||||
dENk7FhN4/AmGKiL2GsWXa1Z840/3NuSiD9V5Q2vWMce9SmPpGY=
|
||||
=ZcO8
|
||||
-----END PGP SIGNATURE-----
|
13
tomcat-10.1-build-with-java-11.patch
Normal file
13
tomcat-10.1-build-with-java-11.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: apache-tomcat-10.1.25-src/build.xml
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.25-src.orig/build.xml
|
||||
+++ apache-tomcat-10.1.25-src/build.xml
|
||||
@@ -108,7 +108,7 @@
|
||||
<!-- Keep in sync with webapps/docs/tomcat-docs.xsl -->
|
||||
<property name="compile.release" value="11"/>
|
||||
<property name="min.java.version" value="11"/>
|
||||
- <property name="build.java.version" value="17"/>
|
||||
+ <property name="build.java.version" value="11"/>
|
||||
<property name="release.java.version" value="22"/>
|
||||
|
||||
<!-- Check Java Build Version -->
|
11
tomcat-bootstrap-MANIFEST.MF.patch
Normal file
11
tomcat-bootstrap-MANIFEST.MF.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
Index: apache-tomcat-10.1.14-src/res/META-INF/bootstrap.jar.manifest
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.14-src.orig/res/META-INF/bootstrap.jar.manifest
|
||||
+++ apache-tomcat-10.1.14-src/res/META-INF/bootstrap.jar.manifest
|
||||
@@ -1,6 +1,5 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: org.apache.catalina.startup.Bootstrap
|
||||
-Class-Path: commons-daemon.jar
|
||||
Specification-Title: Apache Tomcat Bootstrap
|
||||
Specification-Version: @VERSION_MAJOR_MINOR@
|
||||
Specification-Vendor: Apache Software Foundation
|
48
tomcat-digest.script
Normal file
48
tomcat-digest.script
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# tomcat-digest script
|
||||
# JPackage Project <http://www.jpackage.org/>
|
||||
|
||||
# Set default JAVA_HOME
|
||||
export JAVA_HOME="${JAVA_HOME:-%{?java_home}}"
|
||||
|
||||
# Source functions library
|
||||
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't find functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
|
||||
if [ -r "$TOMCAT_CFG" ]; then
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
set_javacmd
|
||||
|
||||
# CLASSPATH munging
|
||||
if [ -n "$JSSE_HOME" ]; then
|
||||
CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
|
||||
fi
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
export CLASSPATH
|
||||
|
||||
# Configuration
|
||||
MAIN_CLASS="org.apache.catalina.startup.Tool"
|
||||
BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
|
||||
BASE_OPTIONS=""
|
||||
BASE_JARS="commons-daemon tomcat/catalina tomcat/servlet"
|
||||
|
||||
# Set parameters
|
||||
set_classpath $BASE_JARS
|
||||
set_flags $BASE_FLAGS
|
||||
set_options $BASE_OPTIONS
|
||||
|
||||
# Let's start
|
||||
run -server org.apache.catalina.realm.RealmBase "$@"
|
11
tomcat-fix_catalina.patch
Normal file
11
tomcat-fix_catalina.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
Index: apache-tomcat-9.0.43-src/conf/logging.properties
|
||||
===================================================================
|
||||
--- apache-tomcat-9.0.43-src.orig/conf/logging.properties
|
||||
+++ apache-tomcat-9.0.43-src/conf/logging.properties
|
||||
@@ -77,3 +77,6 @@ org.apache.catalina.core.ContainerBase.[
|
||||
|
||||
# To see debug messages for WebSocket handling, uncomment the following line:
|
||||
#org.apache.tomcat.websocket.level = FINE
|
||||
+
|
||||
+1catalina.org.apache.juli.AsyncFileHandler.suffix = out
|
||||
+1catalina.org.apache.juli.AsyncFileHandler.rotatable = false
|
42
tomcat-functions
Normal file
42
tomcat-functions
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -r /usr/share/java-utils/java-functions ]; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't read Java functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
_save_function() {
|
||||
local ORIG_FUNC=$(declare -f $1)
|
||||
local NEWNAME_FUNC="$2${ORIG_FUNC#$1}"
|
||||
eval "$NEWNAME_FUNC"
|
||||
}
|
||||
|
||||
run_jsvc(){
|
||||
if [ -x /usr/bin/jsvc ]; then
|
||||
TOMCAT_USER="tomcat"
|
||||
JSVC="/usr/bin/jsvc"
|
||||
|
||||
JSVC_OPTS="-nodetach -pidfile /var/run/jsvc-tomcat${NAME}.pid -user ${TOMCAT_USER} -outfile ${CATALINA_BASE}/logs/catalina.out -errfile ${CATALINA_BASE}/logs/catalina.out"
|
||||
if [ "$1" = "stop" ]; then
|
||||
JSVC_OPTS="${JSVC_OPTS} -stop"
|
||||
fi
|
||||
|
||||
exec "${JSVC}" ${JSVC_OPTS} ${FLAGS} -classpath "${CLASSPATH}" ${OPTIONS} "${MAIN_CLASS}" "${@}"
|
||||
else
|
||||
echo "Can't find /usr/bin/jsvc executable"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_save_function run run_java
|
||||
|
||||
run() {
|
||||
if [ "${USE_JSVC}" = "true" ] ; then
|
||||
run_jsvc $@
|
||||
else
|
||||
run_java $@
|
||||
fi
|
||||
}
|
||||
|
13
tomcat-javadoc.patch
Normal file
13
tomcat-javadoc.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: apache-tomcat-10.1.5-src/build.xml
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.5-src.orig/build.xml
|
||||
+++ apache-tomcat-10.1.5-src/build.xml
|
||||
@@ -2346,8 +2346,6 @@ Apache Tomcat ${version} native binaries
|
||||
<link href="../elapi"/>
|
||||
<link href="../websocketapi"/>
|
||||
<link href="../jaspicapi"/>
|
||||
- <link href="https://docs.oracle.com/en/java/javase/11/docs/api/"/>
|
||||
- <link href="https://jakarta.ee/specifications/platform/10/apidocs/"/>
|
||||
<packageset dir="${tomcat.dist}/src/java/">
|
||||
<include name="org/**"/>
|
||||
<exclude name="org/apache/el/parser/**"/>
|
46
tomcat-jdt.patch
Normal file
46
tomcat-jdt.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
--- apache-tomcat-10.1.20-src/java/org/apache/jasper/compiler/JDTCompiler.java 2024-04-06 14:14:17.015180386 +0200
|
||||
+++ apache-tomcat-10.1.20-src/java/org/apache/jasper/compiler/JDTCompiler.java 2024-04-06 14:14:33.635284982 +0200
|
||||
@@ -310,13 +310,13 @@
|
||||
} else if(opt.equals("15")) {
|
||||
settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_15);
|
||||
} else if(opt.equals("16")) {
|
||||
- settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_16);
|
||||
+ settings.put(CompilerOptions.OPTION_Source, "16");
|
||||
} else if(opt.equals("17")) {
|
||||
- settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_17);
|
||||
+ settings.put(CompilerOptions.OPTION_Source, "17");
|
||||
} else if(opt.equals("18")) {
|
||||
- settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_18);
|
||||
+ settings.put(CompilerOptions.OPTION_Source, "18");
|
||||
} else if (opt.equals("19")) {
|
||||
- settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_19);
|
||||
+ settings.put(CompilerOptions.OPTION_Source, "19");
|
||||
} else if (opt.equals("20")) {
|
||||
// Constant not available in latest ECJ version that runs on
|
||||
// Java 11.
|
||||
@@ -388,17 +388,17 @@
|
||||
settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_15);
|
||||
settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_15);
|
||||
} else if(opt.equals("16")) {
|
||||
- settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_16);
|
||||
- settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_16);
|
||||
+ settings.put(CompilerOptions.OPTION_TargetPlatform, "16");
|
||||
+ settings.put(CompilerOptions.OPTION_Compliance, "16");
|
||||
} else if(opt.equals("17")) {
|
||||
- settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_17);
|
||||
- settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_17);
|
||||
+ settings.put(CompilerOptions.OPTION_TargetPlatform, "17");
|
||||
+ settings.put(CompilerOptions.OPTION_Compliance, "17");
|
||||
} else if(opt.equals("18")) {
|
||||
- settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_18);
|
||||
- settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_18);
|
||||
+ settings.put(CompilerOptions.OPTION_TargetPlatform, "18");
|
||||
+ settings.put(CompilerOptions.OPTION_Compliance, "18");
|
||||
} else if (opt.equals("19")) {
|
||||
- settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_19);
|
||||
- settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_19);
|
||||
+ settings.put(CompilerOptions.OPTION_TargetPlatform, "19");
|
||||
+ settings.put(CompilerOptions.OPTION_Compliance, "19");
|
||||
} else if (opt.equals("20")) {
|
||||
// Constant not available in latest ECJ version that runs on
|
||||
// Java 11.
|
21
tomcat-jsvc.service
Normal file
21
tomcat-jsvc.service
Normal file
@@ -0,0 +1,21 @@
|
||||
# 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"
|
||||
ExecStart=@LIBEXECDIR@/tomcat/server start
|
||||
ExecStop=@LIBEXECDIR@/tomcat/server stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
tomcat-logrotate_everything.patch
Normal file
12
tomcat-logrotate_everything.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Index: apache-tomcat-9.0.43-src/conf/logging.properties
|
||||
===================================================================
|
||||
--- apache-tomcat-9.0.43-src.orig/conf/logging.properties
|
||||
+++ apache-tomcat-9.0.43-src/conf/logging.properties
|
||||
@@ -80,3 +80,7 @@ org.apache.catalina.core.ContainerBase.[
|
||||
|
||||
1catalina.org.apache.juli.AsyncFileHandler.suffix = out
|
||||
1catalina.org.apache.juli.AsyncFileHandler.rotatable = false
|
||||
+
|
||||
+2localhost.org.apache.juli.AsyncFileHandler.rotatable = false
|
||||
+3manager.org.apache.juli.AsyncFileHandler.rotatable = false
|
||||
+4host-manager.org.apache.juli.AsyncFileHandler.rotatable = false
|
26
tomcat-named.service
Normal file
26
tomcat-named.service
Normal file
@@ -0,0 +1,26 @@
|
||||
# Systemd unit file for tomcat instances.
|
||||
#
|
||||
# To create clones of this service:
|
||||
# 0. systemctl enable tomcat@name.service
|
||||
# 1. create catalina.base directory structure in
|
||||
# /var/lib/tomcats/name
|
||||
# 2. profit.
|
||||
|
||||
[Unit]
|
||||
Description=Apache Tomcat Web Application Container
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/tomcat/tomcat.conf
|
||||
Environment="NAME=%I"
|
||||
EnvironmentFile=-/etc/sysconfig/tomcat@%I
|
||||
ExecStart=@LIBEXECDIR@/tomcat/server start
|
||||
ExecStop=@LIBEXECDIR@/tomcat/server stop
|
||||
SuccessExitStatus=143
|
||||
User=tomcat
|
||||
Group=tomcat
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
31
tomcat-osgi-build.patch
Normal file
31
tomcat-osgi-build.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
Index: apache-tomcat-10.1.5-src/build.xml
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.5-src.orig/build.xml
|
||||
+++ apache-tomcat-10.1.5-src/build.xml
|
||||
@@ -217,11 +217,11 @@
|
||||
|
||||
<!-- Classpaths -->
|
||||
<path id="compile.classpath">
|
||||
- <pathelement location="${bnd.jar}"/>
|
||||
<pathelement location="${jdt.jar}"/>
|
||||
<pathelement location="${jaxrpc-lib.jar}"/>
|
||||
<pathelement location="${wsdl4j-lib.jar}"/>
|
||||
<pathelement location="${migration-lib.jar}"/>
|
||||
+ <path refid="bnd.classpath"/>
|
||||
</path>
|
||||
|
||||
<path id="tomcat.classpath">
|
||||
@@ -3884,6 +3884,13 @@ Read the Building page on the Apache Tom
|
||||
<!-- Add bnd tasks to project -->
|
||||
<path id="bnd.classpath">
|
||||
<fileset file="${bnd.jar}" />
|
||||
+ <fileset dir="${bnd.dir}">
|
||||
+ <include name="**/*.jar"/>
|
||||
+ </fileset>
|
||||
+ <fileset file="${osgiannotation.jar}" />
|
||||
+ <fileset file="${osgicmpn.jar}" />
|
||||
+ <fileset file="${osgicore.jar}" />
|
||||
+ <fileset file="${slf4j-api.jar}" />
|
||||
</path>
|
||||
|
||||
<taskdef resource="aQute/bnd/ant/taskdef.properties" classpathref="bnd.classpath" />
|
61
tomcat-preamble
Normal file
61
tomcat-preamble
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
. @LIBEXECDIR@/tomcat/functions
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
|
||||
if [ -z "${TOMCAT_CFG_LOADED}" ]; then
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
if [ -d "${TOMCAT_CONFD=/etc/tomcat/conf.d}" ]; then
|
||||
for file in ${TOMCAT_CONFD}/*.conf ; do
|
||||
if [ -f "$file" ] ; then
|
||||
. "$file"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -z "$CATALINA_BASE" ]; then
|
||||
if [ -n "$NAME" ]; then
|
||||
if [ -z "$TOMCATS_BASE" ]; then
|
||||
TOMCATS_BASE="/var/lib/tomcats/"
|
||||
fi
|
||||
CATALINA_BASE="${TOMCATS_BASE}${NAME}"
|
||||
else
|
||||
CATALINA_BASE="${CATALINA_HOME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Include the optional setenv.sh script.
|
||||
# (See section 3.4 of https://tomcat.apache.org/tomcat-8.0-doc/RUNNING.txt)
|
||||
if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
|
||||
. "$CATALINA_BASE/bin/setenv.sh"
|
||||
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
|
||||
. "$CATALINA_HOME/bin/setenv.sh"
|
||||
fi
|
||||
|
||||
VERBOSE=1
|
||||
set_javacmd
|
||||
cd ${CATALINA_HOME}
|
||||
# CLASSPATH munging
|
||||
if [ ! -z "$CLASSPATH" ] ; then
|
||||
CLASSPATH="$CLASSPATH":
|
||||
fi
|
||||
|
||||
if [ -n "$JSSE_HOME" ]; then
|
||||
CLASSPATH="${CLASSPATH}$(build-classpath jcert jnet jsse 2>/dev/null):"
|
||||
fi
|
||||
CLASSPATH="${CLASSPATH}${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)"
|
||||
|
||||
if [ -z "$LOGGING_PROPERTIES" ] ; then
|
||||
LOGGING_PROPERTIES="${CATALINA_BASE}/conf/logging.properties"
|
||||
if [ ! -f "${LOGGING_PROPERTIES}" ] ; then
|
||||
LOGGING_PROPERTIES="${CATALINA_HOME}/conf/logging.properties"
|
||||
fi
|
||||
fi
|
2
tomcat-rpmlintrc
Normal file
2
tomcat-rpmlintrc
Normal file
@@ -0,0 +1,2 @@
|
||||
#fix of bnc#520532
|
||||
addFilter(".*non-etc-or-var-file-marked-as-conffile /usr/share/tomcat/tomcat-webapps/ROOT.*")
|
13
tomcat-secretRequired-default.patch
Normal file
13
tomcat-secretRequired-default.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: apache-tomcat-10.1.14-src/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.14-src.orig/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
|
||||
+++ apache-tomcat-10.1.14-src/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
|
||||
@@ -177,7 +177,7 @@ public abstract class AbstractAjpProtoco
|
||||
}
|
||||
|
||||
|
||||
- private boolean secretRequired = true;
|
||||
+ private boolean secretRequired = false;
|
||||
|
||||
public void setSecretRequired(boolean secretRequired) {
|
||||
this.secretRequired = secretRequired;
|
25
tomcat-server
Normal file
25
tomcat-server
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
. @LIBEXECDIR@/tomcat/preamble
|
||||
|
||||
MAIN_CLASS=org.apache.catalina.startup.Bootstrap
|
||||
|
||||
FLAGS="$JAVA_OPTS"
|
||||
OPTIONS="-Dcatalina.base=$CATALINA_BASE \
|
||||
-Dcatalina.home=$CATALINA_HOME \
|
||||
-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
|
||||
-Djava.io.tmpdir=$CATALINA_TMPDIR \
|
||||
-Djava.util.logging.config.file=${LOGGING_PROPERTIES} \
|
||||
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
||||
|
||||
if [ "$1" = "start" ] ; then
|
||||
FLAGS="${FLAGS} $CATALINA_OPTS"
|
||||
if [ "${SECURITY_MANAGER}" = "true" ] ; then
|
||||
OPTIONS="${OPTIONS} \
|
||||
-Djava.security.manager \
|
||||
-Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy"
|
||||
fi
|
||||
run start
|
||||
elif [ "$1" = "stop" ] ; then
|
||||
run stop
|
||||
fi
|
30
tomcat-sle.catalina.policy.patch
Normal file
30
tomcat-sle.catalina.policy.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
Index: apache-tomcat-10.1.14-src/conf/catalina.policy
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.14-src.orig/conf/catalina.policy
|
||||
+++ apache-tomcat-10.1.14-src/conf/catalina.policy
|
||||
@@ -170,6 +170,9 @@ grant {
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat";
|
||||
|
||||
// Precompiled JSPs need access to these packages.
|
||||
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper";
|
||||
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.servlet";
|
||||
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
|
||||
permission java.lang.RuntimePermission
|
||||
@@ -219,6 +222,15 @@ grant codeBase "file:${catalina.home}/we
|
||||
};
|
||||
|
||||
|
||||
+// Additional basic permissions for web applications.
|
||||
+grant codeBase "file:/usr/share/java/tomcat-servlet-api.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+
|
||||
+grant codeBase "file:/usr/share/java/tomcat-el-api.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+
|
||||
// You can assign additional permissions to particular web applications by
|
||||
// adding additional "grant" entries here, based on the code base for that
|
||||
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
|
19
tomcat-tomcat-users-webapp.patch
Normal file
19
tomcat-tomcat-users-webapp.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
Index: apache-tomcat-10.1.14-src/conf/tomcat-users.xml
|
||||
===================================================================
|
||||
--- apache-tomcat-10.1.14-src.orig/conf/tomcat-users.xml
|
||||
+++ apache-tomcat-10.1.14-src/conf/tomcat-users.xml
|
||||
@@ -53,4 +53,14 @@
|
||||
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
|
||||
<user username="role1" password="<must-be-changed>" roles="role1"/>
|
||||
-->
|
||||
+
|
||||
+<!-- <role rolename="admin"/> -->
|
||||
+<!-- <role rolename="admin-gui"/> -->
|
||||
+<!-- <role rolename="admin-script"/> -->
|
||||
+<!-- <role rolename="manager"/> -->
|
||||
+<!-- <role rolename="manager-gui"/> -->
|
||||
+<!-- <role rolename="manager-script"/> -->
|
||||
+<!-- <role rolename="manager-jmx"/> -->
|
||||
+<!-- <role rolename="manager-status"/> -->
|
||||
+<!-- <user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> -->
|
||||
</tomcat-users>
|
48
tomcat-tool-wrapper.script
Normal file
48
tomcat-tool-wrapper.script
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# tomcat-digest script
|
||||
# JPackage Project <http://www.jpackage.org/>
|
||||
|
||||
# Set default JAVA_HOME
|
||||
export JAVA_HOME="${JAVA_HOME:-%{?java_home}}"
|
||||
|
||||
# Source functions library
|
||||
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't find functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
|
||||
if [ -r "$TOMCAT_CFG" ]; then
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
set_javacmd
|
||||
|
||||
# CLASSPATH munging
|
||||
if [ -n "$JSSE_HOME" ]; then
|
||||
CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
|
||||
fi
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
export CLASSPATH
|
||||
|
||||
# Configuration
|
||||
MAIN_CLASS="org.apache.catalina.startup.Tool"
|
||||
BASE_OPTIONS=""
|
||||
BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
|
||||
BASE_JARS="commons-daemon tomcat/catalina tomcat/servlet"
|
||||
|
||||
# Set parameters
|
||||
set_classpath $BASE_JARS
|
||||
set_flags $BASE_FLAGS
|
||||
set_options $BASE_OPTIONS
|
||||
|
||||
# Let's start
|
||||
run "$@"
|
52
tomcat.conf
Normal file
52
tomcat.conf
Normal file
@@ -0,0 +1,52 @@
|
||||
# System-wide configuration file for tomcat services
|
||||
# This will be loaded by systemd as an environment file,
|
||||
# so please keep the syntax. For shell expansion support
|
||||
# place your custom files as /etc/tomcat/conf.d/*.conf
|
||||
#
|
||||
# There are 2 "classes" of startup behavior in this package.
|
||||
# The old one, the default service named tomcat.service.
|
||||
# The new named instances are called tomcat@instance.service.
|
||||
#
|
||||
# Use this file to change default values for all services.
|
||||
# Change the service specific ones to affect only one service.
|
||||
# For tomcat.service it's /etc/sysconfig/tomcat, for
|
||||
# tomcat@instance it's /etc/sysconfig/tomcat@instance.
|
||||
|
||||
# This variable is used to figure out if config is loaded or not.
|
||||
TOMCAT_CFG_LOADED="1"
|
||||
|
||||
# In new-style instances, if CATALINA_BASE isn't specified, it will
|
||||
# be constructed by joining TOMCATS_BASE and NAME.
|
||||
TOMCATS_BASE="/var/lib/tomcats/"
|
||||
|
||||
# Where your java installation lives
|
||||
#JAVA_HOME="/usr/libi64/jvm/jre"
|
||||
|
||||
# Where your tomcat installation lives
|
||||
CATALINA_HOME="@@@TCHOME@@@"
|
||||
|
||||
# System-wide tmp
|
||||
CATALINA_TMPDIR="/var/cache/tomcat/temp"
|
||||
|
||||
# You can pass some parameters to java here if you wish to
|
||||
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
|
||||
|
||||
# Use JAVA_OPTS to set java.library.path for libtcnative.so
|
||||
#JAVA_OPTS="-Djava.library.path=/usr/lib"
|
||||
|
||||
# Set default javax.sql.DataSource factory to apache commons one. See rhbz#1214381
|
||||
JAVA_OPTS="-Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"
|
||||
|
||||
# You can change your tomcat locale here
|
||||
#LANG="en_US"
|
||||
|
||||
# Run tomcat under the Java Security Manager
|
||||
SECURITY_MANAGER="false"
|
||||
|
||||
# Time to wait in seconds, before killing process
|
||||
# TODO(stingray): does nothing, fix.
|
||||
# SHUTDOWN_WAIT="30"
|
||||
|
||||
# If you wish to further customize your tomcat environment,
|
||||
# put your own definitions here
|
||||
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
|
338
tomcat.keyring
Normal file
338
tomcat.keyring
Normal file
@@ -0,0 +1,338 @@
|
||||
This file contains the PGP&GPG keys of various Apache developers.
|
||||
Please don't use them for email unless you have to. Their main
|
||||
purpose is code signing.
|
||||
|
||||
Apache users: pgp < KEYS
|
||||
Apache developers:
|
||||
(pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
|
||||
or
|
||||
(gpg --fingerprint --list-sigs <your name>
|
||||
&& gpg --armor --export <your name>) >> this file.
|
||||
|
||||
Apache developers: please ensure that your key is also available via the
|
||||
PGP keyservers (such as pgpkeys.mit.edu).
|
||||
|
||||
|
||||
pub 1024D/33C60243 2004-09-12
|
||||
Key fingerprint = DCFD 35E0 BF8C A734 4752 DE8B 6FB2 1E89 33C6 0243
|
||||
uid Mark E D Thomas <markt@apache.org>
|
||||
uid Mark E D Thomas <med.thomas@virgin.net>
|
||||
uid Mark E D Thomas <mark.thomas@springsource.com>
|
||||
sub 2048g/0BECE548 2004-09-12
|
||||
|
||||
pub 4096R/2F6059E7 2009-09-18
|
||||
Key fingerprint = A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7
|
||||
uid Mark E D Thomas <markt@apache.org>
|
||||
sub 4096R/5E763BEC 2009-09-18
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.9 (MingW32)
|
||||
|
||||
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
|
||||
EHOd0lMiyFl5PBSlhe4XS988rgapUW+ee9tQmAt+RgP40fdKdJNb6+9NYGmrdnDU
|
||||
zlQtP+h/XBOcmF0/szK/U0oigg8DjYYUm5gCWXOl9H4LJgg+yOcVCOVa4oTf1sdA
|
||||
mQba1xlMhOIYBWmEhqbWZpGOS59XvpyNfOQXWu26S8HACBqyPZ2LVV4H+9cmxinT
|
||||
z7RX1yKD17nLZ/fTOzZ1gYTbhg5rNmFpDgu3nlgU8SpGQ1kd70ZkcudgehsUe1Ep
|
||||
Pyl7O8qhj5H0/3OAmRXzrq2VF17gtz7zpntA0JqsBMbSaK5qBuBcurLhBT634WDI
|
||||
oE8u5Em1UwjgTI0Cx/lPxRTbIb4PfjP2b2ik/tJaUbwUrhuZ4LAtGztMVrF4W+qn
|
||||
x9oed4OFXMBbwgS+SH6oAHlGwpxhhzXBlqZsHXm+w+2oazWUhxFFGEe5U245GEtN
|
||||
f0AznBMDWTqg0SCVEDjlKt+e9tVXkTpHYWZjGbRZbEHkCbFqKhq0KP5BGInFZTFT
|
||||
oI5jjszmuX0W/yKpRpQZ+GuJnt4VrYSy7TMvjjhIpuhDY57VUwUIkz/2Kq8Vg2wp
|
||||
Gg+29nvcGOTdyZUcTCEB33B2jQ9z0XUEp+6B2F5iZQ==
|
||||
=hSkx
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
pub rsa4096 2019-05-05 [SC]
|
||||
48F8 E69F 6390 C9F2 5CFE DCD2 6824 8959 359E 722B
|
||||
uid [ultimate] Remy Maucherat <remm@apache.org>
|
||||
sig 3 68248959359E722B 2019-05-05 Remy Maucherat <remm@apache.org>
|
||||
sub rsa4096 2019-05-05 [E]
|
||||
sig 68248959359E722B 2019-05-05 Remy Maucherat <remm@apache.org>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=l4Ry
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
NwUqv9cUGhf+Di0nAX1diWxfd7DdEi8=
|
||||
=fCQE
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
10
tomcat.logrotate
Normal file
10
tomcat.logrotate
Normal file
@@ -0,0 +1,10 @@
|
||||
@@@TCLOG@@@/catalina.out @@@TCLOG@@@/localhost_access_log.txt @@@TCLOG@@@/host-manager.log @@@TCLOG@@@/localhost.log @@@TCLOG@@@/manager.log{
|
||||
notifempty
|
||||
copytruncate
|
||||
weekly
|
||||
rotate 52
|
||||
compress
|
||||
missingok
|
||||
su tomcat tomcat
|
||||
create 0644 tomcat tomcat
|
||||
}
|
25
tomcat.service
Normal file
25
tomcat.service
Normal file
@@ -0,0 +1,25 @@
|
||||
# Systemd unit file for default tomcat
|
||||
#
|
||||
# To create clones of this service:
|
||||
# DO NOTHING, use tomcat@.service instead.
|
||||
|
||||
[Unit]
|
||||
Description=Apache Tomcat Web Application Container
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
TasksMax=576
|
||||
LimitNOFILE=8192
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/tomcat/tomcat.conf
|
||||
Environment="NAME="
|
||||
EnvironmentFile=-/etc/sysconfig/tomcat
|
||||
ExecStart=@LIBEXECDIR@/tomcat/server start
|
||||
ExecStop=@LIBEXECDIR@/tomcat/server stop
|
||||
SuccessExitStatus=143
|
||||
User=tomcat
|
||||
Group=tomcat
|
||||
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
0
tomcat.sysconfig
Normal file
0
tomcat.sysconfig
Normal file
24
tomcat.wrapper
Normal file
24
tomcat.wrapper
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" = "version" ]; then
|
||||
. @LIBEXECDIR@/tomcat/preamble
|
||||
exec ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
|
||||
org.apache.catalina.util.ServerInfo
|
||||
fi
|
||||
|
||||
SRV="tomcat"
|
||||
if [ -n "$2" ]; then
|
||||
SRV="tomcat@$2"
|
||||
fi
|
||||
|
||||
if [ "$1" = "start" ]; then
|
||||
systemctl start ${SRV}.service
|
||||
elif [ "$1" = "stop" ]; then
|
||||
systemctl stop ${SRV}.service
|
||||
elif [ "$1" = "version" ]; then
|
||||
${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
|
||||
org.apache.catalina.util.ServerInfo
|
||||
else
|
||||
echo "Usage: $0 {start|stop|version} [server-id]"
|
||||
exit 1
|
||||
fi
|
2261
tomcat10.changes
Normal file
2261
tomcat10.changes
Normal file
File diff suppressed because it is too large
Load Diff
847
tomcat10.spec
Normal file
847
tomcat10.spec
Normal file
@@ -0,0 +1,847 @@
|
||||
#
|
||||
# spec file for package tomcat10
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2000-2009, JPackage Project
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define app_name tomcat
|
||||
%define jspspec_major 3
|
||||
%define jspspec_minor 1
|
||||
%define jspspec %{jspspec_major}.%{jspspec_minor}
|
||||
%define servletspec_major 6
|
||||
%define servletspec_minor 0
|
||||
%define servletspec %{servletspec_major}.%{servletspec_minor}
|
||||
%define elspec_major 5
|
||||
%define elspec_minor 0
|
||||
%define elspec %{elspec_major}.%{elspec_minor}
|
||||
%define major_version 10
|
||||
%define minor_version 1
|
||||
%define micro_version 33
|
||||
%define java_major 1
|
||||
%define java_minor 11
|
||||
%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/%{app_name}
|
||||
%define appdir %{basedir}/webapps
|
||||
%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}/%{app_name}/%{app_name}-webapps
|
||||
%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: %{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/%{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
|
||||
Source100: valve.xslt
|
||||
Source101: allowLinking.xslt
|
||||
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: %{app_name}-bootstrap-MANIFEST.MF.patch
|
||||
#PATCH-FIX-UPSTREAM: from jpackage.org package
|
||||
Patch1: %{app_name}-%{app_name}-users-webapp.patch
|
||||
# PATCH-FIX-SLE: Change security manager default policies bnc#891264
|
||||
Patch2: %{app_name}-sle.catalina.policy.patch
|
||||
# PATCH-FIX-OPENSUSE: build javadoc with the same java source level as the class files
|
||||
Patch3: %{app_name}-javadoc.patch
|
||||
# PATCH-FIX-OPENSUSE: include all necessary aqute-bnd jars
|
||||
Patch4: %{app_name}-osgi-build.patch
|
||||
# PATCH-FIX-OPENSUSE: build against our ecj that does not have CompilerOptions.VERSION_16
|
||||
Patch5: %{app_name}-jdt.patch
|
||||
# PATCH-FIX-OPENSUSE: set ajp connector secreteRequired to false by default to avoid tomcat not starting
|
||||
Patch6: %{app_name}-secretRequired-default.patch
|
||||
Patch7: %{app_name}-fix_catalina.patch
|
||||
Patch8: %{app_name}-logrotate_everything.patch
|
||||
Patch9: tomcat-10.1-build-with-java-11.patch
|
||||
BuildRequires: ant >= 1.10.2
|
||||
BuildRequires: ant-antlr
|
||||
BuildRequires: apache-commons-collections
|
||||
BuildRequires: apache-commons-daemon >= 1.3.3
|
||||
BuildRequires: apache-commons-dbcp >= 2.0
|
||||
BuildRequires: apache-commons-pool2
|
||||
BuildRequires: aqute-bnd >= 6.3.1
|
||||
BuildRequires: aqute-bndlib >= 6.3.1
|
||||
BuildRequires: ecj >= 4.4.0
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: findutils
|
||||
BuildRequires: geronimo-jaf-1_0_2-api
|
||||
BuildRequires: geronimo-jaxrpc-1_1-api
|
||||
BuildRequires: geronimo-qname-1_1-api
|
||||
BuildRequires: geronimo-saaj-1_1-api
|
||||
BuildRequires: jakarta-taglibs-standard >= 1.1
|
||||
BuildRequires: java-devel >= 11
|
||||
BuildRequires: javapackages-local
|
||||
BuildRequires: junit
|
||||
BuildRequires: osgi-annotation
|
||||
BuildRequires: osgi-compendium
|
||||
BuildRequires: osgi-core
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: sed
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: tomcat-jakartaee-migration >= 1.0.7
|
||||
BuildRequires: unzip
|
||||
BuildRequires: wsdl4j
|
||||
BuildRequires: zip
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
Requires: %{name}-lib = %{version}-%{release}
|
||||
Requires: apache-commons-daemon
|
||||
Requires: apache-commons-dbcp
|
||||
Requires: apache-commons-jexl
|
||||
Requires: apache-commons-logging
|
||||
Requires: apache-commons-pool2
|
||||
Requires: jakarta-servlet
|
||||
Requires: java >= %{java_version}
|
||||
Requires: libtcnative-1-0 >= 1.2.38
|
||||
Requires: logrotate
|
||||
Requires(post): %fillup_prereq
|
||||
Requires(post): libxslt-tools
|
||||
# for runuser
|
||||
Requires(post): util-linux
|
||||
Requires(pre): shadow
|
||||
%systemd_ordering
|
||||
Conflicts: %{app_name}
|
||||
Provides: group(tomcat)
|
||||
Provides: user(tomcat)
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Tomcat is the servlet container that is used in the official Reference
|
||||
Implementation for the Java Servlet and JavaServer Pages technologies.
|
||||
The Java Servlet and JavaServer Pages specifications are developed by
|
||||
Sun under the Java Community Process.
|
||||
|
||||
ATTENTION: This tomcat is built with java %{java_version}.
|
||||
|
||||
%package admin-webapps
|
||||
Summary: The host manager and manager web applications for Apache Tomcat
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires(post): libxslt-tools
|
||||
# for runuser
|
||||
Requires(post): util-linux
|
||||
Conflicts: %{app_name}-admin-webapps
|
||||
|
||||
%description admin-webapps
|
||||
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: %{app_name}-embed
|
||||
|
||||
%description embed
|
||||
Embeddeding support (various libraries) for Apache Tomcat.
|
||||
|
||||
%package docs-webapp
|
||||
Summary: The "docs" web application for Apache Tomcat
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires(post): libxslt-tools
|
||||
# for runuser
|
||||
Requires(post): util-linux
|
||||
Conflicts: %{app_name}-docs-webapp
|
||||
|
||||
%description docs-webapp
|
||||
The documentation of web application for Apache Tomcat.
|
||||
|
||||
%package el-%{elspec_major}_%{elspec_minor}-api
|
||||
Summary: Expression Language v%{elspec} API
|
||||
Group: Development/Libraries/Java
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
Conflicts: %{app_name}-el-3_0-api < %{version}
|
||||
Provides: %{app_name}-el-%{elspec}-api = %{version}-%{release}
|
||||
Provides: el_%{elspec_major}_%{elspec_minor}_api = %{version}-%{release}
|
||||
Provides: el_api = %{elspec}
|
||||
Obsoletes: %{app_name}-el-2_2-api < %{version}
|
||||
Obsoletes: el_api < %{elspec}
|
||||
|
||||
%description el-%{elspec_major}_%{elspec_minor}-api
|
||||
Expression Language API version %{elspec}.
|
||||
|
||||
%package doc
|
||||
Summary: Javadoc generated documentation for Apache Tomcat
|
||||
Group: Documentation/HTML
|
||||
Conflicts: %{app_name}-javadoc
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Javadoc generated documentation files for Apache Tomcat.
|
||||
|
||||
%package jsp-%{jspspec_major}_%{jspspec_minor}-api
|
||||
Summary: Apache Tomcat JSP API implementation classes
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Conflicts: %{app_name}-jsp-2_3-api < %{version}
|
||||
Provides: %{app_name}-jsp-%{jspspec}-api
|
||||
Provides: jsp = %{jspspec}
|
||||
Provides: jsp%{jspspec_major}%{jspspec_minor}
|
||||
Obsoletes: %{app_name}-jsp-2_2-api < %{version}
|
||||
Obsoletes: jsp < %{jspspec}
|
||||
|
||||
%description jsp-%{jspspec_major}_%{jspspec_minor}-api
|
||||
Apache Tomcat JSP API implementation classes version %{jspspec}
|
||||
|
||||
%package jsvc
|
||||
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: %{app_name}-jsvc
|
||||
%systemd_ordering
|
||||
|
||||
%description jsvc
|
||||
Systemd service and wrapper scripts 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 lib
|
||||
Summary: Libraries needed to run the Tomcat Web container
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
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
|
||||
Conflicts: %{app_name}-lib
|
||||
Provides: jakarta-commons-dbcp-tomcat5 = 1.4
|
||||
Obsoletes: jakarta-commons-dbcp-tomcat5 < 1.4
|
||||
|
||||
%description lib
|
||||
Libraries required to successfully run the Tomcat Web container
|
||||
|
||||
%package servlet-%{servletspec_major}_%{servletspec_minor}-api
|
||||
Summary: Apache Tomcat Servlet API implementation classes
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Conflicts: %{app_name}-servlet-4_0-api < %{version}
|
||||
Provides: %{app_name}-servlet-%{servletspec}-api = %{version}-%{release}
|
||||
Provides: servlet = %{servletspec}
|
||||
Provides: servlet11
|
||||
Provides: servlet60
|
||||
Obsoletes: %{app_name}-servlet-3_0-api < %{version}
|
||||
Obsoletes: %{app_name}-servlet-3_1-api < %{version}
|
||||
Obsoletes: servlet < %{servletspec}
|
||||
|
||||
%description servlet-%{servletspec_major}_%{servletspec_minor}-api
|
||||
Apache Tomcat Servlet API implementation classes version %{servletspec}
|
||||
|
||||
%package webapps
|
||||
Summary: ROOT and examples web applications for Apache Tomcat
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: jakarta-taglibs-standard >= 1.1
|
||||
Requires(post): libxslt-tools
|
||||
# for runuser
|
||||
Requires(post): util-linux
|
||||
Conflicts: %{app_name}-webapps
|
||||
|
||||
%description webapps
|
||||
The ROOT and examples web applications for Apache Tomcat
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -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" \) -print -delete
|
||||
|
||||
# remove date from docs
|
||||
sed -i -e '/build-date/ d' webapps/docs/tomcat-docs.xsl
|
||||
|
||||
%build
|
||||
|
||||
ln -s $(build-classpath jakarta-taglibs-core) webapps/examples/WEB-INF/lib/jstl.jar
|
||||
ln -s $(build-classpath jakarta-taglibs-standard) webapps/examples/WEB-INF/lib/standard.jar
|
||||
|
||||
export CLASSPATH=
|
||||
export OPT_JAR_LIST="xalan-j2-serializer"
|
||||
export ANT_OPTS=-Xmx500M
|
||||
|
||||
# we don't care about the tarballs and we're going to replace
|
||||
# so just create a dummy file for later removal
|
||||
touch HACK
|
||||
mkdir -p HACKDIR
|
||||
touch HACKDIR/build.xml
|
||||
|
||||
ant -Dbase.path="." \
|
||||
-Djava.%{java_minor}.home="%{java_home}" \
|
||||
-Dbuild.compiler="modern" \
|
||||
-Dcommons-collections.jar="$(build-classpath commons-collections)" \
|
||||
-Dcommons-daemon.jar="$(build-classpath commons-daemon)" \
|
||||
-Dcommons-daemon.native.src.tgz="HACK" \
|
||||
-Djasper-jdt.jar="$(build-classpath ecj/ecj)" \
|
||||
-Djdt.jar="$(build-classpath ecj/ecj)" \
|
||||
-Dtomcat-native.tar.gz="HACK" \
|
||||
-Dtomcat-native.home="." \
|
||||
-Dcommons-daemon.native.win.mgr.exe="HACK" \
|
||||
-Dnsis.exe="HACK" \
|
||||
-Djaxrpc-lib.jar="$(build-classpath geronimo-jaxrpc-1.1-api)" \
|
||||
-Dwsdl4j-lib.jar="$(build-classpath wsdl4j)" \
|
||||
-Dsaaj-api.jar="$(build-classpath geronimo-saaj-1.1-api)" \
|
||||
-Dbnd.jar="$(build-classpath aqute-bnd/biz.aQute.bnd)" \
|
||||
-Dbnd.dir="%{_javadir}/aqute-bnd" \
|
||||
-Dosgiannotation.jar="$(build-classpath osgi-annotation/osgi.annotation)" \
|
||||
-Dosgi-annotations.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \
|
||||
-Dosgicmpn.jar="$(build-classpath osgi-compendium/osgi.cmpn)" \
|
||||
-Dosgicore.jar="$( build-classpath osgi-core/osgi.core)" \
|
||||
-Dannotation.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \
|
||||
-Dosgicmpn.jar="$(build-classpath osgi-compendium/osgi.cmpn)" \
|
||||
-Dslf4j-api.jar="$(build-classpath slf4j/slf4j-api)" \
|
||||
-Dcommons-pool.home="$(build-classpath commons-pool2)" \
|
||||
-Dcommons-dbcp.home="$(build-classpath commons-dbcp2)" \
|
||||
-Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration)" \
|
||||
-Dno.build.dbcp=true \
|
||||
-Dversion="%{version}" \
|
||||
-Dversion.build="%{micro_version}" \
|
||||
deploy dist-prepare dist-source javadoc package embed-jars
|
||||
|
||||
# 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 -source %{java_minor} -target %{javac_target} -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
|
||||
|
||||
%install
|
||||
# build initial path structure
|
||||
install -d -m 0755 %{buildroot}%{_bindir}
|
||||
install -d -m 0755 %{buildroot}%{_sbindir}
|
||||
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
|
||||
install -d -m 0755 %{buildroot}%{appdir}
|
||||
install -d -m 0755 %{buildroot}%{tomcatappdir}
|
||||
install -d -m 0755 %{buildroot}%{bindir}
|
||||
install -d -m 0775 %{buildroot}%{confdir}
|
||||
install -d -m 0755 %{buildroot}%{cachedir}/Catalina/localhost
|
||||
install -d -m 0755 %{buildroot}%{confdir}/conf.d
|
||||
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > %{buildroot}%{confdir}/conf.d/README
|
||||
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 "%{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}/%{app_name}
|
||||
install -d -m 0755 %{buildroot}%{_fillupdir}
|
||||
|
||||
cp -a %{SOURCE100} %{buildroot}%{confdir}
|
||||
cp -a %{SOURCE101} %{buildroot}%{confdir}
|
||||
|
||||
# move things into place
|
||||
# First copy supporting libs to tomcat lib
|
||||
pushd output/build
|
||||
cp -a bin/*.{jar,xml} %{buildroot}%{bindir}
|
||||
cp -a conf/*.{policy,properties,xml} %{buildroot}%{confdir}
|
||||
cp -a lib/*.jar %{buildroot}%{libdir}
|
||||
cp -a webapps/* %{buildroot}%{tomcatappdir}
|
||||
popd
|
||||
# tomcat embedded
|
||||
pushd output/embed
|
||||
cp -a *.jar %{buildroot}%{libdir}
|
||||
popd
|
||||
|
||||
# doc
|
||||
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}/%{app_name}.conf
|
||||
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
|
||||
> %{buildroot}%{_fillupdir}/sysconfig.%{app_name}
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE4} \
|
||||
> %{buildroot}%{_sbindir}/%{app_name}
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE11} \
|
||||
> %{buildroot}%{_unitdir}/%{app_name}.service
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE20} \
|
||||
> %{buildroot}%{_unitdir}/%{app_name}-jsvc.service
|
||||
sed -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
|
||||
> %{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}/%{app_name}-digest
|
||||
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
|
||||
> %{buildroot}%{_bindir}/%{app_name}-tool-wrapper
|
||||
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} \
|
||||
> %{buildroot}%{_libexecdir}/%{app_name}/functions
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE30} \
|
||||
> %{buildroot}%{_libexecdir}/%{app_name}/preamble
|
||||
chmod 0755 %{buildroot}%{_libexecdir}/%{app_name}/preamble
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE31} \
|
||||
> %{buildroot}%{_libexecdir}/%{app_name}/server
|
||||
chmod 0755 %{buildroot}%{_libexecdir}/%{app_name}/server
|
||||
sed -e "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE32} \
|
||||
> %{buildroot}%{_unitdir}/%{app_name}@.service
|
||||
|
||||
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 %{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
|
||||
%{_bindir}/build-jar-repository -s lib commons-collections \
|
||||
commons-dbcp2 commons-pool2 ecj/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 \
|
||||
taglibs-core.jar taglibs-standard.jar 2>&1
|
||||
popd
|
||||
|
||||
pushd %{buildroot}%{libdir}
|
||||
# symlink JSP and servlet and el API jars
|
||||
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
|
||||
ln -s $(build-classpath commons-pool2) commons-pool2.jar
|
||||
rm ecj.jar
|
||||
ln -s $(build-classpath ecj/ecj) ecj.jar
|
||||
ln -s $(build-classpath ecj/ecj) jasper-jdt.jar
|
||||
|
||||
# Temporary copy the juli jar here from %%{_datadir}/java/tomcat (for maven depmap)
|
||||
cp -a %{buildroot}%{bindir}/tomcat-juli.jar ./
|
||||
popd
|
||||
|
||||
# symlink to the FHS locations where we've installed things
|
||||
pushd %{buildroot}%{homedir}
|
||||
ln -s %{appdir} webapps
|
||||
ln -s %{confdir} conf
|
||||
ln -s %{libdir} lib
|
||||
ln -s %{logdir} logs
|
||||
ln -s %{tempdir} temp
|
||||
ln -s %{workdir} work
|
||||
popd
|
||||
|
||||
# install sample webapp
|
||||
mkdir -p %{buildroot}%{tomcatappdir}/sample
|
||||
pushd %{buildroot}%{tomcatappdir}/sample
|
||||
jar xf %{buildroot}%{tomcatappdir}/docs/appdev/sample/sample.war
|
||||
popd
|
||||
|
||||
pushd %{buildroot}%{tomcatappdir}/examples/WEB-INF/lib
|
||||
ln -s -f $(build-classpath jakarta-taglibs-core) jstl.jar
|
||||
ln -s -f $(build-classpath jakarta-taglibs-standard) standard.jar
|
||||
popd
|
||||
|
||||
rm %{buildroot}%{tomcatappdir}/docs/appdev/sample/sample.war
|
||||
|
||||
# Install the maven metadata
|
||||
install -d -m 0755 %{buildroot}%{_mavenpomdir}
|
||||
pushd output/dist/src/res/maven
|
||||
for pom in *.pom; do
|
||||
# fix-up version in all pom files
|
||||
sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom
|
||||
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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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} %{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}/
|
||||
|
||||
# bnc#424675
|
||||
ln -s %{cachedir}/Catalina %{buildroot}/%{confdir}
|
||||
rm -rf %{buildroot}/%{confdir}/Catalina
|
||||
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/%{app_name}
|
||||
#bnc#565901
|
||||
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}/%{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
|
||||
|
||||
%pre
|
||||
# add the tomcat user and group
|
||||
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 %{app_name}.service
|
||||
|
||||
%post
|
||||
%service_add_post %{app_name}.service
|
||||
%{fillup_only %{app_name}}
|
||||
chown -R tomcat:tomcat %{confdir}/server.xml
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{confdir}/server.xml %{confdir}/valve.xslt %{confdir}/server.xml
|
||||
|
||||
%preun
|
||||
%service_del_preun %{app_name}.service
|
||||
|
||||
%postun
|
||||
%service_del_postun %{app_name}.service
|
||||
|
||||
%pre jsvc
|
||||
%service_add_pre %{app_name}-jsvc.service
|
||||
|
||||
%post jsvc
|
||||
%service_add_post %{app_name}-jsvc.service
|
||||
|
||||
%preun jsvc
|
||||
%service_del_preun %{app_name}-jsvc.service
|
||||
|
||||
%postun jsvc
|
||||
%service_del_postun %{app_name}-jsvc.service
|
||||
|
||||
%post el-%{elspec_major}_%{elspec_minor}-api
|
||||
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}/%{app_name}-el-%{elspec}-api.jar
|
||||
fi
|
||||
|
||||
%post jsp-%{jspspec_major}_%{jspspec_minor}-api
|
||||
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}/%{app_name}-jsp-%{jspspec}-api.jar
|
||||
fi
|
||||
|
||||
%post servlet-%{servletspec_major}_%{servletspec_minor}-api
|
||||
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 %{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
|
||||
if [ $1 -eq 0 ] ; then
|
||||
if [ ! -f %{_sysconfdir}/alternatives/servlet ]; 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}/%{app_name}-servlet-%{servletspec}-api.jar %{_sysconfdir}/alternatives/servlet
|
||||
fi
|
||||
update-alternatives --remove servlet \
|
||||
%{_javadir}/%{app_name}-servlet-%{servletspec}-api.jar
|
||||
fi
|
||||
|
||||
%post lib
|
||||
# those links are no longer needed
|
||||
rm -f \
|
||||
%{libdir}/\[commons-collections-tomcat5\].jar \
|
||||
%{libdir}/\[commons-dbcp-tomcat5\].jar \
|
||||
%{libdir}/\[commons-pool-tomcat5\].jar \
|
||||
%{libdir}/\[ecj\].jar >/dev/null 2>&1
|
||||
|
||||
%post webapps
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/examples/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/examples/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/examples/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/examples ]; then
|
||||
ln -sf %{tomcatappdir}/examples %{_datadir}/%{app_name}/webapps/examples
|
||||
fi
|
||||
#use the same context.xml for sample war
|
||||
mkdir -p %{tomcatappdir}/ROOT/META-INF
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/ROOT/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/ROOT/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/examples/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/ROOT ]; then
|
||||
ln -sf %{tomcatappdir}/ROOT %{_datadir}/%{app_name}/webapps/ROOT
|
||||
fi
|
||||
#use the same context.xml for sample war
|
||||
mkdir -p %{tomcatappdir}/webapps/sample/META-INF
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/sample/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/sample/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/examples/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/sample ]; then
|
||||
ln -sf %{tomcatappdir}/sample %{_datadir}/%{app_name}/webapps/sample
|
||||
fi
|
||||
|
||||
%postun webapps
|
||||
if [ $1 -eq 0 ]; then # uninstall only
|
||||
rm %{tomcatappdir}/ROOT/META-INF/context.xml
|
||||
rm %{tomcatappdir}/sample/META-INF/context.xml
|
||||
fi
|
||||
|
||||
%post admin-webapps
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/manager/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/manager/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/manager/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/manager ]; then
|
||||
ln -sf %{tomcatappdir}/manager %{_datadir}/%{app_name}/webapps/manager
|
||||
fi
|
||||
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/host-manager/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/host-manager/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/host-manager/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/host-manager ]; then
|
||||
ln -sf %{tomcatappdir}/host-manager %{_datadir}/%{app_name}/webapps/host-manager
|
||||
fi
|
||||
|
||||
%post docs-webapp
|
||||
chown -R tomcat:tomcat %{tomcatappdir}/docs/META-INF
|
||||
runuser -u tomcat -g tomcat -- xsltproc --output %{tomcatappdir}/docs/META-INF/context.xml %{confdir}/allowLinking.xslt %{tomcatappdir}/docs/META-INF/context.xml
|
||||
if [ ! -e %{_datadir}/%{app_name}/webapps/docs ]; then
|
||||
ln -sf %{tomcatappdir}/docs %{_datadir}/%{app_name}/webapps/docs
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc {LICENSE,NOTICE,RELEASE*}
|
||||
%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
|
||||
#bnc#565901
|
||||
%{bindir}/catalina.sh
|
||||
%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}
|
||||
%attr(0770,tomcat,tomcat) %dir %{logdir}
|
||||
%attr(0660,tomcat,tomcat) %{logdir}/catalina.out
|
||||
%attr(0770,root,tomcat) %dir %{cachedir}
|
||||
%attr(0775,root,tomcat) %dir %{cachedir}/Catalina
|
||||
|
||||
# tomcat group writtable dirs - bnc#625415
|
||||
%attr(0770,root,tomcat) %dir %{tempdir}
|
||||
%attr(0770,root,tomcat) %dir %{workdir}
|
||||
%attr(0775,root,tomcat) %dir %{tomcatappdir}
|
||||
|
||||
%{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}/%{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
|
||||
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/server.xml
|
||||
# keep tomcat-users.xml readable only by root and tomcat group
|
||||
%attr(0640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
|
||||
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/web.xml
|
||||
%attr(0644,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml
|
||||
%attr(0755,root,tomcat) %dir %{homedir}
|
||||
%attr(0644,root,tomcat) %{bindir}/bootstrap.jar
|
||||
%attr(0644,root,tomcat) %{bindir}/catalina-tasks.xml
|
||||
%{homedir}/lib
|
||||
%{homedir}/temp
|
||||
%{homedir}/webapps
|
||||
%{homedir}/work
|
||||
%{homedir}/logs
|
||||
%{homedir}/conf
|
||||
%attr(0644,root,tomcat) %{_fillupdir}/sysconfig.%{app_name}
|
||||
%attr(0644,root,tomcat) %{confdir}/allowLinking.xslt
|
||||
%attr(0644,root,tomcat) %{confdir}/valve.xslt
|
||||
|
||||
%files admin-webapps
|
||||
%defattr(0644,root,tomcat,0755)
|
||||
%{tomcatappdir}/host-manager
|
||||
%config(noreplace) %{tomcatappdir}/host-manager/META-INF/context.xml
|
||||
%{tomcatappdir}/manager
|
||||
%config(noreplace) %{tomcatappdir}/manager/META-INF/context.xml
|
||||
|
||||
%files docs-webapp
|
||||
%{tomcatappdir}/docs
|
||||
|
||||
%files el-%{elspec_major}_%{elspec_minor}-api -f output/dist/src/res/maven/.mfiles-el-api
|
||||
%{_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}/%{app_name}
|
||||
|
||||
%files jsp-%{jspspec_major}_%{jspspec_minor}-api -f output/dist/src/res/maven/.mfiles-jsp-api
|
||||
%{_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}/%{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
|
||||
|
||||
%files embed -f output/dist/src/res/maven/.mfiles-embed
|
||||
%dir %{libdir}
|
||||
|
||||
%files servlet-%{servletspec_major}_%{servletspec_minor}-api -f output/dist/src/res/maven/.mfiles-servlet-api
|
||||
%license LICENSE
|
||||
%{_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 %attr(-,root,root) %{_sysconfdir}/alternatives/servlet.jar
|
||||
%ghost %attr(-,root,root) %{_sysconfdir}/alternatives/servlet
|
||||
|
||||
%files webapps
|
||||
%defattr(0644,root,tomcat,0755)
|
||||
#bnc#520532
|
||||
%config(noreplace) %{tomcatappdir}/ROOT
|
||||
%{tomcatappdir}/examples
|
||||
%config(noreplace) %{tomcatappdir}/examples/META-INF/context.xml
|
||||
%{tomcatappdir}/sample
|
||||
|
||||
%files jsvc
|
||||
%defattr(755,root,root,0755)
|
||||
%attr(0644,root,root) %{_unitdir}/%{app_name}-jsvc.service
|
||||
%{_sbindir}/rc%{app_name}-jsvc
|
||||
|
||||
%changelog
|
16
valve.xslt
Normal file
16
valve.xslt
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
<xsl:strip-space elements="*"/>
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="Valve[@className='org.apache.catalina.valves.AccessLogValve']">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="rotatable">false</xsl:attribute>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
Reference in New Issue
Block a user