Bug 1035866

Summary: User cannot use relative path in automatic installation (windows)
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Petr Kremensky <pkremens>
Component: InstallerAssignee: Thomas Hauser <thauser>
Status: CLOSED CURRENTRELEASE QA Contact: Petr Kremensky <pkremens>
Severity: low Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: mtjandra, rsvoboda
Target Milestone: ---   
Target Release: EAP 6.3.0   
Hardware: Unspecified   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-28 15:40:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
installation scrip none

Description Petr Kremensky 2013-11-28 16:50:04 UTC
Description of problem:
Previously, we were able to use single auto.xml file with relative installation path (could contain normal slash as file separator) to install EAP on all supported platforms, but automated installation on windows will fail now because of path validation.

Version-Release number of selected component (if applicable):
 EAP 6.2.0.CR3.1

How reproducible:
 Always

Steps to Reproduce:
 1. Copy installer and auto.xml file from attachment into same location.
 2. Run: > java -jar jboss-eap-6.2.0.CR3.1-installer.jar auto.xml

Actual results:
 Installation will fail with:
Please do not use a path that contains special characters (; | [ ] :), as this may cause problems for some installed components, also ensure there are no consecutive spaces.
[ Automated installation FAILED! ]

Expected results:
 Relative path can be used in auto.xml to install EAP on windows again.

Comment 1 Miles Tjandrawidjaja 2013-11-28 19:28:26 UTC
Have allowed "/" to be used for the install path if you modify it.

http://git.app.eng.bos.redhat.com/izpack.git/commit/?h=izpack-wip&id=c6830e2e3375663d1d19bc4f7b074b308b266e77

Comment 2 Petr Kremensky 2014-05-14 09:20:28 UTC
This still fails with 6.3.0.ER4 on windows, however we changed our automation long time ago to workaround this and since there is no other requirement for this I would close it. What do you think Miles?

Comment 3 Miles Tjandrawidjaja 2014-05-14 14:00:36 UTC
Hello,

If relative paths are no longer a requirement I would agree to have this closed.

Otherwise could you please specify how the relative path would be defined. Would the relative path be based on the user's current directory or where the auto.xml is located (this may not be intuitive to the user unless is documented somewhere)? Also I would think the path have to start with ".." or "<some_valid_characters>".

Comment 4 Miles Tjandrawidjaja 2014-05-14 14:52:50 UTC
Starting from C:\Users\John\Desktop

With relative path
<installpath>help\John\q\copy/me</installpath>

Installation was located in  C:\Users\John\Desktop\help\John\q\copy\me
See also https://bugzilla.redhat.com/show_bug.cgi?id=1063253

Comment 5 Petr Kremensky 2014-05-15 05:36:00 UTC
Created attachment 895712 [details]
installation scrip

Comment 6 Petr Kremensky 2014-05-15 05:49:14 UTC
Trying to use installation script from attachment 895712 [details] (<installpath>test\test</installpath>) I see:

W:\>java -jar jboss-eap-6.3.0.ER4-installer.jar auto.xml
[ Starting automated installation ]
Please do not use a path that contains special characters such as (; | [ ] :) or multiple consecutive spaces, as this may cause problems for
 some installed components.
[ Automated installation FAILED! ]

I would expect that installer will use relative path based upon user's current directory, but as you've said, this might not be intuitive for everyone so I would create documentation BZ once we resolve this.

I think it should work like:
On Unix:
- path is starting with '/' -> absolute path
- path is starting with <String> or ../ -> relative

On Windows:
- path is starting with '[a-Z]:\' absolute path
- path is starting with <String> or ..\ -> relative

with some kind of standard validation (it is writeable, doesn't contain illegal chars, you know the rest :) )

We have to cover also some special case like './test', but again, we can specify what cases are supported and add this to the documentation. There is already a chapter dedicated to the automatic installation script usage [1] (however as you can see, doc team didn't touch it for a very long time :/).

[1] - http://documentation-devel.engineering.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.3/html/Installation_Guide/sect-Automated_Installation.html

Comment 7 Petr Kremensky 2014-05-15 08:51:28 UTC
See bug 1063253, comment 3

Comment 8 Petr Kremensky 2014-06-02 07:20:48 UTC
Fix for BZ1063253 [1] covers also this issue. 

Verified on EAP 6.3.0.ER5 installer.

[1] - https://code.engineering.redhat.com/gerrit/gitweb?p=izpack.git;a=commit;h=4c86693618afb49078b229237e33c34ad1ee0051