Apache OpenOffice (AOO) Bugzilla – Issue 27304
windows path foo
Last modified: 2004-04-28 17:09:49 UTC
This small patch makes life nicer on win32 I was getting: /usr/bin:/usr/local/bin -> /usr/bi/cygpath/n/usr/local/bin simply because my path had : 'Program\ Files' type elements in it. simple fix: diff -u -p -u -r1.10.6.6 set_soenv.in --- config_office/set_soenv.in 13 Feb 2004 14:20:17 -0000 1.10.6.6 +++ config_office/set_soenv.in 1 Apr 2004 14:43:17 -0000 @@ -2225,7 +2254,7 @@ sub PosixFormat { $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables twice! if ( ( $variable =~ /\\/ ) and ( $variable =~ /:/ ) ) - { $variable =~ s{([c-z]):}{/cygdrive/$1}gi; + { $variable =~ s{([c-z]):\\}{/cygdrive/$1/}gi; # Map drives to /cgydrive/drive # We do this also for old cygwins, back # replacement in winformat.
mh->vq: are you able to review this ?
vq->mh: Yes. This is correct and fixes a problem with already POSIX pathes that contain "\", e.g. ones with spaces. The patch is correct, but it would be nice to change the if condition to reflect what really is tested: -> if ( $variable =~ /[c-z]:\\/ ) # Find drive letters Besides this patch it would be worthwhile to investigate why/where PosixFormat is called for variables already in posix format. Approved with the change of the if statement.
Committed to cws_srx645_ooo112fix1.
(Win 2003 srv, Cygwin 1.5.9) New version cause problem in variable INCUDE: $ echo $INCLUDE .;e:\\home\\kwart\\OOo\\devel2\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solver\\645\\wntmsci8.pro\\inc;e:\\home\\kwart\\OOo\\devel2\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solenv\\wntmsci8\\inc;e:\\home\\kwart\\OOo\\devel2\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solenv\\inc;C;;e:\\MICROS~1.NET\\VC7\\include;c:\\j2sdk1.4.2_04\\include;c:\\j2sdk1.4.2_04\\include\\win32 In previous version: $ echo $INCLUDE .;e:\\home\\kwart\\OOo\\devel\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solver\\645\\wntmsci8.pro\\inc;e:\\home\\kwart\\OOo\\devel\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solenv\\wntmsci8\\inc;e:\\home\\kwart\\OOo\\devel\\BuildDir\\ooo_cws_srx645_ooo112fix1_src\\solenv\\inc;c:\\PROGRA~1\\MICROS~2\\include;e:\\MICROS~1.NET\\VC7\\include;c:\\j2sdk1.4.2_04\\include;c:\\j2sdk1.4.2_04\\include\\win32 => in new version is only "C" instead of "c:\\PROGRA~1\\MICROS~2\\include" (path to MS PSDK)
So new version of set_soenv.in is the problem -> reopening.
No, I don't think so, $variable =~ s{([c-z]):\\}{/cygdrive/$1/}gi; is not able to remove c:\\PROGRA~1\\MICROS~2\\include. To solve this, we need the PATH and all commandline for configure. And the output of the configure command.
I replaced 2 changed lines with older version and it works. if ( ( $variable =~ /\\/ ) and ( $variable =~ /:/ ) ) { $variable =~ s{([c-z]):}{/cygdrive/$1}gi; So the problem has to be in the following 2 lines. if ( $variable =~ /[c-z]:\\/ ) { $variable =~ s{([c-z]):\\}{/cygdrive/$1/}gi;
Sorry, my fault. I missed the check for capital drive letters (C:), now it works. Committed!
verified
close