Lines 36-41
Link Here
|
36 |
package installer::windows::msiglobal; |
36 |
package installer::windows::msiglobal; |
37 |
|
37 |
|
38 |
use Cwd; |
38 |
use Cwd; |
|
|
39 |
use File::Temp qw(tmpnam); |
39 |
use installer::converter; |
40 |
use installer::converter; |
40 |
use installer::exiter; |
41 |
use installer::exiter; |
41 |
use installer::files; |
42 |
use installer::files; |
Lines 129-136
Link Here
|
129 |
|
130 |
|
130 |
if ( $^O =~ /cygwin/i ) |
131 |
if ( $^O =~ /cygwin/i ) |
131 |
{ |
132 |
{ |
132 |
$windowstemppath =~ s/\\/\\\\/g; |
133 |
$windowstemppath = $installer::globals::cyg_temppath; |
133 |
chomp( $windowstemppath = qx{cygpath -w "$windowstemppath"} ); |
|
|
134 |
} |
134 |
} |
135 |
|
135 |
|
136 |
$sourcepath =~ s/\Q$windowstemppath\E//; |
136 |
$sourcepath =~ s/\Q$windowstemppath\E//; |
Lines 157-167
Link Here
|
157 |
|
157 |
|
158 |
if (( $installer::globals::cab_file_per_component ) || ( $installer::globals::fix_number_of_cab_files )) |
158 |
if (( $installer::globals::cab_file_per_component ) || ( $installer::globals::fix_number_of_cab_files )) |
159 |
{ |
159 |
{ |
|
|
160 |
if ( $^O =~ /cygwin/i ) |
161 |
{ |
162 |
my ($tmpfilehandle, $tmpfilename) = tmpnam(); |
163 |
my $onefile; |
164 |
open SOURCEPATHLIST, ">$tmpfilename" or die "oops...\n"; |
165 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
166 |
{ |
167 |
$onefile = ${$filesref}[$i]; |
168 |
print SOURCEPATHLIST "$onefile->{'sourcepath'}\n"; |
169 |
# print "writing ".$onefile->{'sourcepath'}." to file\n"; |
170 |
} |
171 |
close SOURCEPATHLIST; |
172 |
my @cyg_sourcepathlist = qx{cygpath -w -f "$tmpfilename"}; |
173 |
chomp @cyg_sourcepathlist; |
174 |
unlink "$tmpfilename" or die "oops\n"; |
175 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
176 |
{ |
177 |
my $onefile = ${$filesref}[$i]; |
178 |
$onefile->{'cyg_sourcepath'} = $cyg_sourcepathlist[$i]; |
179 |
# print "inserting $cyg_sourcepathlist[$i]\n"; |
180 |
} |
181 |
} |
182 |
|
160 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
183 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
161 |
{ |
184 |
{ |
162 |
my $onefile = ${$filesref}[$i]; |
185 |
my $onefile = ${$filesref}[$i]; |
163 |
my $cabinetfile = $onefile->{'cabinet'}; |
186 |
my $cabinetfile = $onefile->{'cabinet'}; |
164 |
my $sourcepath = $onefile->{'sourcepath'}; |
187 |
my $sourcepath = $onefile->{'sourcepath'}; |
|
|
188 |
if ( $^O =~ /cygwin/i ) { $sourcepath = $onefile->{'cyg_sourcepath'}; } |
189 |
# if ( $^O =~ /cygwin/i ) { print "$sourcepath\n"; } |
165 |
my $uniquename = $onefile->{'uniquename'}; |
190 |
my $uniquename = $onefile->{'uniquename'}; |
166 |
|
191 |
|
167 |
my $styles = ""; |
192 |
my $styles = ""; |
Lines 169-175
Link Here
|
169 |
if ( $onefile->{'Styles'} ) { $styles = $onefile->{'Styles'}; }; |
194 |
if ( $onefile->{'Styles'} ) { $styles = $onefile->{'Styles'}; }; |
170 |
if ( $styles =~ /\bDONT_PACK\b/ ) { $doinclude = 0; } |
195 |
if ( $styles =~ /\bDONT_PACK\b/ ) { $doinclude = 0; } |
171 |
|
196 |
|
172 |
if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
197 |
# if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
173 |
|
198 |
|
174 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |
199 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |
175 |
if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'} ) { $sourcepath = make_relative_ddf_path($sourcepath); } |
200 |
if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'} ) { $sourcepath = make_relative_ddf_path($sourcepath); } |
Lines 191-197
Link Here
|
191 |
while ( $nextcabinetfile eq $cabinetfile ) |
216 |
while ( $nextcabinetfile eq $cabinetfile ) |
192 |
{ |
217 |
{ |
193 |
$sourcepath = $nextfile->{'sourcepath'}; |
218 |
$sourcepath = $nextfile->{'sourcepath'}; |
194 |
if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
219 |
if ( $^O =~ /cygwin/i ) { $sourcepath = $nextfile->{'cyg_sourcepath'}; } |
|
|
220 |
if ( $^O =~ /cygwin/i ) { print "$sourcepath\n"; } |
221 |
# if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
195 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |
222 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |
196 |
if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'} ) { $sourcepath = make_relative_ddf_path($sourcepath); } |
223 |
if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'} ) { $sourcepath = make_relative_ddf_path($sourcepath); } |
197 |
$uniquename = $nextfile->{'uniquename'}; |
224 |
$uniquename = $nextfile->{'uniquename'}; |
Lines 237-248
Link Here
|
237 |
|
264 |
|
238 |
my $cabinetfile = ""; |
265 |
my $cabinetfile = ""; |
239 |
|
266 |
|
|
|
267 |
if ( $^O =~ /cygwin/i ) |
268 |
{ |
269 |
my ($tmpfilehandle, $tmpfilename) = tmpnam(); |
270 |
my $onefile; |
271 |
open SOURCEPATHLIST, ">$tmpfilename" or die "oops...\n"; |
272 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
273 |
{ |
274 |
$onefile = ${$filesref}[$i]; |
275 |
print SOURCEPATHLIST "$onefile->{'sourcepath'}\n"; |
276 |
# print "writing ".$onefile->{'sourcepath'}." to file\n"; |
277 |
} |
278 |
close SOURCEPATHLIST; |
279 |
my @cyg_sourcepathlist = qx{cygpath -w -f "$tmpfilename"}; |
280 |
chomp @cyg_sourcepathlist; |
281 |
unlink "$tmpfilename" or die "oops\n"; |
282 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
283 |
{ |
284 |
my $onefile = ${$filesref}[$i]; |
285 |
$onefile->{'cyg_sourcepath'} = $cyg_sourcepathlist[$i]; |
286 |
# print "inserting $cyg_sourcepathlist[$i]\n"; |
287 |
} |
288 |
} |
240 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
289 |
for ( my $i = 0; $i <= $#{$filesref}; $i++ ) |
241 |
{ |
290 |
{ |
|
|
291 |
print "second: - $i\n"; |
242 |
my $onefile = ${$filesref}[$i]; |
292 |
my $onefile = ${$filesref}[$i]; |
243 |
$cabinetfile = $onefile->{'cabinet'}; |
293 |
$cabinetfile = $onefile->{'cabinet'}; |
244 |
my $sourcepath = $onefile->{'sourcepath'}; |
294 |
my $sourcepath = $onefile->{'sourcepath'}; |
245 |
if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
295 |
if ( $^O =~ /cygwin/i ) { $sourcepath = $onefile->{'cyg_sourcepath'}; } |
|
|
296 |
# if ( $^O =~ /cygwin/i ) { chomp( $sourcepath = qx{cygpath -w "$sourcepath"} ); } |
246 |
my $uniquename = $onefile->{'uniquename'}; |
297 |
my $uniquename = $onefile->{'uniquename'}; |
247 |
|
298 |
|
248 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |
299 |
# to avoid lines with more than 256 characters, it can be useful to use relative pathes |