You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2012/09/11 18:33:07 UTC
[Bug 53852] New: [PATCH] fop shell script botches LOCALCLASSPATH on
Cygwin
https://issues.apache.org/bugzilla/show_bug.cgi?id=53852
Priority: P2
Bug ID: 53852
Assignee: fop-dev@xmlgraphics.apache.org
Summary: [PATCH] fop shell script botches LOCALCLASSPATH on
Cygwin
Severity: normal
Classification: Unclassified
OS: Windows XP
Reporter: markus.hoenicka@mhoenicka.de
Hardware: PC
Status: NEW
Version: 1.1dev
Component: general
Product: Fop
Created attachment 29355
--> https://issues.apache.org/bugzilla/attachment.cgi?id=29355&action=edit
patch to fix $CLASSPATH handling on Cygwin
fop (the shell script, not the product) as of version 1.1rc1 did not work out
of the box on WindowsXP/Cygwin:
CYGWIN_NT-5.1 sbhc123 1.7.16(0.262/5/3) 2012-07-20 22:55 i686 Cygwin
Java died with an exception as it was unable to locate the fop classes. Turned
out that the $CLASSPATH that the script created was invalid.
There were two unrelated reasons:
1. If $CLASSPATH is set to a DOS-style path outside of Cygwin, then an
intermediate version of $LOCALCLASSPATH (before its final conversion to
DOS-style) is a mixture of Unix- and DOS-style paths. This breaks cygpath as it
can't handle mixed-style paths. Unfortunately, some badly programmed softwares
like Quicktime modify $CLASSPATH globally. So any preset $CLASSPATH should be
converted to Unix-style before attaching it to $LOCALCLASSPATH
2. $LOCALCLASSPATH is assembled by collecting .jar files from the /lib subdir
of fop. On Cygwin, the script uses Unix paths and the DOS path separator (:).
This wreaks havoc on $LOCALCLASSPATH if you want to obtain a clean DOS version
of the assembled path. Also, using Unix-style paths and path separators
throughout obviates one conversion step (to Unix-style) before converting
$LOCALCLASSPATH to DOS-style.
The attached patch attempts to fix these problems. The patched script works
fine for me if I set the following environment variables, e.g. in .bashrc:
FOP_HOME=/cygdrive/c/Programme/fop-1.1rc1
JAVA_HOME=/cygdrive/c/Programme/Java/jre7
--
You are receiving this mail because:
You are the assignee for the bug.
[Bug 53852] [PATCH] fop shell script botches LOCALCLASSPATH on
Cygwin
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=53852
--- Comment #1 from Mehdi Houshmand <me...@gmail.com> ---
Hi Markus,
This commit looks ok, but I don't really use Windows much so I'm slightly
reticent in committing it. Could a Windows user take a look?
Thanks
Mehdi
--
You are receiving this mail because:
You are the assignee for the bug.