media.pm (a0a2b094) | media.pm (fb67933c) |
---|---|
1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 229 unchanged lines hidden (view full) --- 238 my @mediatable = (); 239 240 my $diskid = 0; 241 242 installer::windows::idtglobal::write_idt_header(\@mediatable, "media"); 243 244 if ( $allvariables->{'INCLUDE_CAB_IN_MSI'} ) { $installer::globals::include_cab_in_msi = 1; } 245 | 1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 229 unchanged lines hidden (view full) --- 238 my @mediatable = (); 239 240 my $diskid = 0; 241 242 installer::windows::idtglobal::write_idt_header(\@mediatable, "media"); 243 244 if ( $allvariables->{'INCLUDE_CAB_IN_MSI'} ) { $installer::globals::include_cab_in_msi = 1; } 245 |
246 if ( $installer::globals::use_packages_for_cabs ) 247 { 248 my $cabfile; 249 foreach $cabfile ( sort keys %installer::globals::lastsequence ) 250 { 251 my %media = (); 252 $diskid++; 253 254 $media{'DiskId'} = get_media_diskid($diskid); 255 $media{'LastSequence'} = get_last_sequence($cabfile, $alludpatelastsequences); 256 $media{'DiskPrompt'} = get_media_diskprompt(); 257 $media{'Cabinet'} = get_cabfilename($cabfile); 258 $media{'VolumeLabel'} = get_media_volumelabel(); 259 $media{'Source'} = get_media_source(); 260 261 my $oneline = $media{'DiskId'} . "\t" . $media{'LastSequence'} . "\t" . $media{'DiskPrompt'} . "\t" 262 . $media{'Cabinet'} . "\t" . $media{'VolumeLabel'} . "\t" . $media{'Source'} . "\n"; 263 264 push(@mediatable, $oneline); 265 266 # Comparing the disk id with the disk id from update database. Both have to be identical. New files have to be added 267 # to the new pff cabinet file. And existing cab files must not be removed. 268 if ( $installer::globals::updatedatabase ) 269 { 270 # Comparing lines in new media table with line from media table in udpate database. 271 if ( exists($allupdatediskids->{$media{'Cabinet'}}) ) 272 { 273 if ( $media{'DiskId'} != $allupdatediskids->{$media{'Cabinet'}} ) 274 { 275 installer::exiter::exit_program("ERROR: Different DiskIDs for cab file \"$media{'Cabinet'}\".\nCurrent installation set: \"$media{'DiskId'}\", but update database used \"$allupdatediskids->{$media{'Cabinet'}}\".\nWere cabinet files removed or added?", "create_media_table"); 276 } 277 } 278 else 279 { 280 $installer::logger::Lang->printf( 281 "Warning: Could not find cabinet file \"%s}\" in update database. This seems to be an new cabinet file!?\n", 282 $media{'Cabinet'}); 283 } 284 } 285 } 286 287 # one new cabinet file for all files added after the final release 288 if (( $installer::globals::updatedatabase ) && ( $installer::globals::pfffileexists )) 289 { 290 my %media = (); 291 $diskid++; 292 293 $media{'DiskId'} = get_media_diskid($diskid) + $installer::globals::mergemodulenumber; # Adding mergemodulenumber, because this files are included later 294 $media{'LastSequence'} = $installer::globals::updatesequencecounter; 295 $media{'DiskPrompt'} = get_media_diskprompt(); 296 $media{'Cabinet'} = get_cabfilename($installer::globals::pffcabfilename); 297 $media{'VolumeLabel'} = get_media_volumelabel(); 298 $media{'Source'} = get_media_source(); 299 300 my $oneline = $media{'DiskId'} . "\t" . $media{'LastSequence'} . "\t" . $media{'DiskPrompt'} . "\t" 301 . $media{'Cabinet'} . "\t" . $media{'VolumeLabel'} . "\t" . $media{'Source'} . "\n"; 302 303 push(@mediatable, $oneline); 304 } 305 306 } 307 elsif ( $installer::globals::fix_number_of_cab_files ) | 246 if ( $installer::globals::fix_number_of_cab_files ) |
308 { 309 # number of cabfiles 310 my $maxcabfilenumber = $installer::globals::number_of_cabfiles; 311 if ( $allvariables->{'CABFILENUMBER'} ) { $maxcabfilenumber = $allvariables->{'CABFILENUMBER'}; } 312 my $allfiles = $#{$filesref} + 1; 313 my $maxfilenumber = get_maximum_filenumber($allfiles, $maxcabfilenumber); 314 # my $maxfilenumber = 1000; # maximum 1000 files in each cabinet file 315 my $cabfilenumber = 0; --- 72 unchanged lines hidden --- | 247 { 248 # number of cabfiles 249 my $maxcabfilenumber = $installer::globals::number_of_cabfiles; 250 if ( $allvariables->{'CABFILENUMBER'} ) { $maxcabfilenumber = $allvariables->{'CABFILENUMBER'}; } 251 my $allfiles = $#{$filesref} + 1; 252 my $maxfilenumber = get_maximum_filenumber($allfiles, $maxcabfilenumber); 253 # my $maxfilenumber = 1000; # maximum 1000 files in each cabinet file 254 my $cabfilenumber = 0; --- 72 unchanged lines hidden --- |