Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-3964

cygpath call in "start" to convert CLASSPATH should first verify it's set

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.2, 3.0.6
    • Component/s: karaf
    • Labels:
      None
    • Environment:

      Windows 7, Cygwin

      Description

      Several of the Karaf scripts have "if $cygwin" blocks that convert some variables to Windows form. If the variable referenced is not set, cygpath will fail with "cygpath: can't convert empty path". The impact is debatable, as the variable after the command will be unset, same as before it, but the error message can be confusing for users.

      Most of these cases are likely dealt with, but one that is not is in the "start" script, for the "CLASSPATH" variable. I don't set a global CLASSPATH value, and I believe it's generally a bad idea to set one.

      The most reasonable fix is to simply not run cygpath if CLASSPATH is not set or is empty. Therefore, change this:

      CLASSPATH=`cygpath --path --windows "$CLASSPATH"`

      to:

      if [ ! -z "$CLASSPATH" ]; then
      CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
      fi

        Attachments

          Activity

            People

            • Assignee:
              jbonofre Jean-Baptiste Onofré
              Reporter:
              dkarr David M. Karr
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: