Bug 1011591

Summary: Manual patch instructions and contents inaccurate
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Marek Winkler <mwinkler>
Component: Patch ProcessAssignee: nwallace <nwallace>
Status: VERIFIED --- QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.1   
Target Milestone: GA   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 986451    
Attachments:
Description Flags
README.txt with comments
none
backup.sh - script used for testing manual patch instructions
none
remove.sh - script used for testing manual patch instructions
none
patch.sh - script used for testing manual patch instructions none

Description Marek Winkler 2013-09-24 15:12:18 UTC
Created attachment 802298 [details]
README.txt with comments

Description of problem:

The contents of manual patch (BZ-986451.zip) in the Roll Up Patch BRMS_5.3.1_3_2013 is inconsistent. There are two problems:

1. Manual patch instructions (README.txt) in Roll Up Patch BRMS_5.3.1_3_2013 are not accurate. Some files are missing and a few file paths are wrong - please see the attached README.txt with comments and suggested fixes.

2. The same Drools libraries jars placed in several subdirectories of the patch have different content. For example:

md5sum BZ986451/drools-compiler-5.3.1.BRMS-P04.jar
4190e8086de6fe812f0d8fecc8c0d0f7  BZ986451/drools-compiler-5.3.1.BRMS-P04.jar

md5sum BZ986451/business-central-server.war/WEB-INF/lib/drools-compiler-5.3.1.BRMS-P04.jar
702546df7e9f561f27fa1976666d8d46  BZ986451/business-central-server.war/WEB-INF/lib/drools-compiler-5.3.1.BRMS-P04.jar

This affects the following jars:

drools-compiler-5.3.1.BRMS-P04.jar
drools-core-5.3.1.BRMS-P04.jar
jbpm-flow-5.3.1.BRMS-P04.jar

These jars are also different (MD5 sums differ) from their counterparts in brms-p-5.3.1.GA-standalone.zip in this roll-up patch.

The BZ986451/commons-httpclient.jar which is copied into $REST_HOME/lib/ and $SEAM_HOME/lib is different (MD5 sums differ) from the commons-httpclient.jar distributed in brms-p-5.3.1.GA-standalone.zip in this roll-up patch. I am not sure if this is intended, though.


Version-Release number of selected component (if applicable):

5.3.1.BRMS-P04

Comment 1 Marek Winkler 2013-09-25 08:19:41 UTC
I have investigated the jar differences in detail:

drools-compiler-5.3.1.BRMS-P04.jar - the only difference is timestamps, which is not an issue

drools-core-5.3.1.BRMS-P04.jar, jbpm-flow-5.3.1.BRMS-P04.jar - these two jars differ from their counterparts not only in timestamps, but some classes they contain are actually different

commons-httpclient.jar - one class is different when comparing with its counterparts in $REST_HOME/lib/ and $SEAM_HOME/lib

I can attach diff output, if needed.

Comment 2 Marek Winkler 2013-09-25 08:23:12 UTC
Created attachment 802635 [details]
backup.sh - script used for testing manual patch instructions

Comment 3 Marek Winkler 2013-09-25 08:23:48 UTC
Created attachment 802636 [details]
remove.sh - script used for testing manual patch instructions

Comment 4 Marek Winkler 2013-09-25 08:24:21 UTC
Created attachment 802637 [details]
patch.sh - script used for testing manual patch instructions

Comment 5 Marek Winkler 2013-09-25 08:41:23 UTC
In case you could use some (really basic) scripts for testing manual patch instructions, I have attached 3 scripts that I used to verify patching of standalone distribution.

Please update the variables defining file locations in each script first.

The scripts are run in the following order against BRMS 5.3.1 GA standalone:

- backup.sh - copies original versions of jars being patched from the standalone distribution into a directory specified in the script
- remove.sh - deletes the old versions of jars being patched from the standalone distribution
- patch.sh - copies patched jars into the standalone distribution

The scripts should not print any warnings.

Comment 6 Marek Winkler 2013-09-26 08:55:19 UTC
I have found another problem with manual patch: 

BZ986451/business-central-server-ee6.war/WEB-INF/lib does not contain the following jars (while BZ986451/business-central-server.war/WEB-INF/lib contains them):

- drools-core-5.3.1.BRMS-P04.jar
- jbpm-flow-5.3.1.BRMS-P04.jar
- jbpm-flow-builder-5.3.1.BRMS-P04.jar
- jbpm-gwt-core-5.3.1.BRMS-P04.jar
- jbpm-gwt-form-5.3.1.BRMS-P04.jar
- jbpm-human-task-5.3.1.BRMS-P04.jar

Comment 7 nwallace 2013-09-26 11:02:16 UTC
Ok, jars are in BZ986451/business-central-server-ee6.war/WEB-INF/lib now.

Comment 8 Marek Winkler 2013-09-27 05:20:44 UTC
After sorting out a few additional inaccuracies patch instructions, I have verified that the patch instructions are now correct, and manually patching 5.3.1.GA leads to a binary equivalent to the one distributed in the 5.3.1-P04 patch.