|Summary:||brp-java-repack-jars is modifying jar contents that breaks application|
|Product:||[Fedora] Fedora||Reporter:||Ben Konrath <ben>|
|Component:||redhat-rpm-config||Assignee:||Ben Konrath <ben>|
|Status:||CLOSED CURRENTRELEASE||QA Contact:|
|Version:||6||CC:||dbhole, jcm, viveklak|
|Fixed In Version:||8.0.45-9.fc6||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2007-04-02 13:47:05 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Ben Konrath 2007-03-28 06:11:25 UTC
From bug #227721: Description of problem: brp-java-repack-jars is a post processing script run after each rpm build. It's job is to squash date differences between jars and jar contents so that multi-lib packages do not throw errors. In it's current state, the script unpacks jars, changes dates, and then packs the files again using 'zip'. However, it does not re-pack the directories in the jars (directories are treated as separate entries in a zip). As a result, if there is an associated INDEX.LIST file in the jar, the index contents will not match the jar contents, causing the classloader to throw an exception and abort. Version-Release number of selected component (if applicable): All How reproducible: Always Steps to Reproduce: 1. Build the tomcat5 rpm 2. Install the built rpm 3. Start the tomcat5 service with a proprietary JVM Actual results: Service does not start. The log (/var/log/tomcat5/catalina.out) shows an invalid index exception. Expected results: Service should start, and the log should have no exceptions. Additional info: We have a fix that we are currently verifying. After the fix is in, tomcat5, antlr, mysql-connector-java and jakarta-commons-modeler will need to be rebuilt.
Comment 1 Ben Konrath 2007-03-28 06:14:10 UTC
Deepak, Will I need to push an update for tomcat5, antlr, mysql-connector-java and jakarta-commons-modeler after the update to redhat-rpm-config goes out in FC6?
Comment 2 Ben Konrath 2007-03-28 07:36:39 UTC
I just did a local build of tomcat5-5.5.17-8jpp.1 (latest in FC-6 cvs) with the fixed redhat-rpm-config (8.0.45-9.fc6) and I get this problem when I try to start it: % sudo service tomcat5 start Starting tomcat5: runuser: warning: cannot change directory to /usr/share/tomcat5: Permission denied /etc/profile.d/colorls.sh: line 14: dircolors: command not found /etc/profile.d/krb5.sh: line 5: /usr/bin/id: Permission denied /etc/profile.d/krb5.sh: line 5: [: =: unary operator expected -bash: /usr/share/tomcat5/.bash_profile: Permission denied -bash: /usr/bin/dtomcat5: Permission denied [FAILED] I get the same problem with tomcat5-5.5.17-6jpp.2 (orginally shipped with FC-6 final). Am I doing something wrong here? The fixed redhat-rpm-config (8.0.45-9.fc6) should show up in updates-testing soon.
Comment 3 Deepak Bhole 2007-03-28 14:57:59 UTC
Vivek, please see comments above re: tomcat5
Comment 4 Vivek Lakshmanan 2007-03-28 15:55:55 UTC
Tried the same thing on a local FC-6 machine with tomcat5-5.5.17-6jpp.2: $ rpm -q tomcat5 tomcat5-5.5.17-6jpp.2 $ cat /etc/redhat-release Fedora Core release 6 (Zod) $ sudo service tomcat5 start Starting tomcat5: Using CATALINA_BASE: /usr/share/tomcat5 Using CATALINA_HOME: /usr/share/tomcat5 Using CATALINA_TMPDIR: /usr/share/tomcat5/temp Using JRE_HOME: [ OK ] I can verify that tomcat5 is up and running Must be something with your environment...
Comment 5 Ben Konrath 2007-03-29 06:49:25 UTC
Ok, I found a different box that has a working tomcat. To test the brp-java-repack-jars script I installed redhat-rpm-config-8.0.45-9.fc6, re-compiled tomcat5-5.5.17-6jpp.3 (just bumped the version number of tomcat5-5.5.17-6jpp.2) and installed it. I was able to start tomcat from tomcat5-5.5.17-6jpp.3 so redhat-rpm-config-8.0.45-9.fc6 does indeed fix the problem. I am going to request redhat-rpm-config-8.0.45-9.fc6 go out to final.