Knut Anders Hatlen wrote:
-1

All the ksh scripts are have CRLF line terminators and therefore don't
work under unix.

% ksh ij.ksh
ij.ksh[13]: ^M:  not found
ij.ksh[15]: ^M:  not found
ij.ksh[16]: {^M:  not found
ij.ksh[17]: 
/tmp/derbyrc/db-derby-10.1.2.0-bin/frameworks/embedded/bin/setEmbeddedCP.ksh^M: 
 not found

In addition, frameworks/readme.html says:

  To use the scripts for a particular framework, modify the scripts as
  necessary and put that framework's bin subdirectory first in your
  path.

This won't work since the scripts don't have the executable bit set.

The quick solution is running this before packaging:

  find . -name "*.ksh" | xargs perl -pi -e 's/\r\n/\n/g'
  find . -name "*.ksh" | xargs chmod 755

The right solution is fixing DERBY-330.

Following up on this, I think the recommended property list at http://www.apache.org/dev/svn-eol-style.txt contains errors. Platform-specific files should have platform-specific eol-style, so that they will be correct for the deployment platform, whatever the build platform is:

*.bat = svn:eol-style=native  # Should be CRLF
*.sh = svn:eol-style=native # Should be LF

There should also be an entry like this:
*.ksh = svn:eol-style=LF

--
Oyvind Bakksjo
Sun Microsystems, Database Technology Group
Trondheim, Norway
http://weblogs.java.net/blog/bakksjo/

Reply via email to