On Fri, Jan 22, 2010 at 6:01 PM, Dave Korn <dave.korn.cyg...@googlemail.com> wrote: > On 22/01/2010 16:23, Eric Vautier wrote: > >> Let me confirm that the script has not changed at all, and used to >> work fine under the previous version. You'll agree that arriving at a >> C:/cygdrive/c/... path is a little odd, regardless of setup. > > Nope, it's actually entirely sensible! Because ":" is not a drive-letter > separator in Linux; it's a separator between path-list components, like ";" is > under DOS. > > So if you say "C:\foo\bar" in a path-list context, you are specifying a list > of two paths: "C" and "\foo\bar". Cygwin (or whatever utility is doing the > work) translates each one separately and then reconcatenates them. "C" in DOS > is a relative path to any subdirectory called "C" in the current dir; that > stays the same in unix syntax. "\foo\bar" in DOS is an absolute path relative > to the root of the current drive, which, being your C drive, translates into > /cygdrive/c/foo/bar. These two are then reconcatenated into a path list > separted by colons. > > The older version was buggy in this regard, it handled dos paths correctly > at the expense of making a mess of colon-separated posix-style path lists > sometimes. That's why the behaviour has changed, because posix compatibility > wins out over windows compatibility as a design goal of cygwin, and that's why > there's now a warning, to let you know that what you are doing is not going to > work how you want it to.
Right :) So essentially, I have a broken script now, that used to work fine. Remains the challenge: how to fix it for non-buggy 1.7. FYI, the "faulty but perfectly logical" path in one of the two failures (I'll try to trace the other one as well) was arrived at from: 0. Invocation from sh build.sh (mid-script): ant clean get-common debug 1. Output of build script: AndroidApp BUILD FAILED C:\dev\prj\app4\AndroidApp\build.xml:343: Warning: Could not find file C:\cygdrive\c\dev\prj\app4\Common\target\Common.jar to copy. 2. Build target (lines 342-344): <target name="get-common"> <copy file="${common-jar}" todir="libs" /> </target> 3. Properties: <property name="common" location="${env.APP4_COMMON_ROOT}" /> <property name="common-jar" value="${common}/target/Common.jar" /> 4. Environment variable: APP4_COMMON_ROOT = C:\dev\prj\app4\Common Typing "ant clean get-common debug" works fine from the command line. -e -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple