Bug 899255 (JBEWS-17) - EWS - tomcat libraries inconsistencies
Summary: EWS - tomcat libraries inconsistencies
Keywords:
Status: CLOSED NEXTRELEASE
Alias: JBEWS-17
Product: JBoss Enterprise Web Server 1
Classification: JBoss
Component: unspecified
Version: EWS 1.0.1
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: ---
Assignee: David Knox
QA Contact:
URL: http://jira.jboss.org/jira/browse/JBE...
Whiteboard: DOC-60423
Depends On:
Blocks: JBEWS-365
TreeView+ depends on / blocked
 
Reported: 2010-03-12 11:08 UTC by Aleksandar Kostadinov
Modified: 2015-11-02 00:17 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
RHEL[45] tomcat[56] rpm
Last Closed: 2011-06-23 16:34:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
rhel5_from_zip.lists.zip (2.00 KB, application/zip)
2011-03-22 09:18 UTC, Ivo Studensky
no flags Details
rhel5_rpm.zip (2.55 KB, application/zip)
2011-03-23 16:18 UTC, Martin Malina
no flags Details
rhel4_from_zip_lists.zip (2.55 KB, application/zip)
2011-03-30 11:54 UTC, Jan Lanik
no flags Details
rhel4_from_rpm_lists.zip (2.66 KB, application/zip)
2011-03-30 14:28 UTC, Jan Lanik
no flags Details
ttt-RHELvsSOL.tgz (3.28 MB, application/x-compressed-tar)
2011-05-16 11:10 UTC, Aleksandar Kostadinov
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 899418 0 urgent CLOSED Unsigned catalina-ant.jar jasper-compiler.jar and jasper-runtime.jar in windows and solaris builds 2021-02-22 00:41:40 UTC
Red Hat Issue Tracker JBEWS-17 0 None Closed None 2013-01-25 08:11:48 UTC

Internal Links: 899418

Description Aleksandar Kostadinov 2010-03-12 11:08:39 UTC
project_key: JBEWS

There are inconsistencies in libraries used to run tomcat.

tomcat5 duplicate libraries in zip with contents probably different:
jakarta-commons-collections-tomcat5-3.2.jar (zip+rpm) and commons-collections.jar(zip only)
jakarta-commons-dbcp-tomcat5-1.2.1.jar (zip+rpm) and commons-dbcp.jar (zip only)
jakarta-commons-pool-tomcat5-1.3.jar (zip+rpm) and commons-pool.jar (zip only)
catalina-ant present in server/lib and commons/lib
mx4j.jar present in server/lib and commons/lib
commons-el.jar in server/lib and commons/lib

tomcat5 library version used:
tomcat6-jsp-2.1-api-6.0.24.jar (in rpm by default this version is used)
tomcat6-servlet-2.5-api-6.0.24.jar (in rpm by default this version is used)

tomcat5 libraries present in zip only:
commons/lib/catalina-ant.jar and ant.jar (zip only, for rpm there is a version in server/lib)
commons-logging-api.jar (zip only)
commons-logging.jar (zip only)
jta.jar (zip only)
mx4j.jar (zip only)
regexp.jar (zip only)
commons-fileupload.jar (zip only)
commons-digester.jar (zip only)
commons-beanutils.jar (zip only)

tomcat6 duplicates in rpm:
/usr/share/java/ecj-3.3.1.1.jar /usr/share/java/tomcat6/ecj.jar are same bits in a separate location on rpm
commons-dbcp-tomcat5.jar and tomcat-dbcp-6.0.24.jar - bits are different

tomcat6 present either in rpm or zip:
commons-collections-tomcat5.jar - only rpm
commons-pool-tomcat5.jar - only rpm
tomcat-juli-adapters-6.0.24.jar - only rpm
jasper-jdt.jar - missing from rpm

Comment 1 Aleksandar Kostadinov 2010-03-12 11:58:03 UTC
Just FYI to see all link destinations you can use `for i in *; do readlink -f "$i"; done'


Comment 2 Aleksandar Kostadinov 2010-03-12 12:44:32 UTC
I've updated the tomcat5 lists with what I found in server/lib. Before I was only looking at commons/lib

Comment 3 Aleksandar Kostadinov 2010-03-12 12:48:49 UTC
Link: Added: This issue is a dependency of JBPAPP-3902


Comment 4 Anne-Louise Tangring 2010-10-28 19:04:37 UTC
Needs investigation. Aleksandar to add more information on how/what he tested. Accepted for 1.0.2

Comment 6 Permaine Cheung 2011-02-14 18:50:24 UTC
Thanks for the details, Alex.
Here are the changes that will be in EWS 1.0.2.
In Tomcat 5, the following will be removed from common/lib/ in the zip:
commons-collections.jar
commons-dbcp.jar
commons-pool.jar
catalina-ant.jar
ant.jar
mx4j.jar
commons-logging-api.jar
jta.jar
regexp.jar
The following removed from server/lib in the zip:
commons-fileupload.jar
commons-digester.jar
commons-beanutils.jar
commons-el.jar
mx4j*jar
commons-logging.jar

The tomcat 5 using tomcat 6 version of libraries are fixed in JBPAPP-3789.
Please note that the jakarta-commons-{collections,dbcp,pool}.jar are supposed to be different than the jakarta-commons-*-tomcat5 ones

For tomcat6,
tomcat-dbcp = commons-dbcp-tomcat5+commons-collections-tomcat5+commons-pool-tomcat5
so we should have the above in the rpm instead of tomcat-dbcp.

The tomcat-juli-adapters.jar is in the extras dir.

jsper-jdt.jar is in the rpm: /usr/share/java/tomcat6/jasper-jdt.jar -> /usr/share/java/ecj.jar

Changes for tomcat 6 has been commited, tomcat5 ones will be commited soon.













































Comment 7 Permaine Cheung 2011-02-18 14:05:27 UTC
Assigning to Dave as he's putting in the tomcat5 changes.

Comment 8 Aleksandar Kostadinov 2011-03-14 14:41:09 UTC
Labels: Added: DOC-60423


Comment 10 Ivo Studensky 2011-03-22 09:18:21 UTC
Attached lists of jar files of tc5 and tc6 from the RHEL5 ZIPs.

Martin, could you upload the RHEL5 lists from RPM installation, please?

Comment 11 Ivo Studensky 2011-03-22 09:18:22 UTC
Attachment: Added: rhel5_from_zip.lists.zip


Comment 12 Martin Malina 2011-03-23 15:51:43 UTC
When EWS is installed from rpm, there is a lot of symlink, so this proved to be a good way of getting the list of the actual jar files:
find -L $TC_HOME -iname '*.jar' -exec readlink -f {} \;
where $TC_HOME is e.g. /usr/share/tomcat5

Comment 13 Martin Malina 2011-03-23 16:18:27 UTC
Attached are the lists for RHEL5 i386/x86_64 installed from rpm.

Comment 14 Martin Malina 2011-03-23 16:18:27 UTC
Attachment: Added: rhel5_rpm.zip


Comment 15 Jan Lanik 2011-03-25 13:53:09 UTC
Attachment: Added: rhel4_from_rpm_lists.zip
Attachment: Added: rhel4_from_zip_lists.zip


Comment 16 Jan Lanik 2011-03-25 13:53:59 UTC
attached the lists for RHEL4 i386/x86_64

Comment 18 Jan Lanik 2011-03-30 11:54:14 UTC
Attachment: Removed: rhel4_from_rpm_lists.zip 


Comment 19 Jan Lanik 2011-03-30 11:54:20 UTC
Attachment: Removed: rhel4_from_zip_lists.zip 


Comment 20 Jan Lanik 2011-03-30 11:54:47 UTC
Attachment: Added: rhel4_from_zip_lists.zip


Comment 21 Jan Lanik 2011-03-30 11:56:15 UTC
I added the list for zip distribution obtained by find with readlink -f option 

Comment 22 Jan Lanik 2011-03-30 14:28:24 UTC
Attachment: Added: rhel4_from_rpm_lists.zip


Comment 23 Jan Lanik 2011-03-30 14:28:49 UTC
the same for rpms

Comment 24 Aleksandar Kostadinov 2011-03-30 17:12:14 UTC
At the moment I don't see a quick enough way to verify included jars and versions but here I'll put some inconsistencies I can track. I'm still thinking about a way to verify jars are the same version on each supported architecture.

duplicate jars:
rhel4_i686_tc6_rpm.list:/usr/share/java/ecj-3.3.1.1.jar
rhel4_i686_tc6_rpm.list:/usr/share/java/tomcat6/ecj.jar
rhel4_x86_64_tc6_rpm.list:/usr/share/java/ecj-3.3.1.1.jar
rhel4_x86_64_tc6_rpm.list:/usr/share/java/tomcat6/ecj.jar

jars that are not present in the listed architecture (jars are represented by a grep regular expression) but are presented in at least one other architecture:
rhel4_i686_tc6_rpm.list: jboss\(-common\)\?-logging-jdk did not match any jar
rhel4_i686_tc6_rpm.list: jboss\(-common\)\?-logging-spi did not match any jar
rhel4_i686_tc6_rpm.list: mod-cluster did not match any jar
rhel4_i686_tc6_rpm.list: commons-daemon did not match any jar
rhel4_i686_tc6_rpm.list: jasper-jdt did not match any jar
rhel4_i686_tc6_zip.list: ecj did not match any jar
rhel4_i686_tc6_zip.list: jakarta-commons-logging-tomcat-juli did not match any jar
rhel4_i686_tc6_zip.list: commons-collections did not match any jar
rhel4_i686_tc6_zip.list: commons-pool did not match any jar
rhel4_x86_64_tc6_rpm.list: jboss\(-common\)\?-logging-jdk did not match any jar
rhel4_x86_64_tc6_rpm.list: jboss\(-common\)\?-logging-spi did not match any jar
rhel4_x86_64_tc6_rpm.list: mod-cluster did not match any jar
rhel4_x86_64_tc6_rpm.list: commons-daemon did not match any jar
rhel4_x86_64_tc6_rpm.list: jasper-jdt did not match any jar
rhel4_x86_64_tc6_zip.list: ecj did not match any jar
rhel4_x86_64_tc6_zip.list: jakarta-commons-logging-tomcat-juli did not match any jar
rhel4_x86_64_tc6_zip.list: commons-collections did not match any jar
rhel4_x86_64_tc6_zip.list: commons-pool did not match any jar
rhel5_i386_tc6_rpm.list: commons-daemon did not match any jar
rhel5_i386_tc6_rpm.list: jasper-jdt did not match any jar
rhel5_i386_tc6_zip.list: ecj did not match any jar
rhel5_i386_tc6_zip.list: jakarta-commons-logging-tomcat-juli did not match any jar
rhel5_i386_tc6_zip.list: commons-collections did not match any jar
rhel5_i386_tc6_zip.list: commons-pool did not match any jar
rhel5_x86_64_tc6_rpm.list: commons-daemon did not match any jar
rhel5_x86_64_tc6_rpm.list: jasper-jdt did not match any jar
rhel5_x86_64_tc6_zip.list: ecj did not match any jar
rhel5_x86_64_tc6_zip.list: jakarta-commons-logging-tomcat-juli did not match any jar
rhel5_x86_64_tc6_zip.list: commons-collections did not match any jar
rhel5_x86_64_tc6_zip.list: commons-pool did not match any jar

Are we able to make the build process generate a list of jar files and versions so we can later compare the jar versions between each architecture and verify all listed jars are actually present?

Comment 25 Aleksandar Kostadinov 2011-03-31 17:19:55 UTC
Here I see some redundancy in tomcat 5 rpm:
/usr/share/java/jakarta-commons-collections-3.2.jar
/usr/share/java/jakarta-commons-collections-tomcat5-3.2.jar
/usr/share/java/jakarta-commons-dbcp-1.2.1.jar
/usr/share/java/jakarta-commons-dbcp-tomcat5-1.2.1.jar
/usr/share/java/jakarta-commons-pool-1.3.jar
/usr/share/java/jakarta-commons-pool-tomcat5-1.3.jar

Here are files present in rpm but not present in zip:
rhel4_i686_tc5_rpm.list: /usr/share/java/tomcat5/tomcat-jkstatus-ant-5.5.28.jar not matched by any pattern
rhel4_i686_tc5_rpm.list: /usr/share/java/xerces-j2-2.9.1.jar not matched by any pattern

Here are files present in zip but not present in rpm
rhel4_i686_tc5_rpm.list: mx4j did not match any jar
rhel4_i686_tc5_rpm.list: jaxp_parser_impl did not match any jar
rhel4_i686_tc5_rpm.list: catalina-ant.jar did not match any jar
rhel4_i686_tc5_rpm.list: ant.jar did not match any jar
rhel4_i686_tc5_rpm.list: commons-collections.jar did not match any jar
rhel4_i686_tc5_rpm.list: commons-logging-api did not match any jar
rhel4_i686_tc5_rpm.list: jta did not match any jar
rhel4_i686_tc5_rpm.list: regexp did not match any jar
rhel4_i686_tc5_rpm.list: commons-el did not match any jar
rhel4_i686_tc5_rpm.list: commons-logging did not match any jar
rhel4_i686_tc5_rpm.list: mx4j-impl.jar did not match any jar

We really need some way to map jars to sources or versions so we can reliably match them between builds.

Comment 27 Permaine Cheung 2011-04-04 15:33:32 UTC
Dave, can you please look into the differences that are mentioned and comment on them? Thanks!

Comment 28 David Knox 2011-04-15 21:40:45 UTC
i'm working through this point by point.

/usr/share/java/jakarta-commons-collections-3.2.jar
/usr/share/java/jakarta-commons-collections-tomcat5-3.2.jar
/usr/share/java/jakarta-commons-dbcp-1.2.1.jar
/usr/share/java/jakarta-commons-dbcp-tomcat5-1.2.1.jar
/usr/share/java/jakarta-commons-pool-1.3.jar
/usr/share/java/jakarta-commons-pool-tomcat5-1.3.jar

These are not redundant. The code in commons-*-tomcat5 is a subset of commons-*.jar and has different package names. It exists to work around an old problem in commons-collections. Maintaining both allows legacy webapps to continue running without issues.


rhel4_i686_tc5_rpm.list: /usr/share/java/tomcat5/tomcat-jkstatus-ant-5.5.28.jar not matched by any pattern
jkstatus-ant is no longer provided in 5.5.33

rhel4_i686_tc5_rpm.list: /usr/share/java/xerces-j2-2.9.1.jar not matched by any pattern
The xerces-j2 package provides both xerces-j2-2.9.1.jar and jaxp_parser_impl.jar.
-rw-rw-r--. 1 dknox dknox 1367239 Mar 22 07:18 jaxp_parser_impl.jar
-rw-rw-r--. 1 dknox dknox 1367239 Mar 22 07:18 xerces-j2.jar
Both are the same size and have the same contents. Only one is needed in the zip while both are provided by the xerces package.



Comment 29 David Knox 2011-04-18 18:09:41 UTC
Per the rhel-4 files in zip but not in rpm:

- catalina-ant is moved into a public repository: $_javadir/catalina-ant-%{version}.jar. 
- jaxp_parser_impl is a member of xerces-j2 package. It has the same contents as xerces-j2.jar and is in a public repository.
- ant.jar is a member of the ant package and is in a public repository. It must be in the zip install.
- mx4j and mx4j-impl are members of the mx4j packages and are linked a public repository. They must be provided with the zip install.
- jta is provided by jboss-transaction-1.0.1-api and has a R, and R(post). jta is needed at runtime and must be provided with the zip. It is dependent of the rpm and in a public repo.
- commons-logging-api.jar is provided by jakarta-commons-logging and is a subset of commons-logging.jar. The package is a Required dependency and linked to a public repo. It must be provided with the zip install.
- regexp.jar is provided by the regexp package. It is a Required dependency and linked to a public repo. It must be provided with the zip install.
- commons-collections.jar is provided by jakarta-commons-collections. It is a Required dependency and linked to a public repo. It must be provided with the zip install.
- commons-el.jar is provided by jakarta-commons-el aka apache-commons-el. It is a Required dependency and linked to a public repo. It must be provided with the zip install

Comment 30 Aleksandar Kostadinov 2011-05-16 11:03:39 UTC
I took a different approach this time. I used tattletale to look at /usr/share/tomcat[56] and compare available classes with what we ship for solaris. I'm skipping a few known problems like mod_cluster version in CR2.

So the good news is that tomcat6 looks to me fine. But in tomcat 5 I see a some discrepancies (see below). For the dbcp case I see it acceptable to have two versions of DBCP with different package names but don't see it acceptable to have one version for one platform and another for another platform.

only in RHEL4 RPM:
[javamail].jar
[jaf].jar
[commons-dbcp-tomcat5].jar

only in solaris9 sparc zip:
mx4j.jar, 	mx4j-impl.jar
commons-chain.jar
commons-dbcp.jar
commons-logging.jar (not commons-logging-api.jar)
ant.jar

Comment 31 Aleksandar Kostadinov 2011-05-16 11:10:48 UTC
Attaching [^ttt-RHELvsSOL.tgz] which contains tattletale reports for tomcat[56], a groovy script to extract class names from the report's classlocation/index.html so these can easily be diffed. Also attached the diffs that I made.

Comment 32 Aleksandar Kostadinov 2011-05-16 11:10:48 UTC
Attachment: Added: ttt-RHELvsSOL.tgz


Comment 33 Permaine Cheung 2011-05-17 14:13:03 UTC
Please document the ones that didn't make it to CR3, then move this to TBD to be fixed in the next release.

Comment 34 David Knox 2011-05-17 19:40:41 UTC
Planned for the next release cycle. 
* commons-*-tomcat5 libraries
  javamail
  jaf 
 will be included or confirmed to be in the tomcat5 zip for ews
* mx4j/*
  commons-chain
  commons-dbcp
  commons-logging
 will be include or confirmed to be in the tomcat5 rpms for ews

Comment 35 David Knox 2011-05-17 19:44:56 UTC
Hi Rebecca,
please reassign to me after documentation for fixing in the next release.

thanks!

Comment 36 Rebecca Newton 2011-05-19 06:05:23 UTC
Hi David, I have added RN text to the RN text box on this JIRA, let me know what you think. Beyond that, the bug is all yours!

Comment 37 Rebecca Newton 2011-05-19 06:05:23 UTC
Release Notes Docs Status: Added: Documented as Known Issue
Release Notes Text: Added: The libraries provided by Tomcat 5 and 6 differ between the RPM and ZIP distributions. Refer to the JIRA for further details.


Comment 38 David Knox 2011-05-24 14:40:50 UTC
Progress:
* changes made to tomcat5 dist-4e-ep-5 zip:
in common/lib commons-*-tomcat5
in common/lib jaf
in common/lib javamail 
removed duplicate mx4j from common/lib; the mx4j libs are in server/lib and bin


Comment 39 David Knox 2011-05-24 15:12:00 UTC
Response to tattletale reports:
Circular Dependency:
[catalina-ant5].jar - ant tasks intended to be used outside of the container
[tomcat5][catalina-optional].jar - optional security realms and valves
[tomcat5][catalina].jar - base classes needed by catalina-optional.

- I found no import of catalina-ant in catalina.jar. The reference to catalina-ant.jar
in catalina.jar is a name in a HashSet. The hashset is used to list jars that are known not to contain TLDs. 
- catalina-optional and catalina.jar share package names. catalina-optional contains classes that are considered required (e.g., DataSourceRealm) despite the 'optional' in the name. There is a circular dependency between them, but nothing was done about it upstream.

Multiple Jar Files:
- bootstrap.jar is used to start tomcat. it is used to create the container classloader. There is no duplication in the classloader hierarchy. The same is true of naming-resources and tomcat-util.

- (Looking into) The duplications between catalina-ant and catalina.jar (org.apache.catalina.util.Base64)
- (Looking into) The duplication between jasper-compiler and jasper-runtime (org.apache.jasper.compiler.Localizer)

Invalid Version:
I'm looking into this. Even though the title seems obvious the report results are not.



Comment 40 Aleksandar Kostadinov 2011-05-25 06:12:28 UTC
David, you could look at tattletale user documentation where different reports are explained. IIRC Invalid version means invalid for the OSGi standard.

Comment 41 David Knox 2011-05-25 15:13:44 UTC
Progress for dist-5E-ep-5:
mx4j/*
commons-chain
commons-dbcp
commons-logging

are now in the rpm distro for tomcat5-5.5.33-17_patch_04.ep5.el5 and later. This is not checked in yet (needs testing). Next going through dist-4E and jb-eap-rhel-6.

Comment 42 David Knox 2011-05-25 15:16:40 UTC
Aleks,
Is the intent to follow the OSGI standard in this case? The jars in question are:

/usr/share/java/glassfish-javamail-monolithic-1.4.2.jar $1.4
/usr/share/java/xml-commons-jaxp-1.3-apis-1.3.04.jar 	1.0.b3

the definition of "invalid version" is:
...archives that [don't] have a valid OSGi version identifier.


Comment 44 Aleksandar Kostadinov 2011-06-06 19:15:34 UTC
Link: Added: This issue relates to JBPAPP-6553


Comment 45 Aleksandar Kostadinov 2011-06-07 03:20:17 UTC
After removing commons-logging-api.jar from common/lib log4j stopped working as documented in tomcat5. When I do "cp ./bin/commons-logging-api.jar common/lib/" then log4j starts working as before.
This is a regression but I don't consider it a blocker because easy workaround is available (copy commons-logging-api.jar). In my opinion release notes would suffice.

Comment 46 David Knox 2011-06-08 16:52:33 UTC
commons-logging-api is in common/lib as of tomcat5-5.5.33-19_patch_04.ep5.el5. Checking rhel-4 and rhel-6. 

Comment 47 David Knox 2011-06-09 22:43:34 UTC
rhel-4 and rhel-5 are done. rhel6 tomorrow.

Comment 48 David Knox 2011-06-10 19:37:15 UTC
tomcat5 is complete. The zips and the rpms resemble each other. tomcat6 next week.

{noformat}
common/lib
ant.jar
[commons-chain].jar              [jasper5-compiler].jar
[commons-collections].jar        [jasper5-runtime].jar
commons-collections-tomcat5.jar  javamail.jar
commons-dbcp.jar                 jta.jar
[commons-dbcp-tomcat5].jar       mx4j-impl.jar
commons-el.jar                   mx4j.jar
[commons-logging].jar            [commons-logging-api].jar
commons-pool.jar                 [tomcat5-jsp-2.0-api].jar
[commons-pool-tomcat5].jar       [tomcat5][naming-factory].jar
[ecj3].jar                       [tomcat5][naming-resources].jar
jaf.jar
regexp.jar                       [tomcat5-servlet-2.4-api].jar



server/lib
[catalina-ant5].jar                 [tomcat5][servlets-default].jar
commons-modeler.jar                 [tomcat5][servlets-invoker].jar
servlets-cgi.renametojar            [tomcat5][servlets-webdav].jar
servlets-ssi.renametojar            [tomcat5][tomcat-ajp].jar
[tomcat5][catalina-ant-jmx].jar     [tomcat5][tomcat-apr].jar
[tomcat5][catalina-cluster].jar     [tomcat5][tomcat-coyote].jar
[tomcat5][catalina].jar             [tomcat5][tomcat-http].jar
[tomcat5][catalina-optional].jar    [tomcat5][tomcat-util].jar
[tomcat5][catalina-storeconfig].jar
[commons-beanutils].jar
[commons-fileupload].jar
[commons-digester].jar

bin/
bootstrap.jar
commons-daemon.jar
commons-logging-api.jar
tomcat-juli.jar
{noformat}

Comment 49 David Knox 2011-06-15 19:07:07 UTC
rhel-5 tomcat6/lib from the zip contains jboss-logging-jdk.jar and jboss-logging.spi.jar. The rpm doesn't contain them either. The are not in the rhel-4 or rhel-6 distro anywhere. Is there a reason?

Looking into this more, mod_cluster.jar is also in rhel-5 and not rhel-[4,6]. I suspect the jars unique to rhel-5 are required because of the downstream use of the zip for solaris and windows, and are not needed in rhel-[4,6].

Permaine, can you confirm this?
Ahh, just saw your update about mod_cluster in the log.

thanks,
--dave


Comment 50 Permaine Cheung 2011-06-16 13:12:00 UTC
RHEL 5 zip contains the necessary libraries for mod_cluster so that our Hudson build can just use that zip and it already have all the libraries. However, I would like to decouple that in the next release so that we don't have to rebuild tomcat6 on RHEL 5 after any mod_cluster changes (JBPAPP-6720).

Comment 51 David Knox 2011-06-20 21:59:14 UTC
the jars for tomcat6 have been normalized across rhel-[4,5,6]

rpm:
{noformat}
[root@localhost dist-4e-ep-5]# ls /usr/share/tomcat6/bin
bootstrap-6.0.32.jar       commons-logging-tomcat-juli-6.0.32.jar
bootstrap.jar              commons-logging-tomcat-juli.jar
catalina-tasks.xml         tomcat-juli-6.0.32.jar
commons-daemon-6.0.32.jar  tomcat-juli.jar
commons-daemon.jar

[root@localhost dist-4e-ep-5]# ls /usr/share/tomcat6/lib
annotations-api-6.0.32.jar       jasper-jdt.jar
annotations-api.jar              tomcat6-el-1.0-api-6.0.32.jar
catalina-6.0.32.jar              tomcat6-jsp-2.1-api-6.0.32.jar
catalina-ant-6.0.32.jar          tomcat6-servlet-2.5-api-6.0.32.jar
catalina-ant.jar                 tomcat-coyote-6.0.32.jar
catalina-ha-6.0.32.jar           tomcat-coyote.jar
catalina-ha.jar                  tomcat-i18n-es-6.0.32.jar
catalina.jar                     tomcat-i18n-es.jar
commons-collections-tomcat5.jar  tomcat-i18n-fr-6.0.32.jar
commons-dbcp-tomcat5.jar         tomcat-i18n-fr.jar
commons-pool-tomcat5.jar         tomcat-i18n-ja-6.0.32.jar
jasper-6.0.32.jar                tomcat-i18n-ja.jar
jasper-el-6.0.32.jar             tomcat-juli-adapters-6.0.32.jar
jasper-el.jar                    tomcat-juli-adapters.jar
jasper.jar
{noformat}

zip:
{noformat}
apache-tomcat-6.0.32/bin/
apache-tomcat-6.0.32/bin/tool-wrapper.sh
apache-tomcat-6.0.32/bin/shutdown.sh
apache-tomcat-6.0.32/bin/setclasspath.sh
apache-tomcat-6.0.32/bin/commons-daemon.jar
apache-tomcat-6.0.32/bin/catalina.sh
apache-tomcat-6.0.32/bin/tomcat-juli.jar
apache-tomcat-6.0.32/bin/startup.sh
apache-tomcat-6.0.32/bin/version.sh
apache-tomcat-6.0.32/bin/bootstrap.jar
apache-tomcat-6.0.32/bin/catalina-tasks.xml
apache-tomcat-6.0.32/bin/digest.sh
apache-tomcat-6.0.32/bin/commons-logging-tomcat-juli.jar

apache-tomcat-6.0.32/lib/annotations-api.jar
apache-tomcat-6.0.32/lib/tomcat-coyote.jar
apache-tomcat-6.0.32/lib/catalina-ha.jar
apache-tomcat-6.0.32/lib/tomcat-dbcp.jar
apache-tomcat-6.0.32/lib/jasper-jdt.jar
apache-tomcat-6.0.32/lib/catalina-ant.jar
apache-tomcat-6.0.32/lib/tomcat-i18n-ja.jar
apache-tomcat-6.0.32/lib/jasper.jar
apache-tomcat-6.0.32/lib/catalina.jar
apache-tomcat-6.0.32/lib/jasper-el.jar
apache-tomcat-6.0.32/lib/el-api.jar
apache-tomcat-6.0.32/lib/tomcat-i18n-es.jar
apache-tomcat-6.0.32/lib/jsp-api.jar
apache-tomcat-6.0.32/lib/tomcat-i18n-fr.jar
apache-tomcat-6.0.32/lib/servlet-api.jar

{noformat}

Comment 52 David Knox 2011-06-23 16:34:17 UTC
The reorganization of libraries is complete in tomcat[5,6] and consistent. Resolving this issue at least until these builds (or later) are tested.

tomcat5-5.5.33-15_patch_04.ep5.el4
tomcat5-5.5.33-19_patch_04.ep5.el5
tomcat5-5.5.33-16_patch_04.ep5.el6
tomcat6-6.0.32-16_patch_03.ep5.el4
tomcat6-6.0.32-16_patch_03.ep5.el5
tomcat6-6.0.32-15_patch_03.ep5.el6


Comment 53 Aleksandar Kostadinov 2011-06-24 10:41:23 UTC
David, I don't see catalina-ant.jar and tomcat-juli-adapters.jar in zip tomcat6 list above but these are present in rpm list. Is this intentional?

Comment 54 David Knox 2011-06-24 17:57:39 UTC
Aleks, catalina-ant.jar is in (zip) apache-tomcat-6.0.32/lib/catalina-ant.jar, and (rpm) /usr/share/tomcat6/lib

The zip puts tomcat-juli-adapters.jar in apache-tomcat-6.0.32/extras along with log4j.jar 



Comment 55 Aleksandar Kostadinov 2012-06-01 10:04:28 UTC
just FYI (although very delayed) it seems like jakarta regexp is now retired[1] and it is not used in apache tomcat 5.5.x (only 5.0.x)[2]. It was used for request filters [2][3].

[1] http://jakarta.apache.org/regexp/
[2] http://www.kubusz.net/Conan/tomcat5_horsi_verze.pdf
[3] http://www.nxhx.cn/tomcat-docs/class-loader-howto.html

Comment 56 David Knox 2012-06-01 17:50:54 UTC
From Aleksandar's above and the associated email text below, IMO, org.apache.regexp can be removed. The risk is low because the upstream tomcat5 build doesn't require it. I'll pull it asap.

<snip>
"I searched more into apache tomcat 5.5 docs and see that java.util.regex
is used[1]. I went ahead and grepped through tomcat5 as we ship it our
RPMS. I see only one jar referring to org.apache.regexp - ant.jar:
# for i in `find -L /usr/share/tomcat5/ -name "*.jar"`; do if unzip -p
"$i" | grep -q org.apache.regexp; then echo $i; fi; done
/usr/share/tomcat5/common/lib/[ant].jar

On the contrary grepping for java.util.regex yields this:
for i in `find -L /usr/share/tomcat5/ -name "*.jar"`; do if unzip -p
"$i" | grep -q java.util.regex; then echo $i; fi; done
/usr/share/tomcat5/server/webapps/manager/WEB-INF/lib/commons-io.jar
/usr/share/tomcat5/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
/usr/share/tomcat5/server/webapps/admin/WEB-INF/lib/commons-digester.jar
/usr/share/tomcat5/server/lib/[tomcat5][tomcat-http].jar
/usr/share/tomcat5/server/lib/[tomcat5][catalina-optional].jar
/usr/share/tomcat5/server/lib/[tomcat5][catalina-cluster].jar
/usr/share/tomcat5/common/lib/javamail.jar
/usr/share/tomcat5/common/lib/[ant].jar

So I looked at ant.jar that ships with apache ant 1.7.1.
# grep -r org.apache.regexp .
Binary file
./org/apache/tools/ant/util/regexp/RegexpMatcherFactory.class matches
Binary file ./org/apache/tools/ant/util/regexp/RegexpFactory.class matches

These are two classes referring to org.apache.regexp. Looking at their
code shows that first existence of java.util.regex is checked and
org.apache.regexp is used as a last fallback.

[1] http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
<snip>

Comment 57 Aleksandar Kostadinov 2012-06-04 10:15:22 UTC
David, would that jar be gone in next release (whatever errata or minor) or do I need to file a separate bug about that?

Comment 58 David Knox 2012-06-04 15:41:50 UTC
Yes to both. I'd rather have the bz versus continue this JIRA.

Comment 59 RH Bugzilla Integration 2012-06-05 12:34:57 UTC
Aleksandar Kostadinov <akostadi> made a comment on [bug 828820|https://bugzilla.redhat.com/show_bug.cgi?id=828820]

jakarta regexp seems to be an obsolete piece of software. Please see more details in JBPAPP-3900. If anybody needs it, that can be added manually. 

Especially problematic is RPM distribution where there is a broken symlink [regexp].jar

Comment 60 RH Bugzilla Integration 2012-06-05 12:34:57 UTC
Bugzilla Update: Added: Perform


Comment 61 RH Bugzilla Integration 2012-06-05 12:34:58 UTC
Bugzilla References: Added: https://bugzilla.redhat.com/show_bug.cgi?id=828820


Comment 62 David Knox 2012-06-14 17:47:35 UTC
regexp has been removed from the tomcat5 builds. The changes have been committed put won't be pushed until I have a chance to test the install.

Comment 63 Jiri Skrabal 2012-11-13 15:56:33 UTC
Release Notes Docs Status: Removed: Documented as Known Issue 
Release Notes Text: Removed: The libraries provided by Tomcat 5 and 6 differ between the RPM and ZIP distributions. Refer to the JIRA for further details. 


Comment 64 JBoss JIRA Server 2013-01-25 08:11:48 UTC
RH Bugzilla Integration <no-reply> updated the status of jira JBEWS-17 to Closed


Note You need to log in before you can comment on or make changes to this bug.